github.com/khulnasoft-lab/defsec@v1.0.5-0.20230827010352-5e9f46893d95/pkg/scanners/azure/arm/parser/armjson/parse_array_test.go (about) 1 package armjson 2 3 import ( 4 "testing" 5 6 "github.com/khulnasoft-lab/defsec/pkg/types" 7 8 "github.com/stretchr/testify/assert" 9 "github.com/stretchr/testify/require" 10 ) 11 12 func Test_Array_Empty(t *testing.T) { 13 example := []byte(`[]`) 14 target := []int{} 15 metadata := types.NewTestMetadata() 16 require.NoError(t, Unmarshal(example, &target, &metadata)) 17 assert.Len(t, target, 0) 18 } 19 20 func Test_Array_ToSlice(t *testing.T) { 21 example := []byte(`[1, 2, 3]`) 22 target := []int{} 23 metadata := types.NewTestMetadata() 24 require.NoError(t, Unmarshal(example, &target, &metadata)) 25 assert.Len(t, target, 3) 26 assert.EqualValues(t, []int{1, 2, 3}, target) 27 } 28 29 func Test_Array_ToArray(t *testing.T) { 30 example := []byte(`[3, 2, 1]`) 31 target := [3]int{6, 6, 6} 32 metadata := types.NewTestMetadata() 33 require.NoError(t, Unmarshal(example, &target, &metadata)) 34 assert.Len(t, target, 3) 35 assert.EqualValues(t, [3]int{3, 2, 1}, target) 36 } 37 38 func Test_Array_ToInterface(t *testing.T) { 39 example := []byte(`{ "List": [1, 2, 3] }`) 40 target := struct { 41 List interface{} 42 }{} 43 metadata := types.NewTestMetadata() 44 require.NoError(t, Unmarshal(example, &target, &metadata)) 45 assert.Len(t, target.List, 3) 46 }