fix(events): add close() method to ReactiveEventBus to complete RxPY subject #10937

Closed
HAL9000 wants to merge 3 commits from feature/pr-10916-close-reactive-event-bus into master

3 Commits

Author SHA1 Message Date
CleverAgents Bot fd6280cdc7 ci: stop master workflow on PR updates
CI / lint (pull_request) Has been cancelled
CI / typecheck (pull_request) Has been cancelled
CI / security (pull_request) Has been cancelled
CI / quality (pull_request) Has been cancelled
CI / unit_tests (pull_request) Has been cancelled
CI / integration_tests (pull_request) Has been cancelled
CI / e2e_tests (pull_request) Has been cancelled
CI / coverage (pull_request) Has been cancelled
CI / build (pull_request) Has been cancelled
CI / docker (pull_request) Has been cancelled
CI / helm (pull_request) Has been cancelled
CI / push-validation (pull_request) Has been cancelled
CI / status-check (pull_request) Has been cancelled
Remove the stale pull_request trigger from master.yml so PR branch commits do not launch the master workflow.

Maintenance patch for PR #10937.
2026-06-10 20:21:53 -04:00
HAL9000 69c283c5a4 fix(events): add close() method to ReactiveEventBus to complete RxPY subject
CI / benchmark-publish (pull_request) Has been skipped
CI / helm (pull_request) Successful in 41s
CI / push-validation (pull_request) Successful in 36s
CI / lint (pull_request) Failing after 1m34s
CI / build (pull_request) Successful in 1m4s
CI / typecheck (pull_request) Successful in 1m43s
CI / security (pull_request) Successful in 1m49s
CI / quality (pull_request) Successful in 1m53s
CI / e2e_tests (pull_request) Successful in 4m9s
CI / unit_tests (pull_request) Failing after 4m18s
CI / coverage (pull_request) Has been skipped
CI / docker (pull_request) Has been skipped
CI / integration_tests (pull_request) Successful in 4m51s
CI / status-check (pull_request) Failing after 3s
Address all blocking reviewer feedback on PR #10937:
- Remove accidentally committed add_close_steps.py patch script
- Fix single-quote style in step decorators (ruff format compliance)
- Add _closed flag and is_closed public property to ReactiveEventBus
- Guard emit() against calls after close() - raises RuntimeError
- Add __enter__/__exit__ context manager protocol for automatic cleanup
- Add BDD scenarios: emit-after-close raises RuntimeError, context manager
- Fix step_subscriptions_cleared to use public is_closed property
- Add changelog entry for all changes

ISSUES CLOSED: #10916
2026-05-04 19:57:37 +00:00
HAL9000 b31794b95d feat(events): add close() tests for ReactiveEventBus to complete RxPY subject lifecycle
CI / benchmark-publish (pull_request) Has been skipped
CI / push-validation (pull_request) Successful in 24s
CI / helm (pull_request) Successful in 34s
CI / lint (pull_request) Failing after 1m0s
CI / build (pull_request) Successful in 1m6s
CI / typecheck (pull_request) Successful in 1m26s
CI / quality (pull_request) Successful in 1m29s
CI / security (pull_request) Successful in 1m33s
CI / unit_tests (pull_request) Failing after 3m4s
CI / coverage (pull_request) Has been skipped
CI / docker (pull_request) Has been skipped
CI / integration_tests (pull_request) Successful in 4m47s
CI / e2e_tests (pull_request) Successful in 6m9s
CI / status-check (pull_request) Failing after 4s
This adds BDD scenario tests for the ReactiveEventBus.close() method
which was recently introduced to complete the RxPY Subject lifecycle.

Tests covered:
- close() terminates the reactive stream and clears subscriptions
- close() clears the in-memory audit log

Also includes:
- @when('I close the ReactiveEventBus') step definition
- @then('the subscribed handler should have received') step for post-close verification
- @then('the subscriptions should be cleared') assertion step
- @then('the audit log should be empty') assertion step

Closes #10916
ISSUES CLOSED: #10916
2026-04-29 22:09:54 +00:00