From ed2418df9989167964f3e6a0fcfbde994227b488 Mon Sep 17 00:00:00 2001 From: Erik Johnston Date: Thu, 14 May 2026 11:36:18 +0100 Subject: [PATCH] tests: add missing required event fields in tests that build dicts directly MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Some test fixtures construct event/PDU dicts inline rather than via make_test_event — typically because they then run them through add_hashes_and_signatures or otherwise depend on the exact dict shape. Add the format-required fields (depth, hashes, auth_events, prev_events, ...) inline in those cases so they keep working under the strict (Rust-bound) constructor. --- tests/federation/test_federation_base.py | 4 ++++ tests/federation/test_federation_client.py | 5 ++++- tests/federation/transport/test_client.py | 10 ++++++++++ tests/rest/client/test_third_party_rules.py | 1 + tests/state/test_v21.py | 1 + 5 files changed, 20 insertions(+), 1 deletion(-) diff --git a/tests/federation/test_federation_base.py b/tests/federation/test_federation_base.py index 1bc1da1feb..5249aad646 100644 --- a/tests/federation/test_federation_base.py +++ b/tests/federation/test_federation_base.py @@ -36,6 +36,10 @@ class FederationBaseTestCase(unittest.HomeserverTestCase): "type": "m.room.message", "room_id": "!r:domain", "sender": f"@u:{self.hs.config.server.server_name}", + "auth_events": [], + "prev_events": [], + "depth": 1, + "hashes": {"sha256": ""}, "signatures": {}, "unsigned": {"age_ts": 1000000}, } diff --git a/tests/federation/test_federation_client.py b/tests/federation/test_federation_client.py index 0535aed107..be006bc90d 100644 --- a/tests/federation/test_federation_client.py +++ b/tests/federation/test_federation_client.py @@ -73,6 +73,7 @@ class FederationClientTest(FederatingHomeserverTestCase): "content": {"creator": self.creator}, "prev_events": [], "auth_events": [], + "depth": 1, "origin_server_ts": 500, } ) @@ -85,6 +86,7 @@ class FederationClientTest(FederatingHomeserverTestCase): "content": {"membership": "join"}, "prev_events": [], "auth_events": [], + "depth": 2, "origin_server_ts": 600, } ) @@ -97,6 +99,7 @@ class FederationClientTest(FederatingHomeserverTestCase): "content": {}, "prev_events": [], "auth_events": [], + "depth": 3, "origin_server_ts": 700, } ) @@ -208,8 +211,8 @@ class FederationClientTest(FederatingHomeserverTestCase): "content": {}, "prev_events": [], "auth_events": [], + "depth": 3, "origin_server_ts": 700, - "depth": 10, } ) diff --git a/tests/federation/transport/test_client.py b/tests/federation/transport/test_client.py index 9a6bbabd35..3b0a2201fb 100644 --- a/tests/federation/transport/test_client.py +++ b/tests/federation/transport/test_client.py @@ -36,7 +36,16 @@ class SendJoinParserTestCase(TestCase): def test_two_writes(self) -> None: """Test that the parser can sensibly deserialise an input given in two slices.""" parser = SendJoinParser(RoomVersions.V1, True) + common_event_fields = { + "sender": "@user:example.org", + "depth": 1, + "origin_server_ts": 1, + "hashes": {"sha256": ""}, + "auth_events": [], + "prev_events": [], + } parent_event = { + **common_event_fields, "content": { "see_room_version_spec": "The event format changes depending on the room version." }, @@ -45,6 +54,7 @@ class SendJoinParserTestCase(TestCase): "type": "m.room.minimal_pdu", } state = { + **common_event_fields, "content": { "see_room_version_spec": "The event format changes depending on the room version." }, diff --git a/tests/rest/client/test_third_party_rules.py b/tests/rest/client/test_third_party_rules.py index 1709b27f67..adb3855a06 100644 --- a/tests/rest/client/test_third_party_rules.py +++ b/tests/rest/client/test_third_party_rules.py @@ -532,6 +532,7 @@ class ThirdPartyRulesTestCase(unittest.FederatingHomeserverTestCase): "origin_server_ts": self.clock.time_msec(), "prev_events": [], "auth_events": [], + "hashes": {"sha256": ""}, "signatures": {}, "unsigned": {}, } diff --git a/tests/state/test_v21.py b/tests/state/test_v21.py index 9f607176c9..3b9bb212aa 100644 --- a/tests/state/test_v21.py +++ b/tests/state/test_v21.py @@ -495,6 +495,7 @@ class StateResV21TestCase(unittest.HomeserverTestCase): "prev_events": prev_events, "auth_events": auth_events, "origin_server_ts": monotonic_timestamp(), + "hashes": {"sha256": ""}, } if event_type != EventTypes.Create: if room_id is None: