Skip to content

Run RabbitMQ broker and TLS tests reliably in CI - #104

Draft
niemyjski wants to merge 3 commits into
feature/rabbitmq-quorum-priorityfrom
feature/rabbitmq-broker-verification
Draft

niemyjski wants to merge 3 commits into
feature/rabbitmq-quorum-priorityfrom
feature/rabbitmq-broker-verification

Conversation

@niemyjski

@niemyjski niemyjski commented Sep 24, 2026 •

Copy link
Copy Markdown
Member

Broker tests share owned Aspire infrastructure with real TLS verification. CI fails when required infrastructure cannot start. The main suite stays on RabbitMQ 4.2.5; a dedicated 4.3.6 broker runs the new priority upgrade cases alongside the 4.2.5 cases.

Runtime impact: test infrastructure only. Library behavior and production broker permissions are unchanged. TLS tests install a temporary certificate authority in the current user's trust store and remove it during cleanup; optional local TLS tests can skip if that installation is denied. CI starts one additional broker for priority compatibility coverage.

Validation: Release build and formatting passed. The nine new cases passed without skips on 3.13.7, 4.2.5, and 4.3.6 locally. All updated-head Linux checks passed. The push run passed 300 tests with only five expected skips from the earlier strict-quorum test on 4.2. The 19 new cases ran: nine each on 4.2.5 and 4.3.6, plus the upgrade-fixture version check.

Verification and implementation details

The version matrix compares fresh brokers. A rolling upgrade with existing queue data was not exercised.

The main, TLS, delayed-plugin, and chaos brokers remain pinned to 4.2.5. The new priority broker uses 4.3.6-management and shares the existing collection fixture and startup/cleanup lifecycle. It provides priority and routing coverage, not a complete 4.3 runtime certification.

The independent priority scenarios inherited from #106 run with version-specific assertions on both CI brokers. They cover queued ordering, omitted/zero priority, fairness, publication before subscription, and delivery already in progress. The earlier strict quorum test still skips on 4.2.5; the new cases do not skip older broker versions. None of the existing test methods change in this latest addition.

Earlier changes move fixture declarations to a shared collection. The disconnect test additionally verifies that a delivery occurred, closes the actual broker connection, and releases its blocked handler before disposal; disposal alone did not simulate an abrupt disconnect. The TCP relay forwards opaque bytes to test certificate-name failures and connection loss without weakening TLS validation. Shutdown awaits the accept loop and tunnels. Temporary certificates use asynchronous file writes and a private parent directory; broker commands target owned containers.

Merge after #106 and before #105.

@niemyjski
niemyjski changed the base branch from feature/rabbitmq-tls-endpoints to feature/rabbitmq-quorum-priority September 24, 2026 16:20
@niemyjski
niemyjski added this pull request to stack #107 September 25, 2026 20:21
@niemyjski
niemyjski force-pushed the feature/rabbitmq-broker-verification branch from 1e60363 to 2f4833d Compare September 25, 2026 20:21
@niemyjski
niemyjski force-pushed the feature/rabbitmq-broker-verification branch 2 times, most recently from bf191fb to 2802006 Compare September 25, 2026 20:34
@niemyjski niemyjski changed the title Verify RabbitMQ brokers and TLS with owned test infrastructure Run RabbitMQ broker and TLS tests reliably in CI Sep 25, 2026
@niemyjski
niemyjski force-pushed the feature/rabbitmq-broker-verification branch 2 times, most recently from a49ed95 to 4ed5391 Compare September 25, 2026 21:34
@niemyjski
niemyjski force-pushed the feature/rabbitmq-broker-verification branch from 4ed5391 to de1caa2 Compare September 25, 2026 21:40
@niemyjski
niemyjski force-pushed the feature/rabbitmq-broker-verification branch from de1caa2 to 7887090 Compare September 25, 2026 21:49
@niemyjski
niemyjski force-pushed the feature/rabbitmq-broker-verification branch 2 times, most recently from ce65787 to 827f7a1 Compare September 26, 2026 02:20
@niemyjski
niemyjski force-pushed the feature/rabbitmq-broker-verification branch 2 times, most recently from d1aa2a0 to 45b344a Compare September 29, 2026 02:04
@niemyjski
niemyjski force-pushed the feature/rabbitmq-broker-verification branch from 45b344a to 0fc7840 Compare October 2, 2026 03:28
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