@@ -245,3 +245,46 @@ def test_delete_many_without_pseudonym_removes_referrals_of_the_source(
245245
246246 assert pseudonym_referral_service .delete_many (ura_number , source = SOURCE ) == 2
247247 assert pseudonym_referral_service .query (ura_number )[0 ] == 1
248+
249+
250+ def test_query_logs_a_failure_when_the_pseudonym_is_rejected (
251+ rejecting_service : PseudonymReferralService , ura_number : UraNumber , caplog : pytest .LogCaptureFixture
252+ ) -> None :
253+ with caplog .at_level (logging .INFO ), pytest .raises (PseudonymExchangeError ):
254+ rejecting_service .query (ura_number , pseudonym = PSEUDONYM )
255+
256+ (fields ,) = logged_fields (caplog , Log .REFERRAL_QUERY_FAILED )
257+ assert fields ["http_status" ] == 400
258+
259+
260+ def test_query_without_a_pseudonym_logs_no_failure (
261+ pseudonym_referral_service : PseudonymReferralService , ura_number : UraNumber , caplog : pytest .LogCaptureFixture
262+ ) -> None :
263+ with caplog .at_level (logging .INFO ):
264+ pseudonym_referral_service .query (ura_number )
265+
266+ assert logged_fields (caplog , Log .REFERRAL_QUERY_FAILED ) == []
267+
268+
269+ def test_delete_many_logs_a_failure_when_it_breaks (
270+ failing_service : PseudonymReferralService , ura_number : UraNumber , caplog : pytest .LogCaptureFixture
271+ ) -> None :
272+ with caplog .at_level (logging .INFO ), pytest .raises (RuntimeError ):
273+ failing_service .delete_many (ura_number , pseudonym = PSEUDONYM , source = SOURCE )
274+
275+ (fields ,) = logged_fields (caplog , Log .REFERRALS_DELETE_FAILED )
276+ assert fields ["http_status" ] == 500
277+ assert fields ["error_reason" ] == "boom"
278+
279+
280+ def test_delete_many_logs_no_failure_when_nothing_matches (
281+ pseudonym_referral_service : PseudonymReferralService ,
282+ key_info_service : KeyInfoService ,
283+ ura_number : UraNumber ,
284+ caplog : pytest .LogCaptureFixture ,
285+ ) -> None :
286+ key_info_service .add_one ("nvi-label" , "AES_CBC" )
287+ with caplog .at_level (logging .INFO ):
288+ assert pseudonym_referral_service .delete_many (ura_number , pseudonym = PSEUDONYM , source = SOURCE ) == 0
289+
290+ assert logged_fields (caplog , Log .REFERRALS_DELETE_FAILED ) == []
0 commit comments