From 6b4ef219c92cf445a4c427a4df629fb101ca1f69 Mon Sep 17 00:00:00 2001 From: cbrom Date: Thu, 23 Nov 2023 22:33:57 +0300 Subject: [PATCH] added more testcases for CalculateFixed function Signed-off-by: cbrom --- core/pkg/containerscan/containerscan_test.go | 53 +++++++++++++++++--- 1 file changed, 46 insertions(+), 7 deletions(-) diff --git a/core/pkg/containerscan/containerscan_test.go b/core/pkg/containerscan/containerscan_test.go index 6b668bd0..2e19d751 100644 --- a/core/pkg/containerscan/containerscan_test.go +++ b/core/pkg/containerscan/containerscan_test.go @@ -79,12 +79,51 @@ func TestGetByPkgNameMissing(t *testing.T) { } func TestCalculateFixed(t *testing.T) { - res := CalculateFixed([]FixedIn{{ - Name: "", - ImgTag: "", - Version: "", - }}) - if 0 != res { - t.Errorf("wrong fix status: %v", res) + tests := []struct { + name string + in []FixedIn + expected int + }{ + { + name: "empty list should return 0", + in: []FixedIn{}, + expected: 0, + }, + { + name: "None Version value should return 0", + in: []FixedIn{ + {Version: "None"}, + {Version: "None"}, + {Version: "None"}, + }, + expected: 0, + }, + { + name: "empty Version value should return 0", + in: []FixedIn{ + {Version: ""}, + {Version: ""}, + {Version: ""}, + }, + expected: 0, + }, + { + name: "non empty or non None Version value should return 1", + in: []FixedIn{ + {Version: "1.23"}, + {Version: ""}, + {Version: ""}, + }, + expected: 1, + }, + } + + for _, test := range tests { + t.Run(test.name, func(t *testing.T) { + res := CalculateFixed(test.in) + if test.expected != res { + t.Errorf("wrong fix status: %v", res) + } + }) } }