go.mondoo.com/cnquery@v0.0.0-20231005093811-59568235f6ea/providers-sdk/v1/vault/credential_test.go (about) 1 // Copyright (c) Mondoo, Inc. 2 // SPDX-License-Identifier: BUSL-1.1 3 4 package vault 5 6 import ( 7 "encoding/json" 8 "testing" 9 10 "github.com/stretchr/testify/require" 11 12 "github.com/stretchr/testify/assert" 13 "sigs.k8s.io/yaml" 14 ) 15 16 func TestCredentialParser(t *testing.T) { 17 content := ` 18 - type: password 19 user: username 20 password: pass 21 - type: private_key 22 user: username 23 identity_file: /path/to/key 24 password: password 25 - type: credentials_query 26 - type: bearer 27 ` 28 29 v := []*Credential{} 30 yaml.Unmarshal([]byte(content), &v) 31 32 assert.Equal(t, 4, len(v)) 33 assert.Equal(t, CredentialType_password, v[0].Type) 34 assert.Equal(t, CredentialType_private_key, v[1].Type) 35 assert.Equal(t, CredentialType_credentials_query, v[2].Type) 36 assert.Equal(t, CredentialType_bearer, v[3].Type) 37 } 38 39 func TestCredentialMarshal(t *testing.T) { 40 data, err := json.Marshal(CredentialType_undefined) 41 require.NoError(t, err) 42 assert.Equal(t, "\"undefined\"", string(data)) 43 } 44 45 func TestSecretEncoding(t *testing.T) { 46 content := ` 47 - type: password 48 user: username 49 password: pass 50 - type: private_key 51 user: username 52 identity_file: /path/to/key 53 password: password 54 ` 55 56 v := []*Credential{} 57 yaml.Unmarshal([]byte(content), &v) 58 assert.Equal(t, 2, len(v)) 59 }