MCPcopy Create free account
hub / github.com/alphagov/notifications-api / test_retryable_query_default_session

Function test_retryable_query_default_session

tests/app/test_utils.py:203–228  ·  view source on GitHub ↗
(caplog)

Source from the content-addressed store, hash-verified

201
202
203def test_retryable_query_default_session(caplog):
204 mock_default_session = mock.Mock(autospec=Session)
205 n = 0
206
207 @retryable_query(default_retry_attempts=2, exception_cls=_ExampleException)
208 def dummy_function(foo, bar=123, session=mock_default_session):
209 assert foo == "baz"
210 assert bar == 123
211
212 session.execute(321)
213 nonlocal n
214 n += 1
215
216 if n < 2:
217 raise _ExampleException("example reason")
218
219 dummy_function("baz")
220
221 assert mock_default_session.mock_calls == [
222 mock.call.execute(321),
223 mock.call.rollback(),
224 mock.call.execute(321),
225 ]
226 assert caplog.messages == [
227 "Attempt 0 of query failed",
228 ]
229
230
231def test_retryable_query_positional_session(caplog):

Callers

nothing calls this directly

Calls 1

dummy_functionFunction · 0.85

Tested by

no test coverage detected