From 6f92fd64ce1c4402cbc03dfe6553d8cb3426e9f8 Mon Sep 17 00:00:00 2001 From: Bruno Date: Mon, 30 Sep 2024 09:57:25 -0300 Subject: [PATCH] Cloud migrations: add more context to errors (#93814) * Cloud migrations: add more context to errors * calls to assert.ErrorIs was passing arguments in the wrong order --- .../cloudmigration/cloudmigrationimpl/cloudmigration.go | 5 +++-- .../cloudmigrationimpl/cloudmigration_test.go | 2 +- .../cloudmigration/cloudmigrationimpl/xorm_store.go | 6 +++--- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/pkg/services/cloudmigration/cloudmigrationimpl/cloudmigration.go b/pkg/services/cloudmigration/cloudmigrationimpl/cloudmigration.go index f78a32dad8c..9e2433d79ce 100644 --- a/pkg/services/cloudmigration/cloudmigrationimpl/cloudmigration.go +++ b/pkg/services/cloudmigration/cloudmigrationimpl/cloudmigration.go @@ -179,7 +179,8 @@ func (s *Service) GetToken(ctx context.Context) (gcom.TokenView, error) { } logger.Info("cloud migration token not found") - return gcom.TokenView{}, cloudmigration.ErrTokenNotFound + return gcom.TokenView{}, fmt.Errorf("fetching cloud migration token: instance=%+v accessPolicyName=%s accessTokenName=%s %w", + instance, accessPolicyName, accessTokenName, cloudmigration.ErrTokenNotFound) } func (s *Service) CreateToken(ctx context.Context) (cloudmigration.CreateAccessTokenResponse, error) { @@ -300,7 +301,7 @@ func (s *Service) ValidateToken(ctx context.Context, cm cloudmigration.CloudMigr defer span.End() if err := s.gmsClient.ValidateKey(ctx, cm); err != nil { - return fmt.Errorf("validating key: %w", err) + return fmt.Errorf("validating token: %w", err) } return nil diff --git a/pkg/services/cloudmigration/cloudmigrationimpl/cloudmigration_test.go b/pkg/services/cloudmigration/cloudmigrationimpl/cloudmigration_test.go index 95e8a28fbad..ea4d905e97f 100644 --- a/pkg/services/cloudmigration/cloudmigrationimpl/cloudmigration_test.go +++ b/pkg/services/cloudmigration/cloudmigrationimpl/cloudmigration_test.go @@ -58,7 +58,7 @@ func Test_CreateGetAndDeleteToken(t *testing.T) { assert.NoError(t, err) _, err = s.GetToken(context.Background()) - assert.ErrorIs(t, cloudmigration.ErrTokenNotFound, err) + assert.ErrorIs(t, err, cloudmigration.ErrTokenNotFound) cm := cloudmigration.CloudMigrationSession{} err = s.ValidateToken(context.Background(), cm) diff --git a/pkg/services/cloudmigration/cloudmigrationimpl/xorm_store.go b/pkg/services/cloudmigration/cloudmigrationimpl/xorm_store.go index 33e3b392287..22de2474310 100644 --- a/pkg/services/cloudmigration/cloudmigrationimpl/xorm_store.go +++ b/pkg/services/cloudmigration/cloudmigrationimpl/xorm_store.go @@ -432,16 +432,16 @@ func (ss *sqlStore) encryptToken(ctx context.Context, cm *cloudmigration.CloudMi func (ss *sqlStore) decryptToken(ctx context.Context, cm *cloudmigration.CloudMigrationSession) error { if cm == nil { - return cloudmigration.ErrMigrationNotFound + return fmt.Errorf("unable to decypt token because migration session was not found: %w", cloudmigration.ErrMigrationNotFound) } if len(cm.AuthToken) == 0 { - return cloudmigration.ErrTokenNotFound + return fmt.Errorf("unable to decrypt token because token is empty: %w", cloudmigration.ErrTokenNotFound) } decoded, err := base64.StdEncoding.DecodeString(cm.AuthToken) if err != nil { - return fmt.Errorf("token could not be decoded") + return fmt.Errorf("unable to base64 decode token: %w", err) } t, err := ss.secretsService.Decrypt(ctx, decoded)