diff options
author | Michael Manfre | 2022-11-27 13:09:46 -0500 |
---|---|---|
committer | GitHub | 2022-11-27 11:09:46 -0700 |
commit | 6c7ddedd342553b53dd98c8de9cbe9e8e2e8cd7c (patch) | |
tree | e34059bca5e13a8a614687face1153d63e7f5654 /tests/conftest.py | |
parent | 263af996d8ed05e37ef5a62c6ed240216a6eb67b (diff) | |
download | takahe-6c7ddedd342553b53dd98c8de9cbe9e8e2e8cd7c.tar.gz takahe-6c7ddedd342553b53dd98c8de9cbe9e8e2e8cd7c.tar.bz2 takahe-6c7ddedd342553b53dd98c8de9cbe9e8e2e8cd7c.zip |
Post editing
Diffstat (limited to 'tests/conftest.py')
-rw-r--r-- | tests/conftest.py | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/conftest.py b/tests/conftest.py index d506c5c..a3feaca 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -1,6 +1,9 @@ +import time + import pytest from core.models import Config +from stator.runner import StatorModel, StatorRunner from users.models import Domain, Identity, User @@ -120,3 +123,26 @@ def remote_identity() -> Identity: name="Test Remote User", local=False, ) + + +@pytest.fixture +def stator_runner(config_system) -> StatorRunner: + """ + Return an initialized StatorRunner for tests that need state transitioning + to happen. + + Example: + # Do some tasks with state side effects + async_to_sync(stator_runner.fetch_and_process_tasks)() + """ + runner = StatorRunner( + StatorModel.subclasses, + concurrency=100, + schedule_interval=30, + ) + runner.handled = 0 + runner.started = time.monotonic() + runner.last_clean = time.monotonic() - runner.schedule_interval + runner.tasks = [] + + return runner |