You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
|`wait_until_async`| session |`Callable`| Async counterpart of `wait_until` for awaitable predicates |
57
+
|`resources_dir`| module |`Path`| Path to `tests/integration/resources/`|
58
+
|`crypto_keys`| session |`Path`| Generates ephemeral RSA + AES keys under `tests/integration/keys/` for the cryptostore component (see `tests/crypto_utils.py`) |
60
59
|`flush_redis`| session |`None`| Side-effect fixture that clears the `dapr_redis` container once per session |
61
-
|`redis_set`| session |`Callable`| Returns `set(key, value, version=1)` that seeds a Dapr configuration value into Redis (`value||version`) |
60
+
|`redis_set_config`| session |`Callable`| Returns `_set(key, value, version=1)` that seeds a Dapr configuration value into Redis (`value||version`) |
62
61
63
-
All four are session-scoped (defined in `tests/conftest.py`) so that module-scoped fixtures can depend on them.
62
+
`flush_redis` and `redis_set_config`are session-scoped (defined in `tests/conftest.py`) so module-scoped fixtures can depend on them.
64
63
65
-
Each test file defines its own module-scoped `client` fixture that calls `dapr_env.start_sidecar(...)`.
64
+
Polling helpers are **plain functions**, not fixtures — import them directly:
65
+
66
+
```python
67
+
from tests.wait_utils import wait_until, wait_until_async
68
+
```
69
+
70
+
Both have signature `(condition, timeout=10.0, interval=0.1)` and raise `TimeoutError` if the deadline elapses. `wait_until_async` awaits an awaitable condition.
71
+
72
+
Each test file defines its own module-scoped fixture (`client` or `sidecar`) that calls `dapr_env.start_sidecar(...)`.
66
73
67
74
## Building blocks covered
68
75
@@ -116,7 +123,7 @@ Some building blocks (invoke, pubsub) require an app process running alongside t
116
123
117
124
1. Create `test_<building_block>.py`
118
125
2. Add a module-scoped `client` fixture that calls `dapr_env.start_sidecar(app_id='test-<name>')`
119
-
3. If the building block needs a new Dapr component, add a YAML to `components/`
126
+
3. If the building block needs a new Dapr component, add a YAML to `resources/`
120
127
4. If the building block needs a running app, add it to `apps/` and pass `app_cmd` / `app_port` to `start_sidecar()`
121
128
5. Use unique keys/resource IDs per test to avoid interference (the sidecar is shared within a module)
122
129
6. Assert on SDK return types and gRPC status codes, not on string output
0 commit comments