github.com/aquasecurity/trivy-iac@v0.8.1-0.20240127024015-3d8e412cf0ab/internal/adapters/terraform/kubernetes/adapt_test.go (about) 1 package kubernetes 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/assert" 7 ) 8 9 func TestIsMatchingTypeLabel(t *testing.T) { 10 tests := []struct { 11 name string 12 typeLabel string 13 resourceType string 14 expected bool 15 }{ 16 { 17 name: "without version", 18 typeLabel: "kubernetes_network_policy", 19 resourceType: "kubernetes_network_policy", 20 expected: true, 21 }, 22 { 23 name: "v1", 24 typeLabel: "kubernetes_network_policy_v1", 25 resourceType: "kubernetes_network_policy", 26 expected: true, 27 }, 28 { 29 name: "beta version", 30 typeLabel: "kubernetes_horizontal_pod_autoscaler_v2beta2", 31 resourceType: "kubernetes_horizontal_pod_autoscaler", 32 expected: true, 33 }, 34 { 35 name: "another type of resource", 36 typeLabel: "kubernetes_network_policy", 37 resourceType: "kubernetes_horizontal_pod_autoscaler", 38 expected: false, 39 }, 40 { 41 name: "similar resource type", 42 typeLabel: "kubernetes_network_policy_test_v1", 43 resourceType: "kubernetes_network_policy", 44 expected: false, 45 }, 46 { 47 name: "empty resource type", 48 typeLabel: "kubernetes_network_policy_test_v1", 49 resourceType: "", 50 expected: false, 51 }, 52 } 53 54 for _, tt := range tests { 55 t.Run(tt.name, func(t *testing.T) { 56 got := isMatchingTypeLabel(tt.typeLabel, tt.resourceType) 57 assert.Equal(t, tt.expected, got) 58 }) 59 } 60 }