github.com/khulnasoft-lab/defsec@v1.0.5-0.20230827010352-5e9f46893d95/pkg/scanners/azure/arm/parser/armjson/parse_string_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_String(t *testing.T) { 13 example := []byte(`"hello"`) 14 var output string 15 metadata := types.NewTestMetadata() 16 err := Unmarshal(example, &output, &metadata) 17 require.NoError(t, err) 18 assert.Equal(t, "hello", output) 19 } 20 21 func Test_StringToUninitialisedPointer(t *testing.T) { 22 example := []byte(`"hello"`) 23 var str *string 24 metadata := types.NewTestMetadata() 25 err := Unmarshal(example, str, &metadata) 26 require.Error(t, err) 27 assert.Nil(t, str) 28 } 29 30 func Test_String_ToInterface(t *testing.T) { 31 example := []byte(`"hello"`) 32 var output interface{} 33 metadata := types.NewTestMetadata() 34 err := Unmarshal(example, &output, &metadata) 35 require.NoError(t, err) 36 assert.Equal(t, "hello", output) 37 }