go.mondoo.com/cnquery@v0.0.0-20231005093811-59568235f6ea/providers-sdk/v1/vault/multivault/multivault_test.go (about) 1 // Copyright (c) Mondoo, Inc. 2 // SPDX-License-Identifier: BUSL-1.1 3 4 package multivault 5 6 import ( 7 "context" 8 "testing" 9 10 "github.com/stretchr/testify/assert" 11 "github.com/stretchr/testify/require" 12 "go.mondoo.com/cnquery/providers-sdk/v1/vault" 13 "go.mondoo.com/cnquery/providers-sdk/v1/vault/inmemory" 14 ) 15 16 func TestMultiVault(t *testing.T) { 17 secret1 := &vault.Secret{ 18 Key: "secret1", 19 Data: []byte("password"), 20 } 21 secret2 := &vault.Secret{ 22 Key: "secret2", 23 Data: []byte("password2"), 24 } 25 secret3 := &vault.Secret{ 26 Key: "secret3", 27 Data: []byte("password3"), 28 } 29 30 ctx := context.Background() 31 var err error 32 33 v1 := inmemory.New() 34 _, err = v1.Set(ctx, secret1) 35 require.NoError(t, err) 36 37 v2 := inmemory.New() 38 _, err = v2.Set(ctx, secret2) 39 require.NoError(t, err) 40 41 m := New(v1, v2) 42 43 var sec *vault.Secret 44 sec, err = m.Get(ctx, &vault.SecretID{ 45 Key: secret1.Key, 46 }) 47 require.NoError(t, err) 48 assert.Equal(t, secret1, sec) 49 50 sec, err = m.Get(ctx, &vault.SecretID{ 51 Key: secret2.Key, 52 }) 53 require.NoError(t, err) 54 assert.Equal(t, secret2, sec) 55 56 sec, err = m.Get(ctx, &vault.SecretID{ 57 Key: secret3.Key, 58 }) 59 require.Error(t, err) 60 }