From 9d2655aaee90ca14df421d9fb4f7fb9e84f7c488 Mon Sep 17 00:00:00 2001 From: Paul Duncan Date: Mon, 31 Jan 2022 19:12:58 -0500 Subject: add badmetric and category tests --- internal/cvss/badmetric_test.go | 25 +++++++++++++++++++++++++ internal/cvss/category_test.go | 41 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 66 insertions(+) create mode 100644 internal/cvss/badmetric_test.go create mode 100644 internal/cvss/category_test.go 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) + } + }) + } +} -- cgit v1.2.3