From 22efa8b653ed814c173d2abc5994c65de64b697e Mon Sep 17 00:00:00 2001 From: Fernandez Ludovic Date: Mon, 19 Feb 2024 14:24:21 +0100 Subject: [PATCH] review: unit tests --- pkg/config/config_test.go | 86 +++++++++++++++++++++++++++++++++++++++ pkg/lint/linter/linter.go | 4 +- 2 files changed, 88 insertions(+), 2 deletions(-) create mode 100644 pkg/config/config_test.go diff --git a/pkg/config/config_test.go b/pkg/config/config_test.go new file mode 100644 index 0000000000000..ac101b95fb53b --- /dev/null +++ b/pkg/config/config_test.go @@ -0,0 +1,86 @@ +package config + +import ( + "testing" + + "github.com/stretchr/testify/assert" +) + +func TestIsGoGreaterThanOrEqual(t *testing.T) { + testCases := []struct { + desc string + current string + limit string + assert assert.BoolAssertionFunc + }{ + { + desc: "current (with minor.major) lower than limit", + current: "go1.21", + limit: "1.22", + assert: assert.False, + }, + { + desc: "current (with 0 patch) lower than limit", + current: "go1.21.0", + limit: "1.22", + assert: assert.False, + }, + { + desc: "current (current with multiple patches) lower than limit", + current: "go1.21.6", + limit: "1.22", + assert: assert.False, + }, + { + desc: "current lower than limit (with minor.major)", + current: "go1.22", + limit: "1.22", + assert: assert.True, + }, + { + desc: "current lower than limit (with 0 patch)", + current: "go1.22.0", + limit: "1.22", + assert: assert.True, + }, + { + desc: "current lower than limit (current with multiple patches)", + current: "go1.22.6", + limit: "1.22", + assert: assert.True, + }, + { + desc: "current greater than limit", + current: "go1.23.0", + limit: "1.22", + assert: assert.True, + }, + { + desc: "current with no prefix", + current: "1.22", + limit: "1.22", + assert: assert.True, + }, + { + desc: "invalid current value", + current: "go", + limit: "1.22", + assert: assert.False, + }, + { + desc: "invalid limit value", + current: "go1.22", + limit: "go", + assert: assert.False, + }, + } + + for _, test := range testCases { + test := test + t.Run(test.desc, func(t *testing.T) { + t.Parallel() + + test.assert(t, IsGoGreaterThanOrEqual(test.current, test.limit)) + }) + } +} diff --git a/pkg/lint/linter/linter.go b/pkg/lint/linter/linter.go index bb8dcc248afaf..e086bbe5fcc74 100644 --- a/pkg/lint/linter/linter.go +++ b/pkg/lint/linter/linter.go @@ -18,8 +18,8 @@ type Noop struct { reason string } -func NewNoop(l Linter, reason string) *Noop { - return &Noop{ +func NewNoop(l Linter, reason string) Noop { + return Noop{ name: l.Name(), desc: l.Desc(), reason: reason,