From 8b4a954f2b44b7c742fa9b5c7b97b0579f551a92 Mon Sep 17 00:00:00 2001 From: Leo Hemsted Date: Thu, 9 Jul 2020 20:10:34 +0100 Subject: [PATCH] move schema import in to function level solves `AttributeError: 'DummySession' object has no attribute 'query'` if you don't do this you get really hard to diagnose errors in unrelated tests, due to strange import order problems or something --- app/celery/broadcast_message_tasks.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/app/celery/broadcast_message_tasks.py b/app/celery/broadcast_message_tasks.py index 4451aee7e..837bf352b 100644 --- a/app/celery/broadcast_message_tasks.py +++ b/app/celery/broadcast_message_tasks.py @@ -3,8 +3,6 @@ from flask import current_app from notifications_utils.statsd_decorators import statsd from app import notify_celery -from app.schemas import template_schema - from app.dao.broadcast_message_dao import dao_get_broadcast_message_by_id @@ -12,6 +10,10 @@ from app.dao.broadcast_message_dao import dao_get_broadcast_message_by_id @notify_celery.task(name="send-broadcast-message") @statsd(namespace="tasks") def send_broadcast_message(broadcast_message_id, provider='stub-1'): + # imports of schemas from tasks have to happen within functions to prevent + # `AttributeError: 'DummySession' object has no attribute 'query'` errors in unrelated tests + from app.schemas import template_schema + broadcast_message = dao_get_broadcast_message_by_id(broadcast_message_id) current_app.logger.info(