@@ -192,3 +192,46 @@ def test_delete_many_without_pseudonym_removes_referrals_of_the_source(
192192
193193 assert pseudonym_referral_service .delete_many (ura_number , source = SOURCE ) == 2
194194 assert pseudonym_referral_service .query (ura_number )[0 ] == 1
195+
196+
197+ def test_query_logs_a_failure_when_the_pseudonym_is_rejected (
198+ rejecting_service : PseudonymReferralService , ura_number : UraNumber , caplog : pytest .LogCaptureFixture
199+ ) -> None :
200+ with caplog .at_level (logging .INFO ), pytest .raises (PseudonymExchangeError ):
201+ rejecting_service .query (ura_number , pseudonym = PSEUDONYM )
202+
203+ (fields ,) = logged_fields (caplog , Log .REFERRAL_QUERY_FAILED )
204+ assert fields ["http_status" ] == 400
205+
206+
207+ def test_query_without_a_pseudonym_logs_no_failure (
208+ pseudonym_referral_service : PseudonymReferralService , ura_number : UraNumber , caplog : pytest .LogCaptureFixture
209+ ) -> None :
210+ with caplog .at_level (logging .INFO ):
211+ pseudonym_referral_service .query (ura_number )
212+
213+ assert logged_fields (caplog , Log .REFERRAL_QUERY_FAILED ) == []
214+
215+
216+ def test_delete_many_logs_a_failure_when_it_breaks (
217+ failing_service : PseudonymReferralService , ura_number : UraNumber , caplog : pytest .LogCaptureFixture
218+ ) -> None :
219+ with caplog .at_level (logging .INFO ), pytest .raises (RuntimeError ):
220+ failing_service .delete_many (ura_number , pseudonym = PSEUDONYM , source = SOURCE )
221+
222+ (fields ,) = logged_fields (caplog , Log .REFERRALS_DELETE_FAILED )
223+ assert fields ["http_status" ] == 500
224+ assert fields ["error_reason" ] == "boom"
225+
226+
227+ def test_delete_many_logs_no_failure_when_nothing_matches (
228+ pseudonym_referral_service : PseudonymReferralService ,
229+ key_info_service : KeyInfoService ,
230+ ura_number : UraNumber ,
231+ caplog : pytest .LogCaptureFixture ,
232+ ) -> None :
233+ key_info_service .add_one ("nvi-label" , "AES_CBC" )
234+ with caplog .at_level (logging .INFO ):
235+ assert pseudonym_referral_service .delete_many (ura_number , pseudonym = PSEUDONYM , source = SOURCE ) == 0
236+
237+ assert logged_fields (caplog , Log .REFERRALS_DELETE_FAILED ) == []
0 commit comments