aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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)
+ }
+ })
+ }
+}