Skip to content

feat(integration-tests): add ATP Storage S3 integration#84

Open
elbe0116 wants to merge 1 commit intoNetcracker:feat/atp_robot_pluginfrom
elbe0116:feat/atp-integration
Open

feat(integration-tests): add ATP Storage S3 integration#84
elbe0116 wants to merge 1 commit intoNetcracker:feat/atp_robot_pluginfrom
elbe0116:feat/atp-integration

Conversation

@elbe0116
Copy link
Copy Markdown

@elbe0116 elbe0116 commented Mar 27, 2026

PR Description: ATP Storage (S3) for RabbitMQ integration tests

What type of PR is this? (check all applicable)

  • Refactor
  • Feature
  • Bug Fix
  • Optimization
  • Documentation Update

Description

This PR adds ATP Storage (S3-compatible) integration for the RabbitMQ operator integration tests: Helm values and deployment env vars align with the Consul/Kafka pattern so test results can be uploaded to AWS S3 or other S3-compatible storage from CI or AWS installs.

The integration test image is based on ghcr.io/netcracker/qubership-docker-integration-tests:main (same approach as Kafka). Dockerfile updates keep EKS/S3 compatibility (root for install, non-root runtime, permissions for the S3 adapter scripts).

Key changes

1. Helm values (operator/charts/helm/rabbitmq/values.yaml)

  • Added tests.atpStorage (provider, serverUrl, serverUiUrl, bucket, region, username, password).
  • Added tests.atpReportViewUiUrl, tests.environmentName (optional reporting / environment label).

2. Integration test deployment (templates/integration_tests/deployment.yaml)

  • When tests.atpStorage.provider is set, injects: ATP_STORAGE_PROVIDER, ATP_STORAGE_SERVER_URL, ATP_STORAGE_SERVER_UI_URL, ATP_STORAGE_BUCKET, ATP_STORAGE_REGION, ATP_STORAGE_USERNAME, ATP_STORAGE_PASSWORD.
  • Optional: ATP_REPORT_VIEW_UI_URL, ENVIRONMENT_NAME (from tests.atpReportViewUiUrl, tests.environmentName).

3. Operator robot image (operator/operator-robot-image/)

  • Dockerfile: base image from qubership-docker-integration-tests; USER root for install/EKS compatibility; USER 1000:0 at runtime; ownership/permissions on ROBOT_HOME for S3 scripts.
  • Adjustments in rabbitmq_pod_checker.py, NCRabbitMQLibrary.py, requirements.txt as needed for the updated test stack.

4. README

  • Section on integration tests and ATP storage with a table mapping Helm values to behavior.

Related Tickets & Documents

  • Related Issue:

QA Instructions, Screenshots, Recordings

Prerequisites

  • Cluster with working RabbitMQ deploy and integration tests enabled (tests.runTests: true).
  • For S3 upload: bucket, region, credentials with write access; endpoint URL if not AWS default.

Testing steps

  1. Set tests.atpStorage in values (or workflow inputs): provider, server URL, bucket, region, credentials; optional UI URLs and environmentName.
  2. Deploy the chart and run integration tests.
  3. Confirm artifacts appear under the expected path in the bucket (for example robot-output/{environment}/{timestamp}/ depending on base image conventions).
  4. If tests.atpReportViewUiUrl is set, confirm report links behave as expected.

Breaking Change checklist

  • Does it change any deployment parameters, logic of their working or rename them?
  • No — new optional tests.* parameters; deployments without filling ATP storage can keep prior behavior (empty bucket / no upload per base image rules).
  • Did update from previous version tested with the same set of deployment parameters?
  • Yes — backward compatible when ATP-related values are unset or left at defaults.

Added/updated tests?

  • Yes
  • No, and this is why: S3 upload is optional and driven by shared integration-tests image behavior; existing Robot tests remain the functional coverage unless you add explicit S3 mocks in-repo.
  • I need help with writing tests

@elbe0116 elbe0116 force-pushed the feat/atp-integration branch 2 times, most recently from 22dd67c to 86e607d Compare March 27, 2026 10:58
@elbe0116 elbe0116 changed the title Feat/atp integration feat(integration-tests): add ATP Storage S3 integration Mar 27, 2026
@elbe0116 elbe0116 marked this pull request as ready for review March 30, 2026 07:19
@elbe0116 elbe0116 force-pushed the feat/atp-integration branch from 86e607d to a481fce Compare March 30, 2026 07:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant