|
|
@@ -13,12 +13,13 @@ package oracle
|
|
|
|
|
|
import (
|
|
|
"context"
|
|
|
+ "encoding/base64"
|
|
|
"fmt"
|
|
|
"reflect"
|
|
|
"strings"
|
|
|
"testing"
|
|
|
|
|
|
- vault "github.com/oracle/oci-go-sdk/v45/vault"
|
|
|
+ secrets "github.com/oracle/oci-go-sdk/v45/secrets"
|
|
|
utilpointer "k8s.io/utils/pointer"
|
|
|
|
|
|
esv1alpha1 "github.com/external-secrets/external-secrets/apis/externalsecrets/v1alpha1"
|
|
|
@@ -27,8 +28,8 @@ import (
|
|
|
|
|
|
type vaultTestCase struct {
|
|
|
mockClient *fakeoracle.OracleMockClient
|
|
|
- apiInput *vault.GetSecretRequest
|
|
|
- apiOutput *vault.GetSecretResponse
|
|
|
+ apiInput *secrets.GetSecretBundleRequest
|
|
|
+ apiOutput *secrets.GetSecretBundleResponse
|
|
|
ref *esv1alpha1.ExternalSecretDataRemoteRef
|
|
|
apiErr error
|
|
|
expectError string
|
|
|
@@ -59,16 +60,16 @@ func makeValidRef() *esv1alpha1.ExternalSecretDataRemoteRef {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-func makeValidAPIInput() *vault.GetSecretRequest {
|
|
|
- return &vault.GetSecretRequest{
|
|
|
+func makeValidAPIInput() *secrets.GetSecretBundleRequest {
|
|
|
+ return &secrets.GetSecretBundleRequest{
|
|
|
SecretId: utilpointer.StringPtr("test-secret"),
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-func makeValidAPIOutput() *vault.GetSecretResponse {
|
|
|
- return &vault.GetSecretResponse{
|
|
|
- Etag: utilpointer.StringPtr("test-name"),
|
|
|
- Secret: vault.Secret{},
|
|
|
+func makeValidAPIOutput() *secrets.GetSecretBundleResponse {
|
|
|
+ return &secrets.GetSecretBundleResponse{
|
|
|
+ Etag: utilpointer.StringPtr("test-name"),
|
|
|
+ SecretBundle: secrets.SecretBundle{},
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -98,12 +99,14 @@ func TestOracleVaultGetSecret(t *testing.T) {
|
|
|
// good case: default version is set
|
|
|
// key is passed in, output is sent back
|
|
|
setSecretString := func(smtc *vaultTestCase) {
|
|
|
- smtc.apiOutput = &vault.GetSecretResponse{
|
|
|
+ smtc.apiOutput = &secrets.GetSecretBundleResponse{
|
|
|
Etag: utilpointer.StringPtr("test-name"),
|
|
|
- Secret: vault.Secret{
|
|
|
- CompartmentId: utilpointer.StringPtr("test-compartment-id"),
|
|
|
- Id: utilpointer.StringPtr("test-id"),
|
|
|
- SecretName: utilpointer.StringPtr("changedvalue"),
|
|
|
+ SecretBundle: secrets.SecretBundle{
|
|
|
+ SecretId: utilpointer.StringPtr("test-id"),
|
|
|
+ VersionNumber: utilpointer.Int64(1),
|
|
|
+ SecretBundleContent: secrets.Base64SecretBundleContentDetails{
|
|
|
+ Content: utilpointer.StringPtr(base64.StdEncoding.EncodeToString([]byte(secretValue))),
|
|
|
+ },
|
|
|
},
|
|
|
}
|
|
|
smtc.expectedSecret = secretValue
|
|
|
@@ -132,13 +135,17 @@ func TestOracleVaultGetSecret(t *testing.T) {
|
|
|
func TestGetSecretMap(t *testing.T) {
|
|
|
// good case: default version & deserialization
|
|
|
setDeserialization := func(smtc *vaultTestCase) {
|
|
|
- smtc.apiOutput.SecretName = utilpointer.StringPtr(`{"foo":"bar"}`)
|
|
|
+ smtc.apiOutput.SecretBundleContent = secrets.Base64SecretBundleContentDetails{
|
|
|
+ Content: utilpointer.StringPtr(base64.StdEncoding.EncodeToString([]byte(`{"foo":"bar"}`))),
|
|
|
+ }
|
|
|
smtc.expectedData["foo"] = []byte("bar")
|
|
|
}
|
|
|
|
|
|
// bad case: invalid json
|
|
|
setInvalidJSON := func(smtc *vaultTestCase) {
|
|
|
- smtc.apiOutput.SecretName = utilpointer.StringPtr(`-----------------`)
|
|
|
+ smtc.apiOutput.SecretBundleContent = secrets.Base64SecretBundleContentDetails{
|
|
|
+ Content: utilpointer.StringPtr(base64.StdEncoding.EncodeToString([]byte(`-----------------`))),
|
|
|
+ }
|
|
|
smtc.expectError = "unable to unmarshal secret"
|
|
|
}
|
|
|
|