go.mondoo.com/cnquery@v0.0.0-20231005093811-59568235f6ea/providers-sdk/v1/vault/keyring/keyring_test.go (about) 1 // Copyright (c) Mondoo, Inc. 2 // SPDX-License-Identifier: BUSL-1.1 3 4 package keyring 5 6 import ( 7 "context" 8 "encoding/json" 9 "testing" 10 11 "github.com/stretchr/testify/assert" 12 "github.com/stretchr/testify/require" 13 "go.mondoo.com/cnquery/providers-sdk/v1/vault" 14 ) 15 16 func TestEncryptedFile(t *testing.T) { 17 v := NewEncryptedFile("./testdata", "mondoo", "superpassword") 18 ctx := context.Background() 19 20 credSecret := map[string]string{ 21 "key": "value", 22 "key2": "value2", 23 } 24 credBytes, err := json.Marshal(credSecret) 25 require.NoError(t, err) 26 27 key := "mondoo-test-secret-key" 28 cred := &vault.Secret{ 29 Key: key, 30 Label: "mondoo: " + key, 31 Data: credBytes, 32 } 33 34 id, err := v.Set(ctx, cred) 35 require.NoError(t, err) 36 37 // create a new instance to test file reading 38 v2 := NewEncryptedFile("./testdata", "mondoo", "superpassword") 39 40 newCred, err := v2.Get(ctx, id) 41 require.NoError(t, err) 42 assert.Equal(t, key, newCred.Key) 43 assert.Equal(t, cred.Label, newCred.Label) 44 assert.Equal(t, cred.Data, newCred.Data) 45 }