From 4ae45cd727218206cc4a7fcf7d45afa789b4f3c2 Mon Sep 17 00:00:00 2001 From: cbrom Date: Wed, 22 Nov 2023 11:26:18 +0300 Subject: [PATCH] added tests for non string values of useUntilKubescapeVersion and useFromKubescapeVersion Signed-off-by: cbrom --- core/cautils/versioncheck_test.go | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/core/cautils/versioncheck_test.go b/core/cautils/versioncheck_test.go index 2be10e7e..fa8b5265 100644 --- a/core/cautils/versioncheck_test.go +++ b/core/cautils/versioncheck_test.go @@ -20,11 +20,20 @@ var rule_v1_0_133 = &reporthandling.PolicyRule{PortalBase: armotypes.PortalBase{ Attributes: map[string]interface{}{"useFromKubescapeVersion": "v1.0.133", "useUntilKubescapeVersion": "v1.0.134"}}} var rule_v1_0_134 = &reporthandling.PolicyRule{PortalBase: armotypes.PortalBase{ Attributes: map[string]interface{}{"useFromKubescapeVersion": "v1.0.134"}}} +var rule_invalid_from = &reporthandling.PolicyRule{PortalBase: armotypes.PortalBase{ + Attributes: map[string]interface{}{"useFromKubescapeVersion": 1.0135, "useUntilKubescapeVersion": "v1.0.135"}}} +var rule_invalid_until = &reporthandling.PolicyRule{PortalBase: armotypes.PortalBase{ + Attributes: map[string]interface{}{"useFromKubescapeVersion": "v1.0.135", "useUntilKubescapeVersion": 1.0135}}} func TestIsRuleKubescapeVersionCompatible(t *testing.T) { // local build- no build number + + // should not crash when the value of useUntilKubescapeVersion is not a string + buildNumberMock := "v1.0.135" + assert.False(t, isRuleKubescapeVersionCompatible(rule_invalid_from.Attributes, buildNumberMock)) + assert.False(t, isRuleKubescapeVersionCompatible(rule_invalid_from.Attributes, buildNumberMock)) // should use only rules that don't have "until" - buildNumberMock := "" + buildNumberMock = "" assert.False(t, isRuleKubescapeVersionCompatible(rule_v1_0_131.Attributes, buildNumberMock)) assert.False(t, isRuleKubescapeVersionCompatible(rule_v1_0_132.Attributes, buildNumberMock)) assert.False(t, isRuleKubescapeVersionCompatible(rule_v1_0_133.Attributes, buildNumberMock))