aboutsummaryrefslogtreecommitdiff
path: root/internal/cvss
diff options
context:
space:
mode:
authorPaul Duncan <pabs@pablotron.org>2022-01-31 19:12:58 -0500
committerPaul Duncan <pabs@pablotron.org>2022-01-31 19:12:58 -0500
commit9d2655aaee90ca14df421d9fb4f7fb9e84f7c488 (patch)
tree9bcebd632f2ceef03e2f5979461ed83e9f6ad8a3 /internal/cvss
parentfb9b138f5c75e040d4421ef71b0990c01f889939 (diff)
downloadcvez-9d2655aaee90ca14df421d9fb4f7fb9e84f7c488.tar.bz2
cvez-9d2655aaee90ca14df421d9fb4f7fb9e84f7c488.zip
add badmetric and category tests
Diffstat (limited to 'internal/cvss')
-rw-r--r--internal/cvss/badmetric_test.go25
-rw-r--r--internal/cvss/category_test.go41
2 files changed, 66 insertions, 0 deletions
diff --git a/internal/cvss/badmetric_test.go b/internal/cvss/badmetric_test.go
new file mode 100644
index 0000000..87316c0
--- /dev/null
+++ b/internal/cvss/badmetric_test.go
@@ -0,0 +1,25 @@
+package cvss
+
+import "testing"
+
+func TestNewBadMetric(t *testing.T) {
+ tests := []struct {
+ name string
+ version Version
+ val string
+ exp string
+ } {
+ { "v20-foo", V20, "foo", "invalid CVSS 2.0 metric: foo" },
+ { "v30-foo", V30, "foo", "invalid CVSS 3.0 metric: foo" },
+ { "v31-foo", V31, "foo", "invalid CVSS 3.1 metric: foo" },
+ }
+
+ for _, test := range(tests) {
+ t.Run(test.name, func(t *testing.T) {
+ err := newBadMetric(test.version, test.val)
+ if err.Error() != test.exp {
+ t.Errorf("got: %s, exp: %s", err.Error(), test.exp)
+ }
+ })
+ }
+}
diff --git a/internal/cvss/category_test.go b/internal/cvss/category_test.go
new file mode 100644
index 0000000..7f69689
--- /dev/null
+++ b/internal/cvss/category_test.go
@@ -0,0 +1,41 @@
+package cvss
+
+import "testing"
+
+func TestCategoryString(t *testing.T) {
+ tests := []struct {
+ cat Category
+ exp string
+ } {
+ { Base, "Base" },
+ { Temporal, "Temporal" },
+ { Environmental, "Environmental" },
+ }
+
+ for _, test := range(tests) {
+ t.Run(test.exp, func(t *testing.T) {
+ got := test.cat.String()
+ if got != test.exp {
+ t.Errorf("got: %s, exp: %s", got, test.exp)
+ }
+ })
+ }
+}
+
+func TestInvalidCategory(t *testing.T) {
+ tests := []struct {
+ cat Category
+ exp string
+ } {
+ { Category(byte(255)), "Category(255)" },
+ }
+
+ for _, test := range(tests) {
+ t.Run(test.exp, func(t *testing.T) {
+ got := test.cat.String()
+ if got != test.exp {
+ t.Errorf("got: %s, exp: %s", got, test.exp)
+ }
+ })
+ }
+}