synapse/tests/rest/client
Erik Johnston b74c29f694
Move towards a dedicated Duration class (#19223)
We have various constants to try and avoid mistyping of durations, e.g.
`ONE_HOUR_SECONDS * MILLISECONDS_PER_SECOND`, however this can get a
little verbose and doesn't help with typing.

Instead, let's move towards a dedicated `Duration` class (basically a
[`timedelta`](https://docs.python.org/3/library/datetime.html#timedelta-objects)
with helper methods).

This PR introduces the new types and converts all usages of the existing
constants with it. Future PRs may work to move the clock methods to also
use it (e.g. `call_later` and `looping_call`).

Reviewable commit-by-commit.
2025-11-26 10:56:59 +00:00
..
sliding_sync Move towards a dedicated Duration class (#19223) 2025-11-26 10:56:59 +00:00
__init__.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
test_account_data.py Correctly mention previous copyright (#16820) 2024-01-23 11:26:48 +00:00
test_account.py Write union types as X | Y where possible (#19111) 2025-11-06 14:02:33 -06:00
test_auth_metadata.py Support stable endpoint and scopes from the MSC3861 family (#18549) 2025-09-02 13:55:12 +02:00
test_auth.py Write union types as X | Y where possible (#19111) 2025-11-06 14:02:33 -06:00
test_capabilities.py Introduce Clock.call_when_running(...) to include logcontext by default (#18944) 2025-09-22 10:27:59 -05:00
test_consent.py Introduce Clock.call_when_running(...) to include logcontext by default (#18944) 2025-09-22 10:27:59 -05:00
test_delayed_events.py MSC4140: Remove auth from delayed event management endpoints (#19152) 2025-11-13 18:56:17 +00:00
test_devices.py Allow using MSC4190 features without opt-in (#19031) 2025-10-13 13:07:11 +00:00
test_directory.py Introduce Clock.call_when_running(...) to include logcontext by default (#18944) 2025-09-22 10:27:59 -05:00
test_ephemeral_message.py Introduce Clock.call_when_running(...) to include logcontext by default (#18944) 2025-09-22 10:27:59 -05:00
test_events.py Introduce Clock.call_when_running(...) to include logcontext by default (#18944) 2025-09-22 10:27:59 -05:00
test_filter.py Introduce Clock.call_when_running(...) to include logcontext by default (#18944) 2025-09-22 10:27:59 -05:00
test_identity.py Introduce Clock.call_when_running(...) to include logcontext by default (#18944) 2025-09-22 10:27:59 -05:00
test_keys.py Update KeyUploadServlet to handle case where client sends device_keys: null (#19023) 2025-10-07 16:23:55 +01:00
test_login_token_request.py Introduce Clock.call_when_running(...) to include logcontext by default (#18944) 2025-09-22 10:27:59 -05:00
test_login.py Write union types as X | Y where possible (#19111) 2025-11-06 14:02:33 -06:00
test_matrixrtc.py Add MatrixRTC backend/services discovery endpoint (#18967) 2025-10-09 17:15:47 +01:00
test_media.py Write union types as X | Y where possible (#19111) 2025-11-06 14:02:33 -06:00
test_models.py Pydantic v2 (#19071) 2025-10-31 09:22:22 +00:00
test_mutual_rooms.py Put MSC2666 endpoint behind an experimental flag (#19219) 2025-11-25 18:03:33 +00:00
test_notifications.py Write union types as X | Y where possible (#19111) 2025-11-06 14:02:33 -06:00
test_owned_state.py Introduce Clock.call_when_running(...) to include logcontext by default (#18944) 2025-09-22 10:27:59 -05:00
test_password_policy.py Introduce Clock.call_when_running(...) to include logcontext by default (#18944) 2025-09-22 10:27:59 -05:00
test_power_levels.py Introduce Clock.call_when_running(...) to include logcontext by default (#18944) 2025-09-22 10:27:59 -05:00
test_presence.py Introduce Clock.call_when_running(...) to include logcontext by default (#18944) 2025-09-22 10:27:59 -05:00
test_profile.py Write union types as X | Y where possible (#19111) 2025-11-06 14:02:33 -06:00
test_push_rule_attrs.py Configure Synapse to run MSC4306: Thread Subscriptions Complement tests. (#18819) 2025-09-09 11:40:10 +01:00
test_read_marker.py Introduce Clock.call_when_running(...) to include logcontext by default (#18944) 2025-09-22 10:27:59 -05:00
test_receipts.py Write union types as X | Y where possible (#19111) 2025-11-06 14:02:33 -06:00
test_redactions.py Write union types as X | Y where possible (#19111) 2025-11-06 14:02:33 -06:00
test_register.py Use type hinting generics in standard collections (#19046) 2025-10-22 16:48:19 -05:00
test_relations.py Write union types as X | Y where possible (#19111) 2025-11-06 14:02:33 -06:00
test_rendezvous.py Use type hinting generics in standard collections (#19046) 2025-10-22 16:48:19 -05:00
test_reporting.py Write union types as X | Y where possible (#19111) 2025-11-06 14:02:33 -06:00
test_retention.py Use type hinting generics in standard collections (#19046) 2025-10-22 16:48:19 -05:00
test_rooms.py Write union types as X | Y where possible (#19111) 2025-11-06 14:02:33 -06:00
test_sendtodevice.py Remove obsolete and experimental /sync/e2ee endpoint. (#18583) 2025-09-09 09:28:45 +01:00
test_shadow_banned.py Introduce Clock.call_when_running(...) to include logcontext by default (#18944) 2025-09-22 10:27:59 -05:00
test_sync.py Use type hinting generics in standard collections (#19046) 2025-10-22 16:48:19 -05:00
test_tags.py Don't allow tagnames longer than 255 bytes (#18660) 2025-07-18 14:23:28 +01:00
test_third_party_rules.py Write union types as X | Y where possible (#19111) 2025-11-06 14:02:33 -06:00
test_thread_subscriptions.py Pydantic v2 (#19071) 2025-10-31 09:22:22 +00:00
test_transactions.py Move towards a dedicated Duration class (#19223) 2025-11-26 10:56:59 +00:00
test_typing.py Introduce Clock.call_when_running(...) to include logcontext by default (#18944) 2025-09-22 10:27:59 -05:00
test_upgrade_room.py Write union types as X | Y where possible (#19111) 2025-11-06 14:02:33 -06:00
utils.py Write union types as X | Y where possible (#19111) 2025-11-06 14:02:33 -06:00