Skip to content

refactor: extract shared controller helpers to common package #74

@digiserg

Description

@digiserg

Summary

Several constants and helper methods are duplicated across controller packages.

Duplicated constants

condTypeReady = "Ready" declared independently in:

  • internal/controller/alerts/axonopsmetricalert_controller.go:38
  • internal/controller/backups/axonopsbackup_controller.go:43
  • internal/controller/kafka/axonopskafkatopic_controller.go:39

Duplicated helpers

setFailedCondition method has identical bodies in every controller across alerts, backups, and kafka packages.

Duplicated test helpers

createTestConnectionAndSecret is copied in alerts/test_helpers_test.go, backups/test_helpers_test.go, kafka/test_helpers_test.go.

Fix

  1. Move condTypeReady to internal/controller/common/connection.go
  2. Add a shared SetFailedCondition helper to common (using generics or client.Object interface)
  3. Extract test helper to internal/testutil/connection.go (test-only package)

Acceptance Criteria

  1. condTypeReady exists only in common package
  2. No duplicated setFailedCondition bodies across packages
  3. Test helper exists in one location, imported by all test suites
  4. All tests pass

Priority

P2

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions