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  }