Uploaded image for project: 'OpenShift GitOps'
  1. OpenShift GitOps
  2. GITOPS-8028

Add testing to validate support notification in any Namespace

XMLWordPrintable

    • Icon: Story Story
    • Resolution: Unresolved
    • Icon: Major Major
    • None
    • None
    • Operator
    • None
    • GitOps Crimson Sprint 23, GitOps Crimson Sprint 24

      Story (Required)

      • Implement a comprehensive suite of automated tests for the new support to notifications in any namespace, so that can ensure its reliability, prevent regressions, and have confidence in its production readiness. This improves the customer experience by guaranteeing a stable and correctly functioning feature.

      Background and Approach (Required)

      This feature manages permissions (RBAC) and configures controller arguments across different namespaces. Our testing strategy will cover all aspects of the implementation.

      • Unit Tests: Focus: Test individual Go functions in isolation.
      •  

      Integration  E2E Tests (ginkgo): Focused on run the operator's reconciliation logic against an in-memory Kubernetes API server to verify its core behavior. Simulate the entire lifecycle of the ArgoCD custom resource (creation, updates, deletion) to confirm that the operator correctly creates, updates, and deletes the necessary Role and RoleBinding resources.

      • End-to-End (E2E) Tests: Validate the complete user workflow on a real, running Kubernetes cluster.
        • Deploy the operator.
        • Apply an ArgoCD CR configured to watch another namespace.
        • Create a notification ConfigMap in that namespace.
        • Create an Argo CD Application that triggers a notification.
        • Verify that the notification is successfully handled.

      Out of Scope

      • <Defines what is not included in this story.>

      Dependencies

      • <Describes what this story depends on. Dependent stories and EPICs should be linked to the story.>

      Acceptance Criteria (Mandatory)

      • <Describe edge cases to consider when implementing the story and defining tests.>
      • <Provides a required and minimum list of acceptance tests for this story. More is expected as the engineer implements this story.>

      Definition of Done

      • Code Complete:
        • All code has been written, reviewed, and approved.
      • Tested:
        • Unit tests have been written and passed.
        • Ensure code coverage is not reduced with the changes.
        • Integration tests have been automated.
        • System tests have been conducted, and all critical bugs have been fixed.
        • Tested and merged on OpenShift either upstream or downstream on a local build.
      • Documentation:
        • User documentation or release notes have been written (if applicable).
      • Build:
        • Code has been successfully built and integrated into the main repository / project.
        • Midstream changes (if applicable) are done, reviewed, approved and merged.
      • Review:
        • Code has been peer-reviewed and meets coding standards.
        • All acceptance criteria defined in the user story have been met.
        • Tested by reviewer on OpenShift.
      • Deployment:
        • The feature has been deployed on OpenShift cluster for testing.

              nmirasch@redhat.com Neus Miras Chueca
              nmirasch@redhat.com Neus Miras Chueca
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated: