Browse Source

start adding ValidateStore for Oracle

Signed-off-by: Gustavo Carvalho <gustavo.carvalho@engineerbetter.com>
Marcin Kubica 4 years ago
parent
commit
55c8626e74
2 changed files with 54 additions and 0 deletions
  1. 13 0
      pkg/provider/oracle/oracle.go
  2. 41 0
      pkg/provider/oracle/oracle_test.go

+ 13 - 0
pkg/provider/oracle/oracle.go

@@ -228,6 +228,19 @@ func (vms *VaultManagementService) Validate() (esv1beta1.ValidationResult, error
 }
 
 func (vms *VaultManagementService) ValidateStore(store esv1beta1.GenericStore) error {
+	storeSpec := store.GetSpec()
+	oracleSpec := storeSpec.Provider.Oracle
+
+	vault := oracleSpec.Vault
+	if vault == "" {
+		return fmt.Errorf("vault cannot be empty")
+	}
+
+	region := oracleSpec.Region
+	if region == "" {
+		return fmt.Errorf("region cannot be empty")
+	}
+
 	return nil
 }
 

+ 41 - 0
pkg/provider/oracle/oracle_test.go

@@ -177,3 +177,44 @@ func ErrorContains(out error, want string) bool {
 	}
 	return strings.Contains(out.Error(), want)
 }
+
+func makeSecretStore(vault, region string) *esv1beta1.SecretStore {
+	return &esv1beta1.SecretStore{
+		Spec: esv1beta1.SecretStoreSpec{
+			Provider: &esv1beta1.SecretStoreProvider{
+				Oracle: &esv1beta1.OracleProvider{
+					Vault:  vault,
+					Region: region,
+				},
+			},
+		},
+	}
+}
+
+func TestValidateStoreNoVault(t *testing.T) {
+	p := VaultManagementService{}
+	store := makeSecretStore("", "some-region")
+	err := p.ValidateStore(store)
+	if err == nil {
+		t.Errorf("want err got nil")
+	}
+}
+
+func TestValidateStoreNoRegion(t *testing.T) {
+	p := VaultManagementService{}
+	store := makeSecretStore("some-OICD", "")
+
+	err := p.ValidateStore(store)
+	if err == nil {
+		t.Errorf("want err got nil")
+	}
+}
+
+func TestValidateStoreSuccess(t *testing.T) {
+	p := VaultManagementService{}
+	store := makeSecretStore("some-OICD", "some-region")
+	err := p.ValidateStore(store)
+	if err != nil {
+		t.Errorf("want nil got err")
+	}
+}