Browse Source

Make lint

Signed-off-by: Lilly Daniell <lilly.daniell@engineerbetter.com>
Co-authored-by: Adrienne Galloway <adrienne.galloway@engineerbetter.com>
Co-authored-by: William Young <will.young@engineerbetter.com>
Lilly Daniell 3 years ago
parent
commit
703715c2d6

+ 12 - 15
pkg/provider/gcp/secretmanager/fake/fake.go

@@ -35,40 +35,38 @@ type MockSMClient struct {
 }
 
 type AccessSecretVersionMockReturn struct {
-	res *secretmanagerpb.AccessSecretVersionResponse
-	err error
+	Res *secretmanagerpb.AccessSecretVersionResponse
+	Err error
 }
 
 type AddSecretVersionMockReturn struct {
-	secretVersion *secretmanagerpb.SecretVersion
-	err           error
+	SecretVersion *secretmanagerpb.SecretVersion
+	Err           error
 }
 
 type GetSecretMockReturn struct {
-	secret *secretmanagerpb.Secret
-	err    error
+	Secret *secretmanagerpb.Secret
+	Err    error
 }
 
 func (mc *MockSMClient) GetSecret(ctx context.Context, req *secretmanagerpb.GetSecretRequest, opts ...gax.CallOption) (*secretmanagerpb.Secret, error) {
 	return mc.GetSecretFn(ctx, req)
 }
 
-func (mc *MockSMClient) NewGetSecretFn(secret *secretmanagerpb.Secret, err error) GetSecretMockReturn {
+func (mc *MockSMClient) NewGetSecretFn(mock GetSecretMockReturn) {
 	mc.GetSecretFn = func(ctx context.Context, req *secretmanagerpb.GetSecretRequest, opts ...gax.CallOption) (*secretmanagerpb.Secret, error) {
-		return secret, err
+		return mock.Secret, mock.Err
 	}
-	return GetSecretMockReturn{secret, err}
 }
 
 func (mc *MockSMClient) AccessSecretVersion(ctx context.Context, req *secretmanagerpb.AccessSecretVersionRequest, opts ...gax.CallOption) (*secretmanagerpb.AccessSecretVersionResponse, error) {
 	return mc.accessSecretFn(ctx, req)
 }
 
-func (mc *MockSMClient) NewAccessSecretVersionFn(res *secretmanagerpb.AccessSecretVersionResponse, err error) AccessSecretVersionMockReturn {
+func (mc *MockSMClient) NewAccessSecretVersionFn(mock AccessSecretVersionMockReturn) {
 	mc.accessSecretFn = func(ctx context.Context, req *secretmanagerpb.AccessSecretVersionRequest, opts ...gax.CallOption) (*secretmanagerpb.AccessSecretVersionResponse, error) {
-		return res, err
+		return mock.Res, mock.Err
 	}
-	return AccessSecretVersionMockReturn{res, err}
 }
 
 func (mc *MockSMClient) ListSecrets(ctx context.Context, req *secretmanagerpb.ListSecretsRequest, opts ...gax.CallOption) *secretmanager.SecretIterator {
@@ -82,11 +80,10 @@ func (mc *MockSMClient) AddSecretVersion(ctx context.Context, req *secretmanager
 	return mc.addSecretFn(ctx, req)
 }
 
-func (mc *MockSMClient) NewAddSecretVersion(secretVersion *secretmanagerpb.SecretVersion, err error) AddSecretVersionMockReturn {
+func (mc *MockSMClient) NewAddSecretVersion(mock AddSecretVersionMockReturn) {
 	mc.addSecretFn = func(ctx context.Context, req *secretmanagerpb.AddSecretVersionRequest, opts ...gax.CallOption) (*secretmanagerpb.SecretVersion, error) {
-		return secretVersion, err
+		return mock.SecretVersion, mock.Err
 	}
-	return AddSecretVersionMockReturn{secretVersion, err}
 }
 
 func (mc *MockSMClient) CreateSecret(ctx context.Context, req *secretmanagerpb.CreateSecretRequest, opts ...gax.CallOption) (*secretmanagerpb.Secret, error) {

+ 26 - 9
pkg/provider/gcp/secretmanager/secretsmanager_test.go

@@ -200,6 +200,8 @@ func (f fakeRef) GetRemoteKey() string {
 
 // We need to add the NewGetSecretFn into our args struct so that they modifiable.
 func TestSetSecret(t *testing.T) {
+	errAddSecretVersion := fmt.Errorf("API Error")
+
 	smtc := secretManagerTestCase{
 		mockClient:     &fakesm.MockSMClient{},
 		apiInput:       makeValidAPIInput(),
@@ -224,7 +226,7 @@ func TestSetSecret(t *testing.T) {
 	var secretVersion = secretmanagerpb.SecretVersion{}
 
 	type args struct {
-		provider                      secretmanager.ProviderGCP
+		mock                          *fakesm.MockSMClient
 		GetSecretMockReturn           fakesm.GetSecretMockReturn
 		AccessSecretVersionMockReturn fakesm.AccessSecretVersionMockReturn
 		AddSecretVersionMockReturn    fakesm.AddSecretVersionMockReturn
@@ -241,22 +243,37 @@ func TestSetSecret(t *testing.T) {
 		"SetSecret": {
 			reason: "SetSecret successfully pushes a secret",
 			args: args{
-				provider: secretmanager.ProviderGCP{
-					SecretManagerClient: smtc.mockClient,
-				},
-				GetSecretMockReturn:           smtc.mockClient.NewGetSecretFn(newSecret(), nil),
-				AccessSecretVersionMockReturn: smtc.mockClient.NewAccessSecretVersionFn(&res, nil),
-				AddSecretVersionMockReturn:    smtc.mockClient.NewAddSecretVersion(&secretVersion, nil),
-			},
+				mock:                          smtc.mockClient,
+				GetSecretMockReturn:           fakesm.GetSecretMockReturn{Secret: newSecret(), Err: nil},
+				AccessSecretVersionMockReturn: fakesm.AccessSecretVersionMockReturn{Res: &res, Err: nil},
+				AddSecretVersionMockReturn:    fakesm.AddSecretVersionMockReturn{SecretVersion: &secretVersion, Err: nil}},
 			want: want{
 				err: nil,
 			},
 		},
+		"AddSecretVersion": {
+			reason: "secret not pushed if AddSecretVersion errors",
+			args: args{
+				mock:                          smtc.mockClient,
+				GetSecretMockReturn:           fakesm.GetSecretMockReturn{Secret: newSecret(), Err: nil},
+				AccessSecretVersionMockReturn: fakesm.AccessSecretVersionMockReturn{Res: &res, Err: nil},
+				AddSecretVersionMockReturn:    fakesm.AddSecretVersionMockReturn{SecretVersion: nil, Err: errAddSecretVersion},
+			},
+			want: want{
+				err: errAddSecretVersion,
+			},
+		},
 	}
 	for name, tc := range tests {
 		t.Run(name, func(t *testing.T) {
+			tc.args.mock.NewGetSecretFn(tc.args.GetSecretMockReturn)
+			tc.args.mock.NewAccessSecretVersionFn(tc.args.AccessSecretVersionMockReturn)
+			tc.args.mock.NewAddSecretVersion(tc.args.AddSecretVersionMockReturn)
+			p := secretmanager.ProviderGCP{
+				SecretManagerClient: tc.args.mock,
+			}
 			ref := fakeRef{key: "/baz"}
-			err := tc.args.provider.SetSecret(context.Background(), []byte("fake-value"), ref)
+			err := p.SetSecret(context.Background(), []byte("fake-value"), ref)
 			if diff := cmp.Diff(tc.want.err, err, test.EquateErrors()); diff != "" {
 				t.Errorf("\nTesting SetSecret:\nName: %v\nReason: %v\nWant error: %v\nGot error: %v", name, tc.reason, tc.want.err, diff)
 			}