Orchestrata Ultimate › Tests › Reference › scripts › test_irc_conversation_capture

Tests reference — tests/scripts/test_irc_conversation_capture.py

Module of tests/scripts, split out because the directory page would be too large.

Prose pending.

tests/scripts/test_irc_conversation_capture.py

source · 27 tests · 1116 lines

Tests for the SPEC-021 kimi/IRC conversation-capture producer:

Covers: core.base.traces, core.graph.interfaces, core.graph.repository, core.redis_factory, knowledge_graph.conversation_consumer

Kind Name Line Description
class TestListenerSession 273
method TestListenerSession.test_session_incr_on_connect_and_current_key_written 275
method TestListenerSession.test_second_connection_gets_the_next_session_seq 308
class TestListenerCapture 338
method TestListenerCapture.test_kimi_lines_captured_as_assistant_v2_with_turn_ordering 340
method TestListenerCapture.test_codewhale_line_captured_with_irc_codewhale_platform 396
method TestListenerCapture.test_foreign_nick_is_not_captured 437
class TestSenderCapture 475
method TestSenderCapture.test_send_side_capture_joins_current_conversation 477
method TestSenderCapture.test_send_works_and_skips_capture_when_current_key_absent 515
class TestKillSwitchAndFailOpen 547
method TestKillSwitchAndFailOpen.test_kill_switch_disables_capture 549
method TestKillSwitchAndFailOpen.test_fail_open_when_redis_unreachable 566 A REAL redis.Redis client pointed at an unreachable port
class TestSessionKeyRetry 623 The session-key helpers retry once, exactly like enqueue_message.
method TestSessionKeyRetry.test_a_transient_error_costs_a_second_attempt 645 A dead Redis must now spend the retry pause before giving up.
method TestSessionKeyRetry.test_an_absent_key_is_answered_immediately_not_retried 679 "No listener has connected yet" is an ANSWER, not an error.
method TestSessionKeyRetry.test_the_retry_does_not_disturb_the_success_path 700 A healthy Redis still allocates and reads back the same seq.
class TestEndToEndConsumerFlush 712
method TestEndToEndConsumerFlush.test_flush_creates_conversation_and_turn_nodes_from_irc_capture 714
class TestListenerPureHelpers 791
method TestListenerPureHelpers.test_parse_privmsg_line_cases 793
method TestListenerPureHelpers.test_handle_line_ping_replies_with_pong 806
method TestListenerPureHelpers.test_handle_line_skips_capture_when_no_active_session 826
method TestListenerPureHelpers.test_read_one_line_returns_none_on_timeout 847
method TestListenerPureHelpers.test_read_one_line_raises_on_peer_close 858
method TestListenerPureHelpers.test_read_one_line_returns_none_for_partial_data_without_terminator 868
class TestListenerRunLifecycle 915
method TestListenerRunLifecycle.test_run_connects_captures_and_shuts_down_on_sigterm 917 Exercises the real production entry point end-to-end: connect,
class TestConversationHelperEdgeCases 964
method TestConversationHelperEdgeCases.test_project_slug_falls_back_to_repo_dirname_when_unset 966
method TestConversationHelperEdgeCases.test_queue_max_falls_back_to_default_on_invalid_value 970
method TestConversationHelperEdgeCases.test_build_redis_client_and_dependents_return_none_on_bad_port 987
class TestConversationRedisKeys 1013 Producers resolve the queue's Redis ONLY from CONVERSATION_REDIS_*.
method TestConversationRedisKeys.test_unset_keys_never_fall_back_to_ambient_redis_and_log_one_line 1017
method TestConversationRedisKeys.test_capture_log_path_defaults_under_home 1051
method TestConversationRedisKeys.test_log_drop_swallows_an_unwritable_log_path 1058
class TestKimiSendPathEndToEnd 1065
method TestKimiSendPathEndToEnd.test_sent_line_lands_as_turn_reachable_from_project_hub 1067 listener session -> _irc_send.send_message -> enqueue -> flush ->