From ad25b51e12f0d8526c9030742e1ed901fd398381 Mon Sep 17 00:00:00 2001 From: David Hondl Date: Thu, 19 Sep 2024 16:40:12 +0200 Subject: [PATCH] fix: refactor to lower cyclomatic complexity for linting --- pkg/controller/repositories/controller.go | 59 +++++++++++-------- .../repositories/controller_test.go | 2 +- 2 files changed, 35 insertions(+), 26 deletions(-) diff --git a/pkg/controller/repositories/controller.go b/pkg/controller/repositories/controller.go index dc304da..11fd6dc 100644 --- a/pkg/controller/repositories/controller.go +++ b/pkg/controller/repositories/controller.go @@ -132,35 +132,12 @@ func (e *external) Observe(ctx context.Context, mg resource.Managed) (managed.Ex return managed.ExternalObservation{}, err } - passwordSecretResourceVersion, err := e.getSecretResourceVersion(ctx, cr.Spec.ForProvider.PasswordRef) - if err != nil { - return managed.ExternalObservation{}, err - } - sshPrivateKeyResourceVersion, err := e.getSecretResourceVersion(ctx, cr.Spec.ForProvider.SSHPrivateKeyRef) - if err != nil { - return managed.ExternalObservation{}, err - } - tlsClientCertDataResourceVersion, err := e.getSecretResourceVersion(ctx, cr.Spec.ForProvider.TLSClientCertDataRef) - if err != nil { - return managed.ExternalObservation{}, err - } - tlsClientCertKeyResourceVersion, err := e.getSecretResourceVersion(ctx, cr.Spec.ForProvider.TLSClientCertKeyRef) - if err != nil { - return managed.ExternalObservation{}, err - } - githubAppPrivateKeyResourceVersion, err := e.getSecretResourceVersion(ctx, cr.Spec.ForProvider.GithubAppPrivateKeyRef) + resourceVersions, err := e.getSecretResource(ctx, cr) + if err != nil { return managed.ExternalObservation{}, err } - resourceVersions := secretResourceVersion{ - Password: passwordSecretResourceVersion, - SSHPrivateKey: sshPrivateKeyResourceVersion, - TLSClientCertData: tlsClientCertDataResourceVersion, - TLSClientCertKey: tlsClientCertKeyResourceVersion, - GithubAppPrivateKey: githubAppPrivateKeyResourceVersion, - } - current := cr.Spec.ForProvider.DeepCopy() lateInitializeRepository(&cr.Spec.ForProvider, observedRepository) @@ -550,3 +527,35 @@ func (e *external) getPayload(ctx context.Context, ref *v1alpha1.SecretReference return nil, nil } + +func (e *external) getSecretResource(ctx context.Context, cr *v1alpha1.Repository) (secretResourceVersion, error) { + passwordSecretResourceVersion, err := e.getSecretResourceVersion(ctx, cr.Spec.ForProvider.PasswordRef) + if err != nil { + return secretResourceVersion{}, err + } + sshPrivateKeyResourceVersion, err := e.getSecretResourceVersion(ctx, cr.Spec.ForProvider.SSHPrivateKeyRef) + if err != nil { + return secretResourceVersion{}, err + } + tlsClientCertDataResourceVersion, err := e.getSecretResourceVersion(ctx, cr.Spec.ForProvider.TLSClientCertDataRef) + if err != nil { + return secretResourceVersion{}, err + } + tlsClientCertKeyResourceVersion, err := e.getSecretResourceVersion(ctx, cr.Spec.ForProvider.TLSClientCertKeyRef) + if err != nil { + return secretResourceVersion{}, err + } + githubAppPrivateKeyResourceVersion, err := e.getSecretResourceVersion(ctx, cr.Spec.ForProvider.GithubAppPrivateKeyRef) + if err != nil { + return secretResourceVersion{}, err + } + + return secretResourceVersion{ + Password: passwordSecretResourceVersion, + SSHPrivateKey: sshPrivateKeyResourceVersion, + TLSClientCertData: tlsClientCertDataResourceVersion, + TLSClientCertKey: tlsClientCertKeyResourceVersion, + GithubAppPrivateKey: githubAppPrivateKeyResourceVersion, + }, nil + +} diff --git a/pkg/controller/repositories/controller_test.go b/pkg/controller/repositories/controller_test.go index 8272b07..2f0a547 100644 --- a/pkg/controller/repositories/controller_test.go +++ b/pkg/controller/repositories/controller_test.go @@ -42,7 +42,7 @@ import ( var ( errBoom = errors.New("boom") // Unused until issue https://github.com/argoproj/argo-cd/issues/20005 in Argo CD project is resolved - //errNotFound = errors.New("code = NotFound desc = repo") + // errNotFound = errors.New("code = NotFound desc = repo") errPermissionDenied = errors.New("code = PermissionDenied desc = permission denied") testRepositoryExternalName = "testRepo" testRepo = "https://gitlab.com/example-group/example-project.git"