@@ -14,6 +14,7 @@ class TestSplunkLogging:
1414 oauth_protected_url = f"https://{ ENVIRONMENT } .api.service.nhs.uk/{ SERVICE_BASE_PATH } /splunk-test"
1515 apikey_protected_url = f"https://{ ENVIRONMENT } .api.service.nhs.uk/{ SERVICE_BASE_PATH } /apikey-protected"
1616 open_access_url = f"https://{ ENVIRONMENT } .api.service.nhs.uk/{ SERVICE_BASE_PATH } /open-access"
17+ ping_url = f"https://{ ENVIRONMENT } .api.service.nhs.uk/{ SERVICE_BASE_PATH } /_ping"
1718
1819 @staticmethod
1920 async def _get_payload_from_splunk (debug ):
@@ -145,7 +146,7 @@ async def test_splunk_auth_with_nhs_login_token_exchange(self, get_token_nhs_log
145146 async def test_splunk_auth_with_invalid_token (self , debug ):
146147 # Given
147148 token = "invalid token"
148- expected_hashed_token = ""
149+ expected_hashed_token = "empty "
149150
150151 # When
151152 await debug .start_trace ()
@@ -160,16 +161,16 @@ async def test_splunk_auth_with_invalid_token(self, debug):
160161 assert auth ["access_token_hash" ] == expected_hashed_token
161162
162163 auth_meta = auth ["meta" ]
163- assert auth_meta ["auth_type" ] == "app "
164+ assert auth_meta ["auth_type" ] == "unknown "
164165 assert auth_meta ["grant_type" ] == ""
165- assert auth_meta ["level" ] == "Level0 "
166+ assert auth_meta ["level" ] == "- "
166167 assert auth_meta ["provider" ] == "apim"
167168
168169 auth_user = auth ["user" ]
169170 assert auth_user ["user_id" ] == ""
170171
171172 meta = payload ["meta" ]
172- assert meta ["client_id" ] == "Not provided "
173+ assert meta ["client_id" ] == "empty "
173174 assert meta ["application" ] == "unknown"
174175 assert meta ["product" ] == ""
175176
@@ -178,7 +179,7 @@ async def test_splunk_auth_with_invalid_token(self, debug):
178179 async def test_splunk_auth_with_expired_token (self , debug ):
179180 # Given
180181 token = "zRygtc34R2pwxbiUktLsMJWX0iJW"
181- expected_hashed_token = ""
182+ expected_hashed_token = "empty "
182183
183184 # When
184185 await debug .start_trace ()
@@ -193,22 +194,21 @@ async def test_splunk_auth_with_expired_token(self, debug):
193194 assert auth ["access_token_hash" ] == expected_hashed_token
194195
195196 auth_meta = auth ["meta" ]
196- assert auth_meta ["auth_type" ] == "app "
197+ assert auth_meta ["auth_type" ] == "unknown "
197198 assert auth_meta ["grant_type" ] == ""
198- assert auth_meta ["level" ] == "Level0 "
199+ assert auth_meta ["level" ] == "- "
199200 assert auth_meta ["provider" ] == "apim"
200201
201202 auth_user = auth ["user" ]
202203 assert auth_user ["user_id" ] == ""
203204
204205 meta = payload ["meta" ]
205- assert meta ["client_id" ] == "Not provided "
206+ assert meta ["client_id" ] == "empty "
206207 assert meta ["application" ] == "unknown"
207208 assert meta ["product" ] == ""
208209
209210 @pytest .mark .splunk
210211 @pytest .mark .asyncio
211- @pytest .mark .debug
212212 async def test_splunk_auth_with_apikey (self , debug ):
213213 # Given
214214 apikey = APP_CLIENT_ID
@@ -228,7 +228,7 @@ async def test_splunk_auth_with_apikey(self, debug):
228228 auth_meta = auth ["meta" ]
229229 assert auth_meta ["auth_type" ] == "app"
230230 assert auth_meta ["grant_type" ] == ""
231- assert auth_meta ["level" ] == "Level0 "
231+ assert auth_meta ["level" ] == "- "
232232 assert auth_meta ["provider" ] == "apim"
233233
234234 auth_user = auth ["user" ]
@@ -258,14 +258,14 @@ async def test_splunk_auth_with_invalid_apikey(self, debug):
258258 auth_meta = auth ["meta" ]
259259 assert auth_meta ["auth_type" ] == "app"
260260 assert auth_meta ["grant_type" ] == ""
261- assert auth_meta ["level" ] == "Level0 "
261+ assert auth_meta ["level" ] == "- "
262262 assert auth_meta ["provider" ] == "apim"
263263
264264 auth_user = auth ["user" ]
265265 assert auth_user ["user_id" ] == ""
266266
267267 meta = payload ["meta" ]
268- assert meta ["client_id" ] == "Not provided "
268+ assert meta ["client_id" ] == ""
269269 assert meta ["application" ] == "unknown"
270270 assert meta ["product" ] == ""
271271
@@ -286,14 +286,42 @@ async def test_splunk_auth_open_access(self, debug):
286286 auth_meta = auth ["meta" ]
287287 assert auth_meta ["auth_type" ] == "app"
288288 assert auth_meta ["grant_type" ] == ""
289- assert auth_meta ["level" ] == "Level0"
289+ assert auth_meta ["level" ] == "open"
290+ assert auth_meta ["provider" ] == "apim"
291+
292+ auth_user = auth ["user" ]
293+ assert auth_user ["user_id" ] == ""
294+
295+ meta = payload ["meta" ]
296+ assert meta ["client_id" ] == "empty"
297+ assert meta ["application" ] == "unknown"
298+
299+ @pytest .mark .splunk
300+ @pytest .mark .asyncio
301+ async def test_splunk_auth_open_access_ping (self , debug ):
302+ # There is nothing especial about /_ping itself. It's an endpoint that doesn't have a target backend
303+ # When
304+ await debug .start_trace ()
305+ requests .get (
306+ url = self .ping_url ,
307+ )
308+ payload = await self ._get_payload_from_splunk (debug )
309+
310+ # Then
311+ auth = payload ["auth" ]
312+ assert auth ["access_token_hash" ] == ""
313+
314+ auth_meta = auth ["meta" ]
315+ assert auth_meta ["auth_type" ] == "app"
316+ assert auth_meta ["grant_type" ] == ""
317+ assert auth_meta ["level" ] == "open"
290318 assert auth_meta ["provider" ] == "apim"
291319
292320 auth_user = auth ["user" ]
293321 assert auth_user ["user_id" ] == ""
294322
295323 meta = payload ["meta" ]
296- assert meta ["client_id" ] == "Not provided "
324+ assert meta ["client_id" ] == "empty "
297325 assert meta ["application" ] == "unknown"
298326
299327 @pytest .mark .splunk
0 commit comments