From 9c17b97cd0f83be3fff9fa4e87fd1d29052ea616 Mon Sep 17 00:00:00 2001 From: Paul Duncan Date: Fri, 4 Feb 2022 00:35:31 -0500 Subject: rename to github.com/pablotron/cvez, remove internal libs --- internal/feed/cveid_test.go | 295 -------------------------------------------- 1 file changed, 295 deletions(-) delete mode 100644 internal/feed/cveid_test.go (limited to 'internal/feed/cveid_test.go') diff --git a/internal/feed/cveid_test.go b/internal/feed/cveid_test.go deleted file mode 100644 index 8df3642..0000000 --- a/internal/feed/cveid_test.go +++ /dev/null @@ -1,295 +0,0 @@ -package feed - -import ( - "encoding/json" - "fmt" - "strconv" - "testing" -) - -func TestParseCveIdYear(t *testing.T) { - if got, err := parseCveIdYear("asdf"); err == nil { - t.Errorf("got %d, exp error", got) - return - } - - goodTests := []struct { - val string - exp uint16 - } { - { "2000", 2000 }, - { "2001", 2001 }, - { "2100", 2100 }, - } - - for _, test := range(goodTests) { - t.Run(test.val, func(t *testing.T) { - got, err := parseCveIdYear(test.val) - if err != nil { - t.Error(err) - return - } - - if got != test.exp { - t.Errorf("got %d, exp %d", got, test.exp) - return - } - }) - } - - badTests := []struct { - val string - exp string - } { - { "0000", "year out of bounds: 0000" }, - { "0001", "year out of bounds: 0001" }, - { "1999", "year out of bounds: 1999" }, - { "2128", "year out of bounds: 2128" }, - { "9999", "year out of bounds: 9999" }, - } - - for _, test := range(badTests) { - t.Run(test.val, func(t *testing.T) { - if got, err := parseCveIdYear(test.val); err == nil { - t.Errorf("got %d, exp error", got) - return - } else if err.Error() != test.exp { - t.Errorf("got \"%s\", exp \"%s\"", err.Error(), test.exp) - } - }) - } -} - -func TestParseCveIdNum(t *testing.T) { - if got, err := parseCveIdNum("asdf"); err == nil { - t.Errorf("got %d, exp error", got) - return - } - - goodTests := []struct { - val string - exp uint32 - } { - { "0", 0 }, - { "0001", 1 }, - { "2100", 2100 }, - { "999999", 999999 }, - { "33554431", 33554431 }, - } - - for _, test := range(goodTests) { - t.Run(test.val, func(t *testing.T) { - got, err := parseCveIdNum(test.val) - if err != nil { - t.Error(err) - return - } - - if got != test.exp { - t.Errorf("got %d, exp %d", got, test.exp) - return - } - }) - } - - badTests := []struct { - val string - exp string - } { - { "33554432", "number out of bounds: 33554432" }, - { "99999999", "number out of bounds: 99999999" }, - } - - for _, test := range(badTests) { - t.Run(test.val, func(t *testing.T) { - if got, err := parseCveIdNum(test.val); err == nil { - t.Errorf("got %d, exp error", got) - } else if err.Error() != test.exp { - t.Errorf("got \"%s\", exp \"%s\"", err.Error(), test.exp) - } - }) - } -} - -func TestNewCveId(t *testing.T) { - badMatchTests := []string { - "", - "\nCVE-2002-1234", - "CVE-2002-1234\n", - "CVE20021234\n", - "asdf", - } - - for _, test := range(badMatchTests) { - t.Run(test, func(t *testing.T) { - exp := fmt.Sprintf("invalid CVE ID: %s", test) - if got, err := NewCveId(test); err == nil { - t.Errorf("got %s, exp error", got) - } else if err.Error() != exp { - t.Errorf("got \"%s\", exp \"%s\"", err.Error(), exp) - } - }) - } - - badYearTests := []struct { - val string - exp string - } { - { "CVE-0000-1234", "year out of bounds: 0000" }, - { "CVE-1999-1234", "year out of bounds: 1999" }, - { "CVE-2128-1234", "year out of bounds: 2128" }, - { "CVE-9999-1234", "year out of bounds: 9999" }, - } - - for _, test := range(badYearTests) { - t.Run(test.val, func(t *testing.T) { - if got, err := NewCveId(test.val); err == nil { - t.Errorf("got %s, exp error", got) - } else if err.Error() != test.exp { - t.Errorf("got \"%s\", exp \"%s\"", err.Error(), test.exp) - } - }) - } - - badNumTests := []struct { - val string - exp string - } { - { "CVE-2000-33554432", "number out of bounds: 33554432" }, - { "CVE-2000-99999999", "number out of bounds: 99999999" }, - } - - for _, test := range(badNumTests) { - t.Run(test.val, func(t *testing.T) { - if got, err := NewCveId(test.val); err == nil { - t.Errorf("got %s, exp error", got) - } else if err.Error() != test.exp { - t.Errorf("got \"%s\", exp \"%s\"", err.Error(), test.exp) - } - }) - } - - goodTests := []string { - "CVE-2000-0", - "CVE-2127-0", - "CVE-2000-33554431", - "CVE-2127-33554431", - } - - for _, val := range(goodTests) { - t.Run(val, func(t *testing.T) { - if _, err := NewCveId(val); err != nil { - t.Error(err) - } - }) - } -} -func TestCveIdYear(t *testing.T) { - for year := 2000; year < 2127; year++ { - t.Run(strconv.FormatInt(int64(year), 10), func(t *testing.T) { - // expected value - exp := uint16(year) - - // build cve id, check for error - id, err := NewCveId(fmt.Sprintf("CVE-%04d-0000", year)) - if err != nil { - t.Error(err) - return - } - - // check year - got := id.Year() - if got != exp { - t.Errorf("got %d, exp %d", got, exp) - } - }) - } -} - -func TestCveIdNumber(t *testing.T) { - for num := 0; num < 99999; num++ { - t.Run(strconv.FormatInt(int64(num), 10), func(t *testing.T) { - // expected value - exp := uint32(num) - - // build cve id, check for error - id, err := NewCveId(fmt.Sprintf("CVE-2000-%04d", num)) - if err != nil { - t.Error(err) - return - } - - // check number - got := id.Number() - if got != exp { - t.Errorf("got %d, exp %d", got, exp) - } - }) - } -} - -func TestCveIdUnmarshalInvalidData(t *testing.T) { - test := []byte(`{}`) - var val CveId - - if err := json.Unmarshal(test, &val); err == nil { - t.Errorf("got \"%s\", exp error", val) - } -} - -func TestCveIdUnmarshalUnknown(t *testing.T) { - test := []byte(`"foo"`) - exp := "invalid CVE ID: foo" - var val CveId - - err := json.Unmarshal(test, &val) - if err == nil { - t.Errorf("got \"%s\", exp error", val) - return - } - - if err.Error() != exp { - t.Errorf("got \"%s\", exp \"%s\"", err.Error(), exp) - } -} - -func TestCveIdUnmarshalValid(t *testing.T) { - tests := []struct { - val string - expYear uint16 - expNum uint32 - exp string - } { - { "\"CVE-2000-0\"", 2000, 0, "CVE-2000-0000" }, - { "\"CVE-2000-1234\"", 2000, 1234, "CVE-2000-1234" }, - { "\"CVE-2000-33554431\"", 2000, 33554431, "CVE-2000-33554431" }, - { "\"CVE-2127-0\"", 2127, 0, "CVE-2127-0000" }, - { "\"CVE-2127-1234\"", 2127, 1234, "CVE-2127-1234" }, - { "\"CVE-2127-33554431\"", 2127, 33554431, "CVE-2127-33554431" }, - } - - for _, test := range(tests) { - t.Run(test.val, func(t *testing.T) { - var got CveId - if err := json.Unmarshal([]byte(test.val), &got); err != nil { - t.Error(err) - return - } - - // check year - if got.Year() != test.expYear { - t.Errorf("got \"%d\", exp \"%d\"", got.Year(), test.expYear) - } - - // check year - if got.Number() != test.expNum { - t.Errorf("got \"%d\", exp \"%d\"", got.Number(), test.expNum) - } - - // check string - if got.String() != test.exp { - t.Errorf("got \"%s\", exp \"%s\"", got.String(), test.exp) - } - }) - } -} -- cgit v1.2.3