Browse Source

Refactor GCP SecretAlreadyExists test

Signed-off-by: Adrienne Galloway <adrienne.galloway@engineerbetter.com>
Co-authored-by: Lilly Daniell <lilly.daniell@engineerbetter.com>
Co-authored-by: Marcus Dantas <Marcus.dantas@engineerbetter.com>
Co-authored-by: Amr Fawzy <amr.fawzy@container-solutions.com>
Co-authored-by: William Young <will.young@engineerbetter.com>
Adrienne Galloway 3 years ago
parent
commit
bf9b8af070
1 changed files with 11 additions and 28 deletions
  1. 11 28
      pkg/provider/gcp/secretmanager/secretsmanager_test.go

+ 11 - 28
pkg/provider/gcp/secretmanager/secretsmanager_test.go

@@ -204,7 +204,6 @@ func TestSetSecret(t *testing.T) {
 
 
 	APIerror := fmt.Errorf("API Error")
 	APIerror := fmt.Errorf("API Error")
 	labelError := fmt.Errorf("secret %v is not managed by external secrets", ref.GetRemoteKey())
 	labelError := fmt.Errorf("secret %v is not managed by external secrets", ref.GetRemoteKey())
-	duplicateError := fmt.Errorf("expected addSecretVersion to not be called")
 
 
 	secret := secretmanagerpb.Secret{
 	secret := secretmanagerpb.Secret{
 		Name: "projects/default/secrets/baz",
 		Name: "projects/default/secrets/baz",
@@ -245,11 +244,20 @@ func TestSetSecret(t *testing.T) {
 		Data: []byte("payload"),
 		Data: []byte("payload"),
 	}
 	}
 
 
+	var payload2 = secretmanagerpb.SecretPayload{
+		Data: []byte("fake-value"),
+	}
+
 	var res = secretmanagerpb.AccessSecretVersionResponse{
 	var res = secretmanagerpb.AccessSecretVersionResponse{
 		Name:    "projects/default/secrets/foo-bar",
 		Name:    "projects/default/secrets/foo-bar",
 		Payload: &payload,
 		Payload: &payload,
 	}
 	}
 
 
+	var res2 = secretmanagerpb.AccessSecretVersionResponse{
+		Name:    "projects/default/secrets/baz",
+		Payload: &payload2,
+	}
+
 	var secretVersion = secretmanagerpb.SecretVersion{}
 	var secretVersion = secretmanagerpb.SecretVersion{}
 
 
 	type args struct {
 	type args struct {
@@ -311,17 +319,15 @@ func TestSetSecret(t *testing.T) {
 				err: labelError,
 				err: labelError,
 			},
 			},
 		},
 		},
-		// Is this the same as the AddSecretVersion test
 		"SecretAlreadyExists": {
 		"SecretAlreadyExists": {
 			reason: "don't push a secret with the same key and value",
 			reason: "don't push a secret with the same key and value",
 			args: args{
 			args: args{
 				mock:                          smtc.mockClient,
 				mock:                          smtc.mockClient,
-				AccessSecretVersionMockReturn: fakesm.AccessSecretVersionMockReturn{Res: &res, Err: nil},
+				AccessSecretVersionMockReturn: fakesm.AccessSecretVersionMockReturn{Res: &res2, Err: nil},
 				GetSecretMockReturn:           fakesm.GetSecretMockReturn{Secret: &secret, Err: nil},
 				GetSecretMockReturn:           fakesm.GetSecretMockReturn{Secret: &secret, Err: nil},
-				AddSecretVersionMockReturn:    fakesm.AddSecretVersionMockReturn{SecretVersion: nil, Err: duplicateError},
 			},
 			},
 			want: want{
 			want: want{
-				err: duplicateError,
+				err: nil,
 			},
 			},
 		},
 		},
 	}
 	}
@@ -363,29 +369,6 @@ func TestSetSecretGetSecret404(t *testing.T) {
 	}
 	}
 }
 }
 
 
-func TestSetSecretAlreadyExists(t *testing.T) {
-	client := newClient()
-	pushRemoteRef := newPushRemoteRef()
-	secret := newSecret()
-	p := newProvider(client)
-	payload := &secretmanagerpb.SecretPayload{Data: []byte("bar")}
-
-	client.AccessSecretVersionReturns(&secretmanagerpb.AccessSecretVersionResponse{
-		Name:    "projects/default/secrets/foo-bar",
-		Payload: payload,
-	}, nil)
-
-	client.GetSecretReturns(secret, nil)
-
-	err := p.SetSecret(context.TODO(), []byte("bar"), pushRemoteRef)
-	if client.AddSecretVersionCallCount() != 0 {
-		t.Error("expected addSecretVersion to not be called")
-	}
-	if err != nil {
-		t.Errorf("expected nil got error")
-	}
-}
-
 func TestGetSecretMap(t *testing.T) {
 func TestGetSecretMap(t *testing.T) {
 	// good case: default version & deserialization
 	// good case: default version & deserialization
 	setDeserialization := func(smtc *secretManagerTestCase) {
 	setDeserialization := func(smtc *secretManagerTestCase) {