aboutsummaryrefslogtreecommitdiff
path: root/internal/feed/vector_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/feed/vector_test.go')
-rw-r--r--internal/feed/vector_test.go99
1 files changed, 0 insertions, 99 deletions
diff --git a/internal/feed/vector_test.go b/internal/feed/vector_test.go
deleted file mode 100644
index 5dee8ba..0000000
--- a/internal/feed/vector_test.go
+++ /dev/null
@@ -1,99 +0,0 @@
-package feed
-
-import (
- "encoding/json"
- "nvd/internal/cvss"
- "testing"
-)
-
-func TestVectorUnmarshalInvalidData(t *testing.T) {
- test := []byte(`{}`)
- var val Vector
-
- if err := json.Unmarshal(test, &val); err == nil {
- t.Errorf("got \"%s\", exp error", val)
- }
-}
-
-func TestVectorUnmarshalJSON(t *testing.T) {
- failTests := []struct {
- val string
- exp string
- } {
- {
- val: "\"AV:N/junk/Au:S/C:P/I:P/A:P\"",
- exp: "invalid CVSS vector: AV:N/junk/Au:S/C:P/I:P/A:P",
- }, {
- val: "\"CVSS:3.0/junk/AC:H/PR:H/UI:R/S:U/C:H/I:H/A:H\"",
- exp: "invalid CVSS vector: CVSS:3.0/junk/AC:H/PR:H/UI:R/S:U/C:H/I:H/A:H",
- }, {
- val: "\"CVSS:3.1/AV:A/junk/PR:N/UI:N/S:U/C:H/I:H/A:H\"",
- exp: "invalid CVSS vector: CVSS:3.1/AV:A/junk/PR:N/UI:N/S:U/C:H/I:H/A:H",
- },
- }
-
- for _, test := range(failTests) {
- t.Run(test.val, func(t *testing.T) {
- var got Vector
-
- if err := json.Unmarshal([]byte(test.val), &got); err == nil {
- t.Errorf("got \"%v\", exp error", got)
- } else if err.Error() != test.exp {
- t.Errorf("got \"%s\", exp \"%s\"", err.Error(), test.exp)
- }
- })
- }
-
- passTests := []string {
- "AV:N/AC:M/Au:S/C:P/I:P/A:P",
- "CVSS:3.0/AV:A/AC:H/PR:H/UI:R/S:U/C:H/I:H/A:H",
- "CVSS:3.1/AV:A/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H",
- }
-
- for _, val := range(passTests) {
- t.Run(val, func(t *testing.T) {
- var got Vector
-
- if err := json.Unmarshal([]byte("\"" + val + "\""), &got); err != nil {
- t.Error(err)
- } else if got.Vector.String() != val {
- t.Errorf("got \"%s\", exp \"%s\"", got.Vector.String(), val)
- }
- })
- }
-}
-
-func TestVectorMarshalJSON(t *testing.T) {
- tests := []string {
- "AV:N/AC:M/Au:S/C:P/I:P/A:P",
- "CVSS:3.0/AV:A/AC:H/PR:H/UI:R/S:U/C:H/I:H/A:H",
- "CVSS:3.1/AV:A/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H",
- }
-
- for _, val := range(tests) {
- t.Run(val, func(t *testing.T) {
- // get expected string
- exp := "\"" + val + "\""
-
- // create inner vector
- vec, err := cvss.NewVector(val)
- if err != nil {
- t.Error(err)
- return
- }
-
- // serialize as json
- buf, err := json.Marshal(Vector { vec })
- if err != nil {
- t.Error(err)
- return
- }
-
- // check result
- got := string(buf)
- if got != exp {
- t.Errorf("got \"%s\", exp \"%s\"", got, exp)
- }
- })
- }
-}