package secret import ( "testing" "github.com/stretchr/testify/assert" ) func TestReadSecretsConfig(t *testing.T) { composeFiles := []string{"./testdir/compose.yaml"} secretsFromConfig, err := ReadSecretsConfig("./testdir/.env.sample", composeFiles, "test_example_com") if err != nil { t.Fatal(err) } // Simple secret assert.Equal(t, "test_example_com_test_pass_one_v2", secretsFromConfig["test_pass_one"].RemoteName) assert.Equal(t, "v2", secretsFromConfig["test_pass_one"].Version) assert.Equal(t, 0, secretsFromConfig["test_pass_one"].Length) // Has a length modifier assert.Equal(t, "test_example_com_test_pass_two_v1", secretsFromConfig["test_pass_two"].RemoteName) assert.Equal(t, "v1", secretsFromConfig["test_pass_two"].Version) assert.Equal(t, 10, secretsFromConfig["test_pass_two"].Length) // Secret name does not include the secret id assert.Equal(t, "test_example_com_pass_three_v2", secretsFromConfig["test_pass_three"].RemoteName) assert.Equal(t, "v2", secretsFromConfig["test_pass_three"].Version) assert.Equal(t, 0, secretsFromConfig["test_pass_three"].Length) } func TestReadSecretsConfigWithLongDomain(t *testing.T) { composeFiles := []string{"./testdir/compose.yaml"} _, err := ReadSecretsConfig("./testdir/.env.sample", composeFiles, "should_break_on_forty_eight_char_stack_nameeeeee") if err == nil { t.Fatal("expected failure, stack name is too long") } assert.Contains(t, err.Error(), "is > 64 chars") }