77class TestEnhancedVerifyApiKey :
88 """Test EnhancedVerifyApiKey Shared Flow"""
99
10- @pytest .mark .parametrize ("expected_status_code" , [(200 )])
10+ @pytest .mark .parametrize ("expected_status_code, expected_message " , [(200 , "share-flow-testing" )])
1111 def test_valid_api_key_products_subscribed (
1212 self ,
1313 _create_function_scoped_test_app ,
1414 _proxy_product_with_scope ,
1515 nhsd_apim_proxy_url ,
1616 nhsd_apim_config ,
17- expected_status_code
17+ expected_status_code ,
18+ expected_message
1819 ):
1920 # Create app with products
2021 app = _create_function_scoped_test_app
@@ -50,6 +51,7 @@ def test_valid_api_key_products_subscribed(
5051 )
5152
5253 assert proxy_resp .status_code == expected_status_code
54+ assert proxy_resp .json ().get ("message" ) == expected_message
5355
5456 @pytest .mark .parametrize ("expected_status_code, expected_message" , [(403 , "no_products" )])
5557 def test_valid_api_key_no_subscribed_products (
@@ -72,13 +74,14 @@ def test_valid_api_key_no_subscribed_products(
7274 assert proxy_resp .status_code == expected_status_code
7375 assert proxy_resp .json ().get ("error" ) == expected_message
7476
75- @pytest .mark .parametrize ("expected_status_code" , [(401 )])
77+ @pytest .mark .parametrize ("expected_status_code, expected_message " , [(401 , "ApiKey not approved" )])
7678 def test_revoked_api_key (
7779 self ,
7880 _create_function_scoped_test_app ,
7981 nhsd_apim_proxy_url ,
8082 nhsd_apim_config ,
81- expected_status_code
83+ expected_status_code ,
84+ expected_message
8285 ):
8386 app = _create_function_scoped_test_app
8487 app_name = app ["name" ]
@@ -109,6 +112,9 @@ def test_revoked_api_key(
109112
110113 assert proxy_resp .status_code == expected_status_code
111114
115+ error_msg_resp = proxy_resp .json ().get ("fault" , {}).get ("faultstring" )
116+ assert error_msg_resp == expected_message
117+
112118 @pytest .mark .parametrize ("apikey, expected_status_code" , [
113119 ("123" , 401 ), ("abc" , 401 ), ("123abc" , 401 )
114120 ])
@@ -126,13 +132,14 @@ def test_invalid_api_key(
126132
127133 assert proxy_resp .status_code == expected_status_code
128134
129- @pytest .mark .parametrize ("expected_status_code" , [(401 )])
135+ @pytest .mark .parametrize ("expected_status_code, expected_message " , [(401 , "Invalid ApiKey for given resource" )])
130136 def test_valid_api_key_incorrect_product (
131137 self ,
132138 _create_function_scoped_test_app ,
133139 nhsd_apim_proxy_url ,
134140 nhsd_apim_config ,
135- expected_status_code
141+ expected_status_code ,
142+ expected_message
136143 ):
137144 # Create app with an incorrect product
138145 app = _create_function_scoped_test_app
@@ -168,3 +175,6 @@ def test_valid_api_key_incorrect_product(
168175 )
169176
170177 assert proxy_resp .status_code == expected_status_code
178+
179+ error_msg_resp = proxy_resp .json ().get ("fault" , {}).get ("faultstring" )
180+ assert error_msg_resp == expected_message
0 commit comments