diff --git a/internal/reconcilers/google/gar/reconciler.go b/internal/reconcilers/google/gar/reconciler.go index 0b969b2..e0ba863 100644 --- a/internal/reconcilers/google/gar/reconciler.go +++ b/internal/reconcilers/google/gar/reconciler.go @@ -68,6 +68,7 @@ func New(ctx context.Context, googleManagementProjectID, tenantDomain, workloadI } if r.iamService == nil || r.artifactRegistry == nil { + fmt.Println("CUSTOM HANDLER", r.iamService != nil, r.artifactRegistry != nil) builder, err := google_token_source.New(googleManagementProjectID, tenantDomain) if err != nil { return nil, err diff --git a/internal/reconcilers/google/gar/reconciler_test.go b/internal/reconcilers/google/gar/reconciler_test.go index ef009b5..fe7c9a8 100644 --- a/internal/reconcilers/google/gar/reconciler_test.go +++ b/internal/reconcilers/google/gar/reconciler_test.go @@ -186,6 +186,7 @@ func TestReconcile(t *testing.T) { } mocks := mocks{ + artifactRegistry: &fakeArtifactRegistry{}, iam: test.HttpServerWithHandlers(t, []http.HandlerFunc{ func(w http.ResponseWriter, r *http.Request) { w.WriteHeader(404) @@ -204,11 +205,11 @@ func TestReconcile(t *testing.T) { }, }), } - _, iamService := mocks.start(t, ctx) + artifactRegistryClient, iamService := mocks.start(t, ctx) apiClient, _ := apiclient.NewMockClient(t) - reconciler, err := google_gar_reconciler.New(ctx, managementProjectID, tenantDomain, workloadIdentityPoolName, google_gar_reconciler.WithIAMService(iamService)) + reconciler, err := google_gar_reconciler.New(ctx, managementProjectID, tenantDomain, workloadIdentityPoolName, google_gar_reconciler.WithGarClient(artifactRegistryClient), google_gar_reconciler.WithIAMService(iamService)) if err != nil { t.Fatalf("unexpected error: %v", err) } @@ -224,6 +225,7 @@ func TestReconcile(t *testing.T) { } mocks := mocks{ + artifactRegistry: &fakeArtifactRegistry{}, iam: test.HttpServerWithHandlers(t, []http.HandlerFunc{ func(w http.ResponseWriter, r *http.Request) { if err := json.NewEncoder(w).Encode(&expectedServiceAccount); err != nil { @@ -262,7 +264,7 @@ func TestReconcile(t *testing.T) { }, }), } - _, iamService := mocks.start(t, ctx) + artifactregistryClient, iamService := mocks.start(t, ctx) apiClient, mockServer := apiclient.NewMockClient(t) mockServer.Reconcilers.EXPECT(). @@ -317,7 +319,7 @@ func TestReconcile(t *testing.T) { }, nil). Once() - reconciler, err := google_gar_reconciler.New(ctx, managementProjectID, tenantDomain, workloadIdentityPoolName, google_gar_reconciler.WithIAMService(iamService)) + reconciler, err := google_gar_reconciler.New(ctx, managementProjectID, tenantDomain, workloadIdentityPoolName, google_gar_reconciler.WithGarClient(artifactregistryClient), google_gar_reconciler.WithIAMService(iamService)) if err != nil { t.Fatalf("unexpected error: %v", err) } @@ -580,7 +582,13 @@ func TestDelete(t *testing.T) { apiClient, _ := apiclient.NewMockClient(t) - reconciler, err := google_gar_reconciler.New(ctx, managementProjectID, tenantDomain, workloadIdentityPoolName) + mocks := mocks{ + artifactRegistry: &fakeArtifactRegistry{}, + iam: test.HttpServerWithHandlers(t, []http.HandlerFunc{}), + } + artifactregistryClient, iamService := mocks.start(t, ctx) + + reconciler, err := google_gar_reconciler.New(ctx, managementProjectID, tenantDomain, workloadIdentityPoolName, google_gar_reconciler.WithGarClient(artifactregistryClient), google_gar_reconciler.WithIAMService(iamService)) if err != nil { t.Fatalf("unexpected error: %v", err) } @@ -611,6 +619,7 @@ func TestDelete(t *testing.T) { apiClient, _ := apiclient.NewMockClient(t) mockedClients := mocks{ + artifactRegistry: &fakeArtifactRegistry{}, iam: test.HttpServerWithHandlers(t, []http.HandlerFunc{ func(w http.ResponseWriter, r *http.Request) { if contains := "management-project-123/serviceAccounts/gar-my-team-a193@management-project-123.iam.gserviceaccount.com"; !strings.Contains(r.URL.Path, contains) { diff --git a/internal/reconcilers/google/gcp/reconciler_test.go b/internal/reconcilers/google/gcp/reconciler_test.go index 2a9a4f3..ac9aef9 100644 --- a/internal/reconcilers/google/gcp/reconciler_test.go +++ b/internal/reconcilers/google/gcp/reconciler_test.go @@ -67,7 +67,7 @@ func TestReconcile(t *testing.T) { Return(nil, fmt.Errorf("some error")). Once() - reconcilers, err := google_gcp_reconciler.New(ctx, clusters, clusterProjectID, tenantDomain, tenantName, cnrmRoleName, billingAccount, cnrmServiceAccountID) + reconcilers, err := google_gcp_reconciler.New(ctx, clusters, clusterProjectID, tenantDomain, tenantName, cnrmRoleName, billingAccount, cnrmServiceAccountID, google_gcp_reconciler.WithGcpServices(&google_gcp_reconciler.GcpServices{})) if err != nil { t.Fatalf("unexpected error: %v", err) } @@ -81,7 +81,7 @@ func TestReconcile(t *testing.T) { log, _ := logrustest.NewNullLogger() apiClient, _ := apiclient.NewMockClient(t) - reconcilers, err := google_gcp_reconciler.New(ctx, clusters, clusterProjectID, tenantDomain, tenantName, cnrmRoleName, billingAccount, cnrmServiceAccountID) + reconcilers, err := google_gcp_reconciler.New(ctx, clusters, clusterProjectID, tenantDomain, tenantName, cnrmRoleName, billingAccount, cnrmServiceAccountID, google_gcp_reconciler.WithGcpServices(&google_gcp_reconciler.GcpServices{})) if err != nil { t.Fatalf("unexpected error: %v", err) } @@ -95,7 +95,7 @@ func TestReconcile(t *testing.T) { log, _ := logrustest.NewNullLogger() apiClient, _ := apiclient.NewMockClient(t) - reconcilers, err := google_gcp_reconciler.New(ctx, gcp.Clusters{}, clusterProjectID, tenantDomain, tenantName, cnrmRoleName, billingAccount, cnrmServiceAccountID) + reconcilers, err := google_gcp_reconciler.New(ctx, gcp.Clusters{}, clusterProjectID, tenantDomain, tenantName, cnrmRoleName, billingAccount, cnrmServiceAccountID, google_gcp_reconciler.WithGcpServices(&google_gcp_reconciler.GcpServices{})) if err != nil { t.Fatalf("unexpected error: %v", err) } @@ -466,7 +466,7 @@ func TestDelete(t *testing.T) { Environments(mock.Anything, &protoapi.ListTeamEnvironmentsRequest{Slug: teamSlug, Limit: 100}). Return(nil, fmt.Errorf("some error")). Once() - reconcilers, err := google_gcp_reconciler.New(ctx, clusters, clusterProjectID, tenantDomain, tenantName, cnrmRoleName, billingAccount, cnrmServiceAccountID) + reconcilers, err := google_gcp_reconciler.New(ctx, clusters, clusterProjectID, tenantDomain, tenantName, cnrmRoleName, billingAccount, cnrmServiceAccountID, google_gcp_reconciler.WithGcpServices(&google_gcp_reconciler.GcpServices{})) if err != nil { t.Fatalf("unexpected error: %v", err) } @@ -490,7 +490,7 @@ func TestDelete(t *testing.T) { }, nil). Once() - reconcilers, err := google_gcp_reconciler.New(ctx, clusters, clusterProjectID, tenantDomain, tenantName, cnrmRoleName, billingAccount, cnrmServiceAccountID) + reconcilers, err := google_gcp_reconciler.New(ctx, clusters, clusterProjectID, tenantDomain, tenantName, cnrmRoleName, billingAccount, cnrmServiceAccountID, google_gcp_reconciler.WithGcpServices(&google_gcp_reconciler.GcpServices{})) if err != nil { t.Fatalf("unexpected error: %v", err) } diff --git a/internal/reconcilers/nais/namespace/reconciler_test.go b/internal/reconcilers/nais/namespace/reconciler_test.go index 6783209..033c3af 100644 --- a/internal/reconcilers/nais/namespace/reconciler_test.go +++ b/internal/reconcilers/nais/namespace/reconciler_test.go @@ -50,7 +50,7 @@ func TestReconcile(t *testing.T) { } apiClient, _ := apiclient.NewMockClient(t) - reconciler, err := nais_namespace_reconciler.New(ctx, noClusters, tenantDomain, googleManagementProjectID, cnrmServiceAccountID, azureEnabled) + reconciler, err := nais_namespace_reconciler.New(ctx, noClusters, tenantDomain, googleManagementProjectID, cnrmServiceAccountID, azureEnabled, nais_namespace_reconciler.WithPubSubClient(noopPubsub())) if err != nil { t.Fatalf("unexpected error: %v", err) } @@ -70,7 +70,7 @@ func TestReconcile(t *testing.T) { apiClient, _ := apiclient.NewMockClient(t) - reconciler, err := nais_namespace_reconciler.New(ctx, noClusters, tenantDomain, googleManagementProjectID, cnrmServiceAccountID, azureEnabled) + reconciler, err := nais_namespace_reconciler.New(ctx, noClusters, tenantDomain, googleManagementProjectID, cnrmServiceAccountID, azureEnabled, nais_namespace_reconciler.WithPubSubClient(noopPubsub())) if err != nil { t.Fatalf("unexpected error: %v", err) } @@ -101,7 +101,7 @@ func TestReconcile(t *testing.T) { Return(&protoapi.ListTeamEnvironmentsResponse{}, nil). Once() - reconciler, err := nais_namespace_reconciler.New(ctx, noClusters, tenantDomain, googleManagementProjectID, cnrmServiceAccountID, azureEnabled) + reconciler, err := nais_namespace_reconciler.New(ctx, noClusters, tenantDomain, googleManagementProjectID, cnrmServiceAccountID, azureEnabled, nais_namespace_reconciler.WithPubSubClient(noopPubsub())) if err != nil { t.Fatalf("unexpected error: %v", err) } @@ -294,3 +294,19 @@ func getPubsubServerAndClient(ctx context.Context, projectID string, topics ...s _ = client.Close() } } + +func noopPubsub() *pubsub.Client { + ctx, close := context.WithCancel(context.Background()) + close() + + client, err := pubsub.NewClient( + ctx, + "asdf", + option.WithEndpoint("asdf"), + option.WithoutAuthentication(), + ) + if err != nil { + panic(err) + } + return client +}