Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
59 changes: 9 additions & 50 deletions e2e/adapter/adapter_failover.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,6 @@ package adapter

import (
"context"
"os"

"github.com/onsi/ginkgo/v2"
. "github.com/onsi/gomega" //nolint:staticcheck // dot import for test readability

Expand All @@ -13,43 +11,24 @@ import (
)

var _ = ginkgo.Describe("[Suite: adapter-failures][negative] Adapter framework can detect and report failures to cluster API endpoints",
ginkgo.Label(labels.Tier1),
ginkgo.Label(labels.Tier1, labels.Adapter),
func() {
var (
h *helper.Helper
chartPath string
baseDeployOpts helper.AdapterDeploymentOptions
)

ginkgo.BeforeEach(func(ctx context.Context) {
h = helper.New()

// Clone adapter Helm chart repository (shared across all tests)
ginkgo.By("Clone adapter Helm chart repository")
var cleanupChart func() error
var err error
chartPath, cleanupChart, err = h.CloneHelmChart(ctx, helper.HelmChartCloneOptions{
Component: "adapter",
RepoURL: h.Cfg.AdapterDeployment.ChartRepo,
Ref: h.Cfg.AdapterDeployment.ChartRef,
ChartPath: h.Cfg.AdapterDeployment.ChartPath,
WorkDir: helper.TestWorkDir,
})
// Clone Adapter Chart
path, err := helper.AdapterGitClone.CloneChartOnce(ctx)
Expect(err).NotTo(HaveOccurred(), "failed to clone adapter Helm chart")
ginkgo.GinkgoWriter.Printf("Cloned adapter chart to: %s\n", chartPath)

// Ensure chart cleanup after test
ginkgo.DeferCleanup(func(ctx context.Context) {
ginkgo.By("Cleanup cloned Helm chart")
if err := cleanupChart(); err != nil {
ginkgo.GinkgoWriter.Printf("Warning: failed to cleanup chart: %v\n", err)
}
})
ginkgo.GinkgoWriter.Printf("Cloned adapter chart to: %s\n", path)

// Set up base deployment options with common fields
baseDeployOpts = helper.AdapterDeploymentOptions{
Namespace: h.Cfg.Namespace,
ChartPath: chartPath,
ChartPath: path,
ResourceType: helper.ResourceTypeClusters,
}
})
Expand All @@ -58,40 +37,20 @@ var _ = ginkgo.Describe("[Suite: adapter-failures][negative] Adapter framework c
func(ctx context.Context) {
// Test-specific adapter configuration
adapterName := "cl-invalid-resource"

// Set environment variable for envsubst expansion in values.yaml
err := os.Setenv("ADAPTER_NAME", adapterName)
Expect(err).NotTo(HaveOccurred(), "failed to set ADAPTER_NAME environment variable")
ginkgo.DeferCleanup(func() {
_ = os.Unsetenv("ADAPTER_NAME")
})

// Generate unique release name for this deployment
releaseName := helper.GenerateAdapterReleaseName(helper.ResourceTypeClusters, adapterName)

// Deploy the test adapter with invalid K8s resource configuration
ginkgo.By("Deploy test adapter with invalid K8s resource configuration")
ginkgo.By("Deploy test adapter with invalid K8s resource configuration.")

// Create deployment options from base and add test-specific fields
deployOpts := baseDeployOpts
deployOpts.ReleaseName = releaseName
deployOpts.AdapterName = adapterName

err = h.DeployAdapter(ctx, deployOpts)
// Ensure adapter cleanup happens after this test
err := h.InstallAdapter(ctx, deployOpts)
ginkgo.DeferCleanup(func(ctx context.Context) {
ginkgo.By("Uninstall test adapter")
if err := h.UninstallAdapter(ctx, releaseName, h.Cfg.Namespace); err != nil {
ginkgo.GinkgoWriter.Printf("Warning: failed to uninstall adapter %s: %v\n", releaseName, err)
} else {
ginkgo.GinkgoWriter.Printf("Successfully uninstalled adapter: %s\n", releaseName)
}

if h.Cfg.BrokerType == "googlepubsub" {
ginkgo.By("Clean up Pub/Sub subscription and dlq topic for adapter")
if err := h.DeletePubSubResourcesForAdapter(ctx, adapterName, deployOpts.ResourceType); err != nil {
ginkgo.GinkgoWriter.Printf("Warning: failed to delete Pub/Sub subscription and dlq topic for adapter %s: %v\n", adapterName, err)
}
if err := h.UninstallAdapter(ctx, deployOpts); err != nil {
ginkgo.GinkgoWriter.Printf("Warning: failed to uninstall adapter %s: %v\n", deployOpts.AdapterName, err)
}
})
Expect(err).NotTo(HaveOccurred(), "failed to deploy test adapter")
Expand Down
Loading