dockerfiles/k8scan/main_test.go

63 lines
1.4 KiB
Go
Raw Normal View History

package main
import (
"testing"
"github.com/google/go-cmp/cmp"
)
func TestARINResponse(t *testing.T) {
info, err := getIPInfo("104.40.92.107")
if err != nil {
t.Fatal(err)
}
if info.Net.Organization.Handle != "MSFT" {
t.Fatalf("expected handle to be MSFT, got %s", info.Net.Organization.Handle)
}
if info.Net.Organization.Name != "Microsoft Corporation" {
t.Fatalf("expected handle to be Microsoft Corporation, got %s", info.Net.Organization.Name)
}
if info.Net.Organization.Reference != "https://whois.arin.net/rest/org/MSFT" {
t.Fatalf("expected reference to be https://whois.arin.net/rest/org/MSFT, got %s", info.Net.Organization.Reference)
}
}
func TestParsePortRange(t *testing.T) {
testFuncs := []struct {
given string
expected intSlice
}{
{
given: "",
expected: intSlice{80, 443, 8001, 9001},
},
{
given: "80,443,9090",
expected: intSlice{80, 443, 9090},
},
{
given: "80-90",
expected: intSlice{80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90},
},
{
given: "22-24,80,8080-8083",
expected: intSlice{22, 23, 24, 80, 8080, 8081, 8082, 8083},
},
{
given: "80",
expected: intSlice{80},
},
}
for _, testFunc := range testFuncs {
i := intSlice{}
if err := i.Set(testFunc.given); err != nil {
t.Fatal(err)
}
if !cmp.Equal(testFunc.expected, i) {
t.Fatalf("expected: %#v\ngot: %#v", testFunc.expected, i)
}
}
}