فهرست منبع

Some cleanup and consistency

Co-authored-by: Gustavo Carvalho <gustavo.carvalho@container-solutions.com>
Co-authored-by: Amr Fawzy <amr.fawzy@container-solutions.com>
Signed-off-by: Dominic Meddick <dominic.meddick@engineerbetter.com>
James Cleveland 4 سال پیش
والد
کامیت
49d6a7af7d

+ 2 - 6
pkg/provider/gcp/secretmanager/fake/fake.go

@@ -84,7 +84,7 @@ func (mc *MockSMClient) DefaultCreateSecret(wantedKey string) {
 	}
 }
 
-func (mc *MockSMClient) DefaultSetSecret(wantedValue string) {
+func (mc *MockSMClient) DefaultAddSecretVersion(wantedValue string) {
 	mc.addSecretFn = func(ctx context.Context, req *secretmanagerpb.AddSecretVersionRequest, opts ...gax.CallOption) (*secretmanagerpb.SecretVersion, error) {
 		if string(req.Payload.Data) == wantedValue {
 			return &secretmanagerpb.SecretVersion{
@@ -95,11 +95,7 @@ func (mc *MockSMClient) DefaultSetSecret(wantedValue string) {
 	}
 }
 
-// func (mc *MockSMClient) AccessSpecificSecret() {
-// 	mc.accessSecretFn = func(ctx context.Context, req *secretmanagerpb.AccessSecretVersionRequest, opts ...gax.CallOption) (*secretmanagerpb.AccessSecretVersionResponse, error) {
-
-// 	}
-// }
+// TODO: func (mc...) DefaultAccessSecretVersion (similar to above)
 
 func (mc *MockSMClient) WithValue(ctx context.Context, req *secretmanagerpb.AccessSecretVersionRequest, val *secretmanagerpb.AccessSecretVersionResponse, err error) {
 	if mc != nil {

+ 13 - 7
pkg/provider/gcp/secretmanager/secretsmanager.go

@@ -223,21 +223,27 @@ func (sm *ProviderGCP) NewClient(ctx context.Context, store esv1beta1.GenericSto
 
 // SetSecret pushes a kubernetes secret key into gcp provider Secret.
 // funcName(variable type_of_variable, ...)
-func (sm *ProviderGCP) SetSecret(ctx context.Context, value []byte, remoteRef esv1beta1.PushRemoteRef) error {
-	if _, err := sm.SecretManagerClient.CreateSecret(ctx, &secretmanagerpb.CreateSecretRequest{
-		Parent:   "todo",
+func (sm *ProviderGCP) SetSecret(ctx context.Context, payload []byte, remoteRef esv1beta1.PushRemoteRef) error {
+	createSecretReq := &secretmanagerpb.CreateSecretRequest{
+		Parent:   fmt.Sprintf("projects/%s", sm.projectID),
 		SecretId: remoteRef.GetRemoteKey(),
-	}); err != nil {
+	}
+
+	if _, err := sm.SecretManagerClient.CreateSecret(ctx, createSecretReq); err != nil {
 		return err
 	}
 
-	if _, err := sm.SecretManagerClient.AddSecretVersion(ctx, &secretmanagerpb.AddSecretVersionRequest{
+	addSecretVersionReq := &secretmanagerpb.AddSecretVersionRequest{
 		Payload: &secretmanagerpb.SecretPayload{
-			Data: value,
+			Data: payload,
 		},
-	}); err != nil {
+	}
+
+	if _, err := sm.SecretManagerClient.AddSecretVersion(ctx, addSecretVersionReq); err != nil {
 		return err
 	}
+
+	// TODO: AccessSecretVersion as above
 	return nil
 }
 

+ 3 - 1
pkg/provider/gcp/secretmanager/secretsmanager_test.go

@@ -201,7 +201,7 @@ func TestSecretManagerSetSecret(t *testing.T) {
 	}
 
 	secretManagerClient.DefaultCreateSecret(key)
-	secretManagerClient.DefaultSetSecret(string(want))
+	secretManagerClient.DefaultAddSecretVersion(string(want))
 
 	err = p.SetSecret(context.TODO(), want, esv1alpha1.PushSecretRemoteRefs{RemoteKey: key})
 	if err != nil {
@@ -215,6 +215,8 @@ func TestSecretManagerSetSecret(t *testing.T) {
 	if err == nil {
 		t.Errorf("expected err got nil")
 	}
+
+	// TODO: Same as above but making the AccessSecretVersion break with wrong version name (if possible)
 }
 func TestGetSecretMap(t *testing.T) {
 	// good case: default version & deserialization