feat(channels): add test channel extension for integration testing#492
feat(channels): add test channel extension for integration testing#492sytone wants to merge 1 commit into
Conversation
New BotNexus.Extensions.Channels.Test project: - TestChannelAdapter: in-memory message queues, ChannelKey=test - SendAsync/SendStreamDeltaAsync/FlushStreamBuffer for outbound capture - InjectInboundAsync dispatches via gateway pipeline - CaptureLog/GetLogs/ClearLogs for log buffer - TestChannelLoggerProvider/TestChannelLogger for structured log capture - TestChannelEndpoints: minimal API group for HTTP-based test orchestration - TestChannelServiceCollectionExtensions for DI registration - 12 unit tests Closes #326
Farnsworth Review — PR #492
LGTM. Ready to merge. |
|
CI: All checks passing LGTM - ready to merge. |
|
CI: ✅ All checks passing LGTM — ready to merge. |
sytone
left a comment
There was a problem hiding this comment.
Farnsworth Review — PR #492
CI: ✅ All checks passing
Merge conflicts: ✅ Clean (MERGEABLE)
Conventional commit title: ✅ feat(channels): add test channel extension for integration testing
Test coverage:
- ✅ 12 unit tests (adapter queues, InjectInboundAsync, log capture, endpoints)
- Both projects added to BotNexus.slnx
Spec completeness vs #326: TestChannelAdapter with in-memory queues, log capture, and minimal API endpoints covers all AC. enabled: false default is critical safety measure — good.
LGTM. Ready to merge.
|
Closing as part of a planned hard-reset of the in-flight branch set so the new domain-model refactor can land on a clean trunk. Audit verdict: keep Rationale: Useful for section 9.6 integration tests. The new plan (in session state) reshapes core types: Citizen (User+Agent union), Vogen-generated value objects, ThreadId removed in favour of composite ChannelAddress, mark-not-delete compaction, centralised If this work is still wanted, refile as a new issue/PR against the post-refactor contracts. |
Closes #326
Changes
BotNexus.Extensions.Channels.Testextension projectTestChannelAdapter: in-memory message queues,ChannelKey = test, opt-in only (manifestenabled: false)SendAsync/SendStreamDeltaAsync/FlushStreamBufferfor outbound message captureInjectInboundAsyncdispatches into the real gateway pipelineCaptureLog/GetLogs/ClearLogsfor structured log bufferTestChannelLoggerProvider/TestChannelLoggerfor structured log capture from gateway logsTestChannelEndpoints: minimal API group (/test-channel/...) for HTTP-based test orchestrationTestChannelServiceCollectionExtensions: DI registration (AddBotNexusTestChannel())BotNexus.slnxTest coverage (12 tests)
test