mirror of
https://github.com/jazzband/django-celery-monitor.git
synced 2026-03-16 22:00:24 +00:00
36 lines
919 B
Python
36 lines
919 B
Python
from __future__ import absolute_import, unicode_literals
|
|
|
|
import pytest
|
|
|
|
from celery.contrib.pytest import depends_on_current_app
|
|
from celery.contrib.testing.app import TestApp, Trap
|
|
|
|
__all__ = ['app', 'depends_on_current_app']
|
|
|
|
|
|
@pytest.fixture(scope='session', autouse=True)
|
|
def setup_default_app_trap():
|
|
from celery._state import set_default_app
|
|
set_default_app(Trap())
|
|
|
|
|
|
@pytest.fixture()
|
|
def app(celery_app):
|
|
return celery_app
|
|
|
|
|
|
@pytest.fixture(autouse=True)
|
|
def test_cases_shortcuts(request, app, patching):
|
|
if request.instance:
|
|
@app.task
|
|
def add(x, y):
|
|
return x + y
|
|
|
|
# IMPORTANT: We set an .app attribute for every test case class.
|
|
request.instance.app = app
|
|
request.instance.Celery = TestApp
|
|
request.instance.add = add
|
|
request.instance.patching = patching
|
|
yield
|
|
if request.instance:
|
|
request.instance.app = None
|