Orchestrata Ultimate › Tests › Reference › postman › test_cov100_postman

Tests reference — tests/postman/test_cov100_postman.py

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

Prose pending.

tests/postman/test_cov100_postman.py

source · 55 tests · 1311 lines

Test Standards Compliance (see AGENTS.md § Test Standards):

Covers: postman.admin, postman.constants, postman.delivery, postman.exceptions, postman.governance, postman.guarantees, postman.health, postman.interfaces, postman.priority, postman.queue, postman.queue_manager, postman.router, postman.subscription_manager, postman.types

Kind Name Line Description
class TestAdminDisconnect 122 Tests for admin.py disconnect_agent endpoint -- line 79.
method TestAdminDisconnect.test_disconnect_agent_not_found_raises_http_exception 125 Line 79: disconnect endpoint raises HTTPException 404 when success=False.
class TestDeliveryCancel 162 Tests for delivery.py cancel() -- lines 320-331.
method TestDeliveryCancel.test_cancel_pending_message_succeeds 165 Lines 320-331: cancel() removes a QUEUED message and returns True.
class TestGovernanceAuthorize 205 Tests for governance.py authorize_send and authorize_topic.
method TestGovernanceAuthorize.test_authorize_send_cx_with_request_message_type 208 Lines 160-170: U:Cx has send.request permission for REQUEST messages.
method TestGovernanceAuthorize.test_authorize_send_qa_not_authorized_for_query 227 Lines 160-170: U:Qa lacks send.query permission -> not authorized.
method TestGovernanceAuthorize.test_authorize_topic_vz_with_implementation_topic 245 Lines 247-256: U:Cd publishes to implementation topic via send.implementation.
method TestGovernanceAuthorize.test_authorize_topic_qa_with_quality_topic 263 Lines 247-256: U:Qa publishes to quality topic via send.quality permission.
method TestGovernanceAuthorize.test_has_permission_wildcard_star 281 Line 435: _has_permission returns True when agent has wildcard '*'.
method TestGovernanceAuthorize.test_has_permission_exact_match 290 Line 439: _has_permission returns True on exact permission match.
method TestGovernanceAuthorize.test_has_permission_category_wildcard_match 299 Line 444: _has_permission returns True when category 'queue.*' matches.
method TestGovernanceAuthorize.test_check_rule_cache_hit_within_ttl 309 Lines 463-465: _query_prolog returns cached result within TTL.
class TestDeliveryGuarantees 332 Tests for guarantees.py AT_MOST_ONCE paths.
method TestDeliveryGuarantees.test_handle_nack_at_most_once_discards_and_returns 335 Lines 205-206: negative_acknowledge with AT_MOST_ONCE discards pending ack.
method TestDeliveryGuarantees.test_check_timeouts_at_most_once_discards_pending 358 Line 308: check_timeouts with AT_MOST_ONCE discards pending ack.
class TestHealthChecker 391 Tests for health.py Redis/graph check and readiness endpoint.
method TestHealthChecker.test_check_redis_returns_status_dict 394 Lines 25-26: check_redis returns dict with status and service keys.
method TestHealthChecker.test_check_graph_returns_status_dict 408 Lines 39-40: check_graph returns dict with status and service keys.
method TestHealthChecker.test_readiness_endpoint_returns_status_when_healthy_or_degraded 422 Line 105: readiness endpoint returns status when healthy/degraded.
method TestHealthChecker.test_get_overall_status_returns_structured_dict 450 get_overall_status exercises both check_redis and check_graph branches.
class TestPriorityQueueImpl 470 Tests for priority.py uncovered lines.
method TestPriorityQueueImpl.test_peek_pops_stale_entry_from_heap 473 Line 113: peek() skips stale entries removed from _entries.
method TestPriorityQueueImpl.test_checkpoint_serializes_ttl_expires_at 502 Line 191: checkpoint serializes ttl_expires_at when present.
method TestPriorityQueueImpl.test_recover_deserializes_ttl_expires_at 533 Line 238: recover deserializes ttl_expires_at from checkpoint.
method TestPriorityQueueImpl.test_get_entry_age_unknown_entry_returns_zero 568 Line 262: _get_entry_age returns 0.0 for unknown entry_id.
class TestPriorityScheduler 579 Tests for PriorityScheduler uncovered lines.
method TestPriorityScheduler.test_check_starvation_non_priority_queue_returns_empty 582 Line 311: check_starvation returns [] when queue is not PriorityQueueImpl.
method TestPriorityScheduler.test_apply_starvation_boost_non_priority_queue_returns_immediately 598 Line 331: _apply_starvation_boost returns immediately for non-PriorityQueueImpl.
method TestPriorityScheduler.test_apply_starvation_boost_entry_not_in_entries_returns 613 Line 335: _apply_starvation_boost returns when entry_id not in entries.
method TestPriorityScheduler.test_apply_starvation_boost_zero_threshold_boosts_to_max 627 Line 345: _apply_starvation_boost with age_boost_threshold=0 boosts to CRITICAL.
method TestPriorityScheduler.test_detect_inversions_non_priority_queue_returns_empty 656 Line 383: detect_priority_inversion returns [] for non-PriorityQueueImpl.
method TestPriorityScheduler.test_detect_inversions_finds_actual_inversions 672 Lines 397, 399: detect_priority_inversion finds inversion pairs.
class TestDiskBackedQueueCheckpoint 719 Tests for queue.py DiskBackedQueue checkpoint with lock -- lines 201-202.
method TestDiskBackedQueueCheckpoint.test_checkpoint_with_lock_succeeds 722 Lines 201-202: checkpoint() acquires lock and saves state.
class TestBoundedQueueDelegation 741 Tests for BoundedQueue delegation -- lines 402, 414, 418.
method TestBoundedQueueDelegation.test_clear_delegation 744 Line 402: BoundedQueue.clear() delegates to underlying queue.
method TestBoundedQueueDelegation.test_checkpoint_delegation 768 Line 414: BoundedQueue.checkpoint() delegates to underlying queue.
method TestBoundedQueueDelegation.test_recover_delegation 783 Line 418: BoundedQueue.recover() delegates to underlying queue.
class TestPriorityQueueRecover 800 Tests for PriorityQueue.recover() returning 0 -- line 471.
method TestPriorityQueueRecover.test_priority_queue_recover_returns_zero 803 Line 471: PriorityQueue.recover() always returns 0.
class TestRedisQueueErrors 815 Tests for RedisQueue exception paths using bypassed construction.
method TestRedisQueueErrors.test_redis_queue_raises_queue_error_on_construction_failure 818 RedisQueue raises QueueError if Redis connection fails at init.
method TestRedisQueueErrors.test_redis_queue_dequeue_returns_none_when_empty 825 Lines 549, 563: RedisQueue.dequeue and peek return None for empty queue.
method TestRedisQueueErrors.test_redis_queue_enqueue_exception_raises_queue_error 867 Lines 534-535, 551-552, 565-566, 589-590: RedisQueue operation exceptions.
method TestRedisQueueErrors.test_redis_queue_recover_returns_size 917 Line 611: RedisQueue.recover() returns current queue size.
class TestQueueManagerDeleteDiskBacked 947 Tests for queue_manager.py delete_queue with DiskBackedQueue -- lines 117-118.
method TestQueueManagerDeleteDiskBacked.test_delete_disk_backed_queue_not_wrapped 950 Lines 117-118: delete_queue calls close() on unwrapped DiskBackedQueue.
method TestQueueManagerDeleteDiskBacked.test_get_dead_letter_queue_already_exists_in_queues 980 Line 217: get_dead_letter_queue returns from _queues when already present.
class TestRoutingEngine 1013 Tests for router.py uncovered lines.
method TestRoutingEngine.test_check_governance_no_rule_matches_returns_false 1016 Line 145: _check_governance returns (False, message) when no rule matches.
method TestRoutingEngine.test_resolve_unknown_routing_type_raises_routing_error 1032 Line 296: resolve raises RoutingError for unknown routing_type.
method TestRoutingEngine.test_invalidate_cache_pattern_matching_in_recipient_part 1050 Lines 354-355: invalidate_cache removes entries matching pattern in recipient.
method TestRoutingEngine.test_invalidate_cache_pattern_in_key_without_pipe 1063 Lines 354-355: invalidate_cache fallback when key has no pipe separator.
class TestSubscriptionManagerInvalidPattern 1081 Tests for subscription_manager.py InvalidTopicPatternError -- lines 45-46.
method TestSubscriptionManagerInvalidPattern.test_subscribe_invalid_pattern_raises_error 1084 Lines 45-46: subscribe raises InvalidTopicPatternError for invalid pattern.
class TestTypesToDict 1103 Tests for types.py to_dict/from_dict methods.
method TestTypesToDict.test_message_payload_to_dict 1106 Line 161: MessagePayload.to_dict() returns correct dictionary.
method TestTypesToDict.test_message_payload_from_dict 1120 Line 171: MessagePayload.from_dict() creates correct instance.
method TestTypesToDict.test_delivery_receipt_from_dict 1134 Lines 222-225: DeliveryReceipt.from_dict() creates correct instance.
method TestTypesToDict.test_delivery_receipt_from_dict_without_receipt_type 1156 Lines 222-225: DeliveryReceipt.from_dict() when receipt_type is absent.
method TestTypesToDict.test_delivery_result_to_dict 1168 Line 254: DeliveryResult.to_dict() returns correct dictionary.
method TestTypesToDict.test_queue_status_to_dict 1184 Line 311: QueueStatus.to_dict() returns correct dictionary.
method TestTypesToDict.test_queue_stats_to_dict 1200 Line 338: QueueStats.to_dict() returns correct dictionary.
method TestTypesToDict.test_subscription_to_dict_with_ttl 1219 Line 424: Subscription.to_dict() returns correct dictionary with ttl.
method TestTypesToDict.test_subscription_to_dict_no_ttl 1235 Line 424: Subscription.to_dict() with None ttl/last_message_at.
method TestTypesToDict.test_filter_criteria_to_dict 1242 Line 454: FilterCriteria.to_dict() returns correct dictionary.
method TestTypesToDict.test_routing_rule_to_dict 1259 Line 480: RoutingRule.to_dict() returns correct dictionary.
method TestTypesToDict.test_replay_options_to_dict 1277 Line 581: ReplayOptions.to_dict() returns correct dictionary.
method TestTypesToDict.test_replay_result_to_dict 1291 Line 603: ReplayResult.to_dict() returns correct dictionary.