castlecraft_engineer.testing.query_bus
¶
castlecraft_engineer.testing.query_bus
¶
QueryBusTestHelper
¶
A helper class for testing QueryBus interactions.
Manages registration and cleanup of handlers and dependencies within a DI container for isolated testing.
Source code in src/castlecraft_engineer/testing/query_bus.py
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 |
|
cleanup()
¶
Restores the container and bus to their original state.
Source code in src/castlecraft_engineer/testing/query_bus.py
execute(query, **kwargs)
¶
register_handler(handler_cls, dependencies=None)
¶
Registers a handler and its dependencies in the container for the test.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
handler_cls
|
Type[THandler]
|
The QueryHandler class to register. |
required |
dependencies
|
Optional[Dict[Type, Any]]
|
A dictionary mapping dependency types to specific instances or mocks to be used by this handler. |
None
|
Returns:
Type | Description |
---|---|
THandler
|
An instance of the registered handler |
THandler
|
resolved from the container. |
Source code in src/castlecraft_engineer/testing/query_bus.py
mock_session()
¶
mock_session_factory(mock_session)
¶
Provides a mock sessionmaker that returns the mock_session.
Source code in src/castlecraft_engineer/testing/query_bus.py
query_bus_helper(request)
¶
Provides an isolated QueryBusTestHelper instance, container, and bus for each test, with automatic cleanup.