22import logging
33
44import pytest
5- from enums .lambda_error import LambdaError
65from handlers .get_report_by_ods_handler import (
76 handle_api_gateway_request ,
87 handle_manual_trigger ,
98 lambda_handler ,
109)
11- from services .feature_flags_service import FeatureFlagService
12- from tests .unit .conftest import MOCK_INTERACTION_ID
1310from utils .exceptions import OdsErrorException
1411from utils .lambda_response import ApiGatewayResponse
1512from utils .request_context import request_context
@@ -26,32 +23,14 @@ def mock_service(mocker):
2623 return mock_service
2724
2825
29- @pytest .fixture
30- def mock_lambda_enabled (mocker ):
31- mock_function = mocker .patch .object (FeatureFlagService , "get_feature_flags_by_flag" )
32- mock_upload_lambda_feature_flag = mock_function .return_value = {
33- "downloadOdsReportEnabled" : True
34- }
35- return mock_upload_lambda_feature_flag
36-
37-
38- @pytest .fixture
39- def mock_lambda_disabled (mocker ):
40- mock_function = mocker .patch .object (FeatureFlagService , "get_feature_flags_by_flag" )
41- mock_upload_lambda_feature_flag = mock_function .return_value = {
42- "downloadOdsReportEnabled" : False
43- }
44- return mock_upload_lambda_feature_flag
45-
46-
4726@pytest .fixture
4827def mock_jwt_encode (mocker ):
4928 decoded_token = {"selected_organisation" : {"org_ods_code" : "ODS123" }}
5029 yield mocker .patch ("jwt.decode" , return_value = decoded_token )
5130
5231
5332def test_lambda_handler_api_gateway_request (
54- mock_service , set_env , context , mock_jwt_encode , mock_lambda_enabled
33+ mock_service , set_env , context , mock_jwt_encode
5534):
5635 event = {"httpMethod" : "GET" , "headers" : {"Authorization" : "mock_token" }}
5736 mock_service .get_nhs_numbers_by_ods .return_value = "example.com/presigned-url"
@@ -70,9 +49,7 @@ def test_lambda_handler_api_gateway_request(
7049 )
7150
7251
73- def test_lambda_handler_manual_trigger (
74- mock_service , set_env , context , mock_lambda_enabled
75- ):
52+ def test_lambda_handler_manual_trigger (mock_service , set_env , context ):
7653 event = {"odsCode" : "ODS123,ODS456" }
7754 mock_service .get_nhs_numbers_by_ods .return_value = None
7855 expected = ApiGatewayResponse (
@@ -91,19 +68,6 @@ def test_lambda_handler_manual_trigger(
9168 )
9269
9370
94- def test_lambda_handler_feature_flag_disabled (
95- mock_service , set_env , context , mock_lambda_disabled
96- ):
97- request_context .request_id = MOCK_INTERACTION_ID
98- expected = ApiGatewayResponse (
99- 500 , LambdaError .FeatureFlagDisabled .create_error_body (), "GET"
100- ).create_api_gateway_response ()
101-
102- actual = lambda_handler ({"httpMethod" : "GET" }, context )
103-
104- assert expected == actual
105-
106-
10771@pytest .mark .parametrize (
10872 ["event" , "output" ],
10973 [
0 commit comments