get.porter.sh/porter@v1.3.0/pkg/config/datastore_test.go (about) 1 package config 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/assert" 7 "github.com/stretchr/testify/require" 8 ) 9 10 func TestData_GetDefaultStoragePlugin(t *testing.T) { 11 c := New() 12 assert.Equal(t, "mongodb-docker", c.Data.DefaultStoragePlugin, "Built-in mongodb-docker plugin should be used when config is missing") 13 } 14 15 func TestData_StorageAccessors(t *testing.T) { 16 c := Config{ 17 Data: Data{ 18 DefaultStoragePlugin: "blorpy", 19 DefaultStorage: "dev", 20 StoragePlugins: []StoragePlugin{ 21 {PluginConfig{ 22 Name: "dev", 23 PluginSubKey: "hashicorp.vault", 24 }}, 25 }, 26 }, 27 } 28 29 assert.Equal(t, "blorpy", c.Data.DefaultStoragePlugin, "GetDefaultStoragePlugin returned the wrong value") 30 assert.Equal(t, "dev", c.Data.DefaultStorage, "GetDefaultStorage returned the wrong value") 31 32 store, err := c.GetStorage("dev") 33 require.NoError(t, err, "GetStorage failed") 34 require.NotNil(t, store, "GetStorage returned a nil StoragePlugin") 35 assert.Equal(t, "dev", store.Name, "StoragePlugin.Name returned the wrong value") 36 assert.Equal(t, "hashicorp.vault", store.PluginSubKey, "StoragePlugin.PluginSubKey returned the wrong value") 37 } 38 39 func TestData_GetDefaultSecretsPlugin(t *testing.T) { 40 c := New() 41 assert.Equal(t, "host", c.Data.DefaultSecretsPlugin, "Built-in host plugin should be used when config is missing") 42 } 43 44 func TestData_SecretAccessors(t *testing.T) { 45 c := Config{ 46 Data: Data{ 47 DefaultSecretsPlugin: "topsekret", 48 DefaultSecrets: "prod", 49 SecretsPlugin: []SecretsPlugin{ 50 {PluginConfig{ 51 Name: "prod", 52 PluginSubKey: "azure.keyvault", 53 }}, 54 }, 55 }, 56 } 57 58 assert.Equal(t, "topsekret", c.Data.DefaultSecretsPlugin, "GetDefaultSecretsPlugin returned the wrong value") 59 assert.Equal(t, "prod", c.Data.DefaultSecrets, "GetDefaultSecretsPlugin returned the wrong value") 60 61 source, err := c.GetSecretsPlugin("prod") 62 require.NoError(t, err, "GetSecretsPlugin failed") 63 require.NotNil(t, source, "GetSecretsPlugin returned a nil SecretsPlugin") 64 assert.Equal(t, "prod", source.Name, "SecretsPlugin.Name returned the wrong value") 65 assert.Equal(t, "azure.keyvault", source.PluginSubKey, "SecretsPlugin.PluginSubKey returned the wrong value") 66 }