diff --git a/tests/app/service/test_rest.py b/tests/app/service/test_rest.py index d5791ed80..b0172e7a4 100644 --- a/tests/app/service/test_rest.py +++ b/tests/app/service/test_rest.py @@ -5,7 +5,7 @@ from unittest import TestCase from unittest.mock import ANY import pytest -from flask import Request, current_app, url_for +from flask import Flask, current_app, request, url_for from freezegun import freeze_time from sqlalchemy.exc import SQLAlchemyError @@ -3679,58 +3679,61 @@ def test_get_service_notification_statistics_by_day( assert response == mock_data +test_app = Flask(__name__) + + class TestCheckRequestArgs(TestCase): def test_check_request_args_valid(self): - request = Request.from_values( + with test_app.test_request_context( query_string={ "service_id": "123", "name": "Test Service", "email_from": "test@example.com", } - ) + ): - service_id, name, email_from = check_request_args(request) - self.assertEqual(service_id, "123") - self.assertEqual(name, "Test Service") - self.assertEqual(email_from, "test@example.com") + service_id, name, email_from = check_request_args(request) + self.assertEqual(service_id, "123") + self.assertEqual(name, "Test Service") + self.assertEqual(email_from, "test@example.com") def test_check_request_args_missing_service_id(self): - request = Request.from_values( + with test_app.test_request_context( query_string={"name": "Test Service", "email_from": "test@example.com"} - ) + ): - with self.assertRaise(InvalidRequest) as context: - check_request_args(request) - self.assertEqual(context.exception.status_code, 400) - self.assertIn({"service_id": ["Can't be empty"]}, context.exception.errors) + with self.assertRaise(InvalidRequest) as context: + check_request_args(request) + self.assertEqual(context.exception.status_code, 400) + self.assertIn({"service_id": ["Can't be empty"]}, context.exception.errors) def test_check_request_args_missing_name(self): - request = Request.from_values( + with test_app.test_request_context( query_string={"service_id": "123", "email_from": "test@example.com"} - ) + ): - with self.assertRaise(InvalidRequest) as context: - check_request_args(request) - self.assertEqual(context.exception.status_code, 400) - self.assertIn({"name": ["Can't be empty"]}, context.exception.errors) + with self.assertRaise(InvalidRequest) as context: + check_request_args(request) + self.assertEqual(context.exception.status_code, 400) + self.assertIn({"name": ["Can't be empty"]}, context.exception.errors) def test_check_request_args_missing_email_from(self): - request = Request.from_values( + with test_app.test_request_context( query_string={"service_id": "123", "name": "Test Service"} - ) + ): - with self.assertRaise(InvalidRequest) as context: - check_request_args(request) - self.assertEqual(context.exception.status_code, 400) - self.assertIn({"email_from": ["Can't be empty"]}, context.exception.errors) + with self.assertRaise(InvalidRequest) as context: + check_request_args(request) + self.assertEqual(context.exception.status_code, 400) + self.assertIn({"email_from": ["Can't be empty"]}, context.exception.errors) def test_check_request_args_missing_all(self): - request = Request.from_values(query_string={}) + with test_app.test_request_context(query_string={}): - with self.assertRaise(InvalidRequest) as context: - check_request_args(request) - self.assertEqual(context.exception.status_code, 400) - self.assertIn({"email_from": ["Can't be empty"]}, context.exception.errors) - self.assertIn({"name": ["Can't be empty"]}, context.exception.errors) - self.assertIn({"service_id": ["Can't be empty"]}, context.exception.errors) + with self.assertRaise(InvalidRequest) as context: + check_request_args(request) + self.assertEqual(context.exception.status_code, 400) + self.assertIn({"email_from": ["Can't be empty"]}, context.exception.errors) + self.assertIn({"name": ["Can't be empty"]}, context.exception.errors) + self.assertIn({"service_id": ["Can't be empty"]}, context.exception.errors)