tests: migrate event construction in tests to make_test_event

Switch test sites that build EventBase/PDU instances over to
make_test_event / make_test_pdu_event so they pick up the defaults
the strict (Rust-bound) constructor will require.
This commit is contained in:
Erik Johnston
2026-05-14 13:46:20 +01:00
parent 8c80b86b9e
commit 34eea0a5f4
21 changed files with 219 additions and 163 deletions
+9 -8
View File
@@ -34,10 +34,11 @@ from synapse.crypto.event_signing import (
event_needs_resigning,
resign_event,
)
from synapse.events import EventBase, make_event_from_dict
from synapse.events import EventBase
from synapse.types import JsonDict
from tests import unittest
from tests.test_utils.event_builders import make_test_event
# Perform these tests using given secret key so we get entirely deterministic
# signatures output that we can test against.
@@ -70,7 +71,7 @@ class EventSigningTestCase(unittest.TestCase):
RoomVersions.V1, event_dict, HOSTNAME, self.signing_key
)
event = make_event_from_dict(event_dict)
event = make_test_event(event_dict)
self.assertTrue(hasattr(event, "hashes"))
self.assertIn("sha256", event.hashes)
@@ -103,7 +104,7 @@ class EventSigningTestCase(unittest.TestCase):
RoomVersions.V1, event_dict, HOSTNAME, self.signing_key
)
event = make_event_from_dict(event_dict)
event = make_test_event(event_dict)
self.assertTrue(hasattr(event, "hashes"))
self.assertIn("sha256", event.hashes)
@@ -141,7 +142,7 @@ class EventResigningTestCase(unittest.TestCase):
add_hashes_and_signatures(
RoomVersions.V1, event_dict, HOSTNAME, self.signing_key
)
event = make_event_from_dict(event_dict)
event = make_test_event(event_dict)
self.assertIn(HOSTNAME, event.signatures)
self.assertIn(KEY_NAME, event.signatures[HOSTNAME])
signature = event.signatures[HOSTNAME][KEY_NAME]
@@ -171,7 +172,7 @@ class EventResigningTestCase(unittest.TestCase):
"signatures": {},
"unsigned": {"age_ts": 1000000},
}
event = make_event_from_dict(event_dict)
event = make_test_event(event_dict)
resigned_event = resign_event(event, HOSTNAME, signing_key_2)
self.assertIn(HOSTNAME, resigned_event["signatures"])
self.assertIn(key_name_2, resigned_event["signatures"][HOSTNAME])
@@ -188,7 +189,7 @@ class EventResigningTestCase(unittest.TestCase):
"unsigned": {"age_ts": 1000000},
}
internal_metadata: JsonDict = {}
event_that_needs_resigning = make_event_from_dict(
event_that_needs_resigning = make_test_event(
event_that_needs_resigning_dict,
RoomVersions.V1,
internal_metadata,
@@ -207,7 +208,7 @@ class EventResigningTestCase(unittest.TestCase):
events_that_dont_need_resigning: list[TestCase] = [
{
"name": "sender domain isn't ours",
"event": make_event_from_dict(
"event": make_test_event(
{**event_that_needs_resigning_dict, "sender": "@u:somewhereelse"},
RoomVersions.V1,
internal_metadata,
@@ -215,7 +216,7 @@ class EventResigningTestCase(unittest.TestCase):
},
{
"name": "already signed with this key",
"event": make_event_from_dict(
"event": make_test_event(
{
**event_that_needs_resigning_dict,
"signatures": {
+3 -3
View File
@@ -33,7 +33,6 @@ from synapse.api.errors import SynapseError
from synapse.config._base import RootConfig
from synapse.config.auto_accept_invites import AutoAcceptInvitesConfig
from synapse.events.auto_accept_invites import InviteAutoAccepter
from synapse.federation.federation_base import event_from_pdu_json
from synapse.handlers.sync import JoinedSyncResult, SyncRequestKey
from synapse.module_api import ModuleApi
from synapse.rest import admin
@@ -43,6 +42,7 @@ from synapse.types import StreamToken, UserID, UserInfo, create_requester
from synapse.util.clock import Clock
from tests.handlers.test_sync import generate_sync_config
from tests.test_utils.event_builders import make_test_pdu_event
from tests.unittest import (
FederatingHomeserverTestCase,
HomeserverTestCase,
@@ -182,7 +182,7 @@ class AutoAcceptInvitesTestCase(FederatingHomeserverTestCase):
)
room_version = self.get_success(self.store.get_room_version(room_id))
invite_event = event_from_pdu_json(
invite_event = make_test_pdu_event(
{
"type": EventTypes.Member,
"content": {"membership": "invite"},
@@ -308,7 +308,7 @@ class AutoAcceptInvitesTestCase(FederatingHomeserverTestCase):
remote_server = "otherserver"
remote_user = "@otheruser:" + remote_server
invite_event = event_from_pdu_json(
invite_event = make_test_pdu_event(
{
"type": EventTypes.Member,
"content": {"membership": "invite"},
+54 -16
View File
@@ -26,7 +26,7 @@ from parameterized import parameterized
from synapse.api.constants import EventContentFields
from synapse.api.room_versions import RoomVersions
from synapse.events import EventBase, make_event_from_dict
from synapse.events import EventBase
from synapse.events.utils import (
FilteredEvent,
PowerLevelsContent,
@@ -42,6 +42,7 @@ from synapse.events.utils import (
from synapse.types import JsonDict, create_requester
from synapse.util.frozenutils import freeze
from tests.test_utils.event_builders import make_test_event
from tests.unittest import HomeserverTestCase
if TYPE_CHECKING:
@@ -61,12 +62,25 @@ def MockEvent(**kwargs: Any) -> EventBase:
if internal_metadata is not None:
kwargs.pop("internal_metadata")
return make_event_from_dict(kwargs, internal_metadata_dict=internal_metadata)
kwargs.setdefault("event_id", "$fake_event_id")
kwargs.setdefault("type", "fake_type")
kwargs.setdefault("auth_events", [])
kwargs.setdefault("prev_events", [])
kwargs.setdefault("content", {})
kwargs.setdefault("hashes", {})
kwargs.setdefault("signatures", {})
kwargs.setdefault("unsigned", {})
kwargs.setdefault("sender", "@fake_sender:domain")
kwargs.setdefault("room_id", "!fake_room_id")
kwargs.setdefault("depth", 0)
kwargs.setdefault("origin_server_ts", 0)
return make_test_event(kwargs, internal_metadata_dict=internal_metadata)
class TestMaybeUpsertEventField(stdlib_unittest.TestCase):
def test_update_okay(self) -> None:
event = make_event_from_dict({"event_id": "$1234"})
event = make_test_event({"event_id": "$1234"})
success = maybe_upsert_event_field(
event, event.unsigned, "replaces_state", "value"
)
@@ -74,7 +88,7 @@ class TestMaybeUpsertEventField(stdlib_unittest.TestCase):
self.assertEqual(event.unsigned["replaces_state"], "value")
def test_update_not_okay(self) -> None:
event = make_event_from_dict({"event_id": "$1234"})
event = make_test_event({"event_id": "$1234"})
LARGE_STRING = "a" * 100_000
success = maybe_upsert_event_field(
event, event.unsigned, "replaces_state", LARGE_STRING
@@ -83,7 +97,7 @@ class TestMaybeUpsertEventField(stdlib_unittest.TestCase):
self.assertNotIn("replaces_state", event.unsigned)
def test_update_not_okay_leaves_original_value(self) -> None:
event = make_event_from_dict(
event = make_test_event(
{"event_id": "$1234", "unsigned": {"replaces_state": "value"}}
)
LARGE_STRING = "a" * 100_000
@@ -95,6 +109,20 @@ class TestMaybeUpsertEventField(stdlib_unittest.TestCase):
class PruneEventTestCase(stdlib_unittest.TestCase):
# Fields that `make_test_event` fills in by default and that `prune_event`
# preserves as spec-required keep fields. Pruning tests only spell out the
# fields they care about; these are merged into the expected dict so each
# test stays focused on what it is actually checking.
_DEFAULT_KEPT_FIELDS: JsonDict = {
"sender": "@test:test",
"room_id": "!test:test",
"depth": 1,
"origin_server_ts": 1,
"hashes": {"sha256": ""},
"auth_events": [],
"prev_events": [],
}
def run_test(self, evdict: JsonDict, matchdict: JsonDict, **kwargs: Any) -> None:
"""
Asserts that a new event constructed with `evdict` will look like
@@ -105,8 +133,9 @@ class PruneEventTestCase(stdlib_unittest.TestCase):
matchdict: The expected resulting dictionary.
kwargs: Additional keyword arguments used to create the event.
"""
expected = {**self._DEFAULT_KEPT_FIELDS, **matchdict}
self.assertEqual(
prune_event(make_event_from_dict(evdict, **kwargs)).get_dict(), matchdict
prune_event(make_test_event(evdict, **kwargs)).get_dict(), expected
)
def test_minimal(self) -> None:
@@ -123,9 +152,6 @@ class PruneEventTestCase(stdlib_unittest.TestCase):
def test_basic_keys(self) -> None:
"""Ensure that the keys that should be untouched are kept."""
# Note that some of the values below don't really make sense, but the
# pruning of events doesn't worry about the values of any fields (with
# the exception of the content field).
self.run_test(
{
"event_id": "$3:domain",
@@ -134,12 +160,12 @@ class PruneEventTestCase(stdlib_unittest.TestCase):
"sender": "@2:domain",
"state_key": "B",
"content": {"other_key": "foo"},
"hashes": "hashes",
"hashes": {"sha256": "abc"},
"signatures": {"domain": {"algo:1": "sigs"}},
"depth": 4,
"prev_events": "prev_events",
"prev_events": [],
"prev_state": "prev_state",
"auth_events": "auth_events",
"auth_events": [],
"origin": "domain", # historical top-level field that still exists on old events
"origin_server_ts": 1234,
"membership": "join",
@@ -152,11 +178,11 @@ class PruneEventTestCase(stdlib_unittest.TestCase):
"room_id": "!1:domain",
"sender": "@2:domain",
"state_key": "B",
"hashes": "hashes",
"hashes": {"sha256": "abc"},
"depth": 4,
"prev_events": "prev_events",
"prev_events": [],
"prev_state": "prev_state",
"auth_events": "auth_events",
"auth_events": [],
"origin": "domain", # historical top-level field that still exists on old events
"origin_server_ts": 1234,
"membership": "join",
@@ -625,7 +651,7 @@ class PruneEventTestCase(stdlib_unittest.TestCase):
class CloneEventTestCase(stdlib_unittest.TestCase):
def test_unsigned_is_copied(self) -> None:
original = make_event_from_dict(
original = make_test_event(
{
"type": "A",
"event_id": "$test:domain",
@@ -782,6 +808,9 @@ class SerializeEventTestCase(HomeserverTestCase):
"room_id": "!foo:bar",
"content": {"foo": "bar"},
"unsigned": {},
"sender": "@fake_sender:domain",
"user_id": "@fake_sender:domain",
"origin_server_ts": 0,
},
)
@@ -814,6 +843,9 @@ class SerializeEventTestCase(HomeserverTestCase):
"room_id": "!foo:bar",
"content": {"foo": "bar"},
"unsigned": {},
"sender": "@fake_sender:domain",
"user_id": "@fake_sender:domain",
"origin_server_ts": 0,
},
)
@@ -836,6 +868,9 @@ class SerializeEventTestCase(HomeserverTestCase):
"room_id": "!foo:bar",
"content": {"foo": "bar"},
"unsigned": {"io.element.synapse.soft_failed": True},
"sender": "@fake_sender:domain",
"user_id": "@fake_sender:domain",
"origin_server_ts": 0,
},
)
self.assertEqual(
@@ -862,6 +897,9 @@ class SerializeEventTestCase(HomeserverTestCase):
"io.element.synapse.soft_failed": True,
"io.element.synapse.policy_server_spammy": True,
},
"sender": "@fake_sender:domain",
"user_id": "@fake_sender:domain",
"origin_server_ts": 0,
},
)
@@ -33,11 +33,8 @@ from twisted.internet.testing import MemoryReactor
from synapse.api.constants import EventContentFields, EventTypes, Membership
from synapse.api.room_versions import RoomVersion, RoomVersions
from synapse.events import EventBase, make_event_from_dict
from synapse.events import EventBase
from synapse.events.utils import strip_event
from synapse.federation.federation_base import (
event_from_pdu_json,
)
from synapse.federation.transport.client import SendJoinResponse
from synapse.http.matrixfederationclient import (
ByteParser,
@@ -53,6 +50,7 @@ from synapse.types.handlers.sliding_sync import (
from synapse.util.clock import Clock
from tests import unittest
from tests.test_utils.event_builders import make_test_event, make_test_pdu_event
from tests.utils import test_timeout
logger = logging.getLogger(__name__)
@@ -80,9 +78,7 @@ def required_state_json_to_state_map(required_state: Any) -> StateMap[EventBase]
"Each event in `required_state` should have a string `state_key`"
)
state_map[(event_type, event_state_key)] = make_event_from_dict(
state_event_dict
)
state_map[(event_type, event_state_key)] = make_test_event(state_event_dict)
else:
# Yell because we're in a test and this is unexpected
raise AssertionError("`required_state` should be a list of event dicts")
@@ -195,7 +191,7 @@ class OutOfBandMembershipTests(unittest.FederatingHomeserverTestCase):
remote_room_id = f"!remote-room:{self.OTHER_SERVER_NAME}"
room_version = RoomVersions.V10
room_create_event = make_event_from_dict(
room_create_event = make_test_event(
self.add_hashes_and_signatures_from_other_server(
{
"room_id": remote_room_id,
@@ -217,7 +213,7 @@ class OutOfBandMembershipTests(unittest.FederatingHomeserverTestCase):
room_version=room_version,
)
creator_membership_event = make_event_from_dict(
creator_membership_event = make_test_event(
self.add_hashes_and_signatures_from_other_server(
{
"room_id": remote_room_id,
@@ -235,7 +231,7 @@ class OutOfBandMembershipTests(unittest.FederatingHomeserverTestCase):
)
# From the remote homeserver, invite user1 on the local homserver
user1_invite_membership_event = make_event_from_dict(
user1_invite_membership_event = make_test_event(
self.add_hashes_and_signatures_from_other_server(
{
"room_id": remote_room_id,
@@ -297,7 +293,7 @@ class OutOfBandMembershipTests(unittest.FederatingHomeserverTestCase):
# Prevent tight-looping to allow the `test_timeout` to work
time.sleep(0.1)
user1_join_membership_event_template = make_event_from_dict(
user1_join_membership_event_template = make_test_event(
{
"room_id": remote_room_id,
"sender": local_user1_id,
@@ -377,7 +373,7 @@ class OutOfBandMembershipTests(unittest.FederatingHomeserverTestCase):
and parser is not None
):
# As the remote server, we need to sign the event before sending it back
user1_join_membership_event_signed = make_event_from_dict(
user1_join_membership_event_signed = make_test_event(
self.add_hashes_and_signatures_from_other_server(data),
room_version=room_version,
)
@@ -404,12 +400,12 @@ class OutOfBandMembershipTests(unittest.FederatingHomeserverTestCase):
if path.startswith("/_matrix/federation/v1/send/") and data is not None:
for pdu in data.get("pdus", []):
event = event_from_pdu_json(pdu, room_version)
event = make_test_pdu_event(pdu, room_version)
collected_pdus_from_hs1_federation_send.add(event.event_id)
# Just acknowledge everything hs1 is trying to send hs2
return {
event_from_pdu_json(pdu, room_version).event_id: {}
make_test_pdu_event(pdu, room_version).event_id: {}
for pdu in data.get("pdus", [])
}
@@ -521,12 +517,12 @@ class OutOfBandMembershipTests(unittest.FederatingHomeserverTestCase):
) -> JsonDict | T:
if path.startswith("/_matrix/federation/v1/send/") and data is not None:
for pdu in data.get("pdus", []):
event = event_from_pdu_json(pdu, room_version)
event = make_test_pdu_event(pdu, room_version)
collected_pdus_from_hs1_federation_send.add(event.event_id)
# Just acknowledge everything hs1 is trying to send hs2
return {
event_from_pdu_json(pdu, room_version).event_id: {}
make_test_pdu_event(pdu, room_version).event_id: {}
for pdu in data.get("pdus", [])
}
@@ -538,7 +534,7 @@ class OutOfBandMembershipTests(unittest.FederatingHomeserverTestCase):
self.federation_http_client.put_json.side_effect = put_json
# From the remote homeserver, invite user2 on the local homserver
user2_invite_membership_event = make_event_from_dict(
user2_invite_membership_event = make_test_event(
self.add_hashes_and_signatures_from_other_server(
{
"room_id": remote_room_id,
+8 -8
View File
@@ -31,8 +31,7 @@ from synapse.api.errors import FederationError
from synapse.api.room_versions import KNOWN_ROOM_VERSIONS, RoomVersions
from synapse.config.server import DEFAULT_ROOM_VERSION
from synapse.crypto.event_signing import add_hashes_and_signatures
from synapse.events import EventBase, make_event_from_dict
from synapse.federation.federation_base import event_from_pdu_json
from synapse.events import EventBase
from synapse.http.types import QueryParams
from synapse.logging.context import LoggingContext
from synapse.rest import admin
@@ -43,6 +42,7 @@ from synapse.types import JsonDict
from synapse.util.clock import Clock
from tests import unittest
from tests.test_utils.event_builders import make_test_event, make_test_pdu_event
from tests.unittest import override_config
logger = logging.getLogger(__name__)
@@ -95,7 +95,7 @@ class FederationServerTests(unittest.FederatingHomeserverTestCase):
def _create_acl_event(content: JsonDict) -> EventBase:
return make_event_from_dict(
return make_test_event(
{
"room_id": "!a:b",
"event_id": "$a:b",
@@ -147,7 +147,7 @@ class MessageAcceptTests(unittest.FederatingHomeserverTestCase):
# Join a remote user to the room that will attempt to send bad events
self.remote_bad_user_id = f"@baduser:{self.OTHER_SERVER_NAME}"
self.remote_bad_user_join_event = make_event_from_dict(
self.remote_bad_user_join_event = make_test_event(
self.add_hashes_and_signatures_from_other_server(
{
"room_id": self.room_id,
@@ -212,7 +212,7 @@ class MessageAcceptTests(unittest.FederatingHomeserverTestCase):
)
# Now lie about an event's prev_events
lying_event = make_event_from_dict(
lying_event = make_test_event(
self.add_hashes_and_signatures_from_other_server(
{
"room_id": self.room_id,
@@ -732,7 +732,7 @@ class StripUnsignedFromEventsTestCase(unittest.TestCase):
"auth_events": [],
"unsigned": {"malicious garbage": "hackz", "more warez": "more hackz"},
}
filtered_event = event_from_pdu_json(event1, RoomVersions.V1)
filtered_event = make_test_pdu_event(event1, RoomVersions.V1)
# Make sure unauthorized fields are stripped from unsigned
self.assertNotIn("more warez", filtered_event.unsigned)
@@ -754,7 +754,7 @@ class StripUnsignedFromEventsTestCase(unittest.TestCase):
},
}
filtered_event2 = event_from_pdu_json(event2, RoomVersions.V1, received_time=20)
filtered_event2 = make_test_pdu_event(event2, RoomVersions.V1, received_time=20)
self.assertIn("age_ts", filtered_event2.unsigned)
self.assertEqual(6, filtered_event2.unsigned["age_ts"])
self.assertNotIn("more warez", filtered_event2.unsigned)
@@ -779,7 +779,7 @@ class StripUnsignedFromEventsTestCase(unittest.TestCase):
"invite_room_state": [],
},
}
filtered_event3 = event_from_pdu_json(event3, RoomVersions.V1, received_time=20)
filtered_event3 = make_test_pdu_event(event3, RoomVersions.V1, received_time=20)
self.assertIn("age_ts", filtered_event3.unsigned)
# Invite_room_state field is only permitted in event type m.room.member
self.assertNotIn("invite_room_state", filtered_event3.unsigned)
+13 -13
View File
@@ -35,8 +35,7 @@ from synapse.api.errors import (
SynapseError,
)
from synapse.api.room_versions import RoomVersions
from synapse.events import EventBase, make_event_from_dict
from synapse.federation.federation_base import event_from_pdu_json
from synapse.events import EventBase
from synapse.federation.federation_client import SendJoinResult
from synapse.rest import admin
from synapse.rest.client import login, room
@@ -45,6 +44,7 @@ from synapse.storage.databases.main.events_worker import EventCacheEntry
from synapse.util.clock import Clock
from tests import unittest
from tests.test_utils.event_builders import make_test_event, make_test_pdu_event
logger = logging.getLogger(__name__)
@@ -132,7 +132,7 @@ class FederationTestCase(unittest.FederatingHomeserverTestCase):
)
# build and send an event which will be rejected
ev = event_from_pdu_json(
ev = make_test_pdu_event(
{
"type": EventTypes.Message,
"content": {},
@@ -183,7 +183,7 @@ class FederationTestCase(unittest.FederatingHomeserverTestCase):
)
# build and send an event which will be rejected
ev = event_from_pdu_json(
ev = make_test_pdu_event(
{
"type": "org.matrix.test",
"state_key": "test_key",
@@ -227,7 +227,7 @@ class FederationTestCase(unittest.FederatingHomeserverTestCase):
room_version = self.get_success(self.store.get_room_version(room_id))
# Build an event to backfill
event = event_from_pdu_json(
event = make_test_pdu_event(
{
"type": EventTypes.Message,
"content": {"body": "hello world", "msgtype": "m.text"},
@@ -324,7 +324,7 @@ class FederationTestCase(unittest.FederatingHomeserverTestCase):
def create_invite() -> EventBase:
room_id = self.helper.create_room_as(room_creator=user_id, tok=tok)
room_version = self.get_success(self.store.get_room_version(room_id))
return event_from_pdu_json(
return make_test_pdu_event(
{
"type": EventTypes.Member,
"content": {"membership": "invite"},
@@ -386,7 +386,7 @@ class FederationTestCase(unittest.FederatingHomeserverTestCase):
class EventFromPduTestCase(TestCase):
def test_valid_json(self) -> None:
"""Valid JSON should be turned into an event."""
ev = event_from_pdu_json(
ev = make_test_pdu_event(
{
"type": EventTypes.Message,
"content": {"bool": True, "null": None, "int": 1, "str": "foobar"},
@@ -413,7 +413,7 @@ class EventFromPduTestCase(TestCase):
float("nan"),
]:
with self.assertRaises(SynapseError):
event_from_pdu_json(
make_test_pdu_event(
{
"type": EventTypes.Message,
"content": {"foo": value},
@@ -430,7 +430,7 @@ class EventFromPduTestCase(TestCase):
def test_invalid_nested(self) -> None:
"""List and dictionaries are recursively searched."""
with self.assertRaises(SynapseError):
event_from_pdu_json(
make_test_pdu_event(
{
"type": EventTypes.Message,
"content": {"foo": [{"bar": 2**56}]},
@@ -457,7 +457,7 @@ class PartialJoinTestCase(unittest.FederatingHomeserverTestCase):
room_id = "!room:example.com"
EVENT_CREATE = make_event_from_dict(
EVENT_CREATE = make_test_event(
{
"room_id": room_id,
"type": "m.room.create",
@@ -470,7 +470,7 @@ class PartialJoinTestCase(unittest.FederatingHomeserverTestCase):
},
room_version=RoomVersions.V10,
)
EVENT_CREATOR_MEMBERSHIP = make_event_from_dict(
EVENT_CREATOR_MEMBERSHIP = make_test_event(
{
"room_id": room_id,
"type": "m.room.member",
@@ -484,7 +484,7 @@ class PartialJoinTestCase(unittest.FederatingHomeserverTestCase):
},
room_version=RoomVersions.V10,
)
EVENT_INVITATION_MEMBERSHIP = make_event_from_dict(
EVENT_INVITATION_MEMBERSHIP = make_test_event(
{
"room_id": room_id,
"type": "m.room.member",
@@ -501,7 +501,7 @@ class PartialJoinTestCase(unittest.FederatingHomeserverTestCase):
},
room_version=RoomVersions.V10,
)
membership_event = make_event_from_dict(
membership_event = make_test_event(
{
"room_id": room_id,
"type": "m.room.member",
+13 -13
View File
@@ -28,7 +28,6 @@ from synapse.event_auth import (
check_state_dependent_auth_rules,
check_state_independent_auth_rules,
)
from synapse.events import make_event_from_dict
from synapse.events.snapshot import EventContext
from synapse.federation.transport.client import StateRequestResponse
from synapse.logging.context import LoggingContext
@@ -42,6 +41,7 @@ from synapse.util.clock import Clock
from tests import unittest
from tests.test_utils import event_injection
from tests.test_utils.event_builders import make_test_event
class FederationEventHandlerTests(unittest.FederatingHomeserverTestCase):
@@ -127,7 +127,7 @@ class FederationEventHandlerTests(unittest.FederatingHomeserverTestCase):
# mock up a load of state events which we are missing
state_events = [
make_event_from_dict(
make_test_event(
self.add_hashes_and_signatures_from_other_server(
{
"type": "test_state_type",
@@ -154,7 +154,7 @@ class FederationEventHandlerTests(unittest.FederatingHomeserverTestCase):
# mock up a prev event.
# Depending on the test, we either persist this upfront (as an outlier),
# or let the server request it.
prev_event = make_event_from_dict(
prev_event = make_test_event(
self.add_hashes_and_signatures_from_other_server(
{
"type": "test_regular_type",
@@ -191,7 +191,7 @@ class FederationEventHandlerTests(unittest.FederatingHomeserverTestCase):
self.mock_federation_transport_client.get_event.side_effect = get_event
# mock up a regular event to pass into _process_pulled_event
pulled_event = make_event_from_dict(
pulled_event = make_test_event(
self.add_hashes_and_signatures_from_other_server(
{
"type": "test_regular_type",
@@ -301,7 +301,7 @@ class FederationEventHandlerTests(unittest.FederatingHomeserverTestCase):
)
)
pulled_event = make_event_from_dict(
pulled_event = make_test_event(
self.add_hashes_and_signatures_from_other_server(
{
"type": "test_regular_type",
@@ -421,7 +421,7 @@ class FederationEventHandlerTests(unittest.FederatingHomeserverTestCase):
member_event.event_id,
]
pulled_event = make_event_from_dict(
pulled_event = make_test_event(
self.add_hashes_and_signatures_from_other_server(
{
"type": "test_regular_type",
@@ -524,7 +524,7 @@ class FederationEventHandlerTests(unittest.FederatingHomeserverTestCase):
# We purposely don't run `add_hashes_and_signatures_from_other_server`
# over this because we want the signature check to fail.
pulled_event_without_signatures = make_event_from_dict(
pulled_event_without_signatures = make_test_event(
{
"type": "test_regular_type",
"room_id": room_id,
@@ -540,7 +540,7 @@ class FederationEventHandlerTests(unittest.FederatingHomeserverTestCase):
# Create a regular event that should pass except for the
# `pulled_event_without_signatures` in the `prev_event`.
pulled_event = make_event_from_dict(
pulled_event = make_test_event(
self.add_hashes_and_signatures_from_other_server(
{
"type": "test_regular_type",
@@ -720,7 +720,7 @@ class FederationEventHandlerTests(unittest.FederatingHomeserverTestCase):
]
# Create a regular event that should process
pulled_event = make_event_from_dict(
pulled_event = make_test_event(
self.add_hashes_and_signatures_from_other_server(
{
"type": "test_regular_type",
@@ -878,7 +878,7 @@ class FederationEventHandlerTests(unittest.FederatingHomeserverTestCase):
# accepted, but the local homeserver will reject.
next_depth = 100
next_timestamp = other_member_event.origin_server_ts + 100
rejected_power_levels_event = make_event_from_dict(
rejected_power_levels_event = make_test_event(
self.add_hashes_and_signatures_from_other_server(
{
"type": "m.room.power_levels",
@@ -927,7 +927,7 @@ class FederationEventHandlerTests(unittest.FederatingHomeserverTestCase):
# Then we create a kick event for a local user that cites the rejected power
# levels event in its auth events. The kick event will be rejected solely
# because of the rejected auth event and would otherwise be accepted.
rejected_kick_event = make_event_from_dict(
rejected_kick_event = make_test_event(
self.add_hashes_and_signatures_from_other_server(
{
"type": "m.room.member",
@@ -1042,7 +1042,7 @@ class FederationEventHandlerTests(unittest.FederatingHomeserverTestCase):
# Create a missing event, so that the local homeserver has to do a `/state` or
# `/state_ids` request to pull state from the remote homeserver.
missing_event = make_event_from_dict(
missing_event = make_test_event(
self.add_hashes_and_signatures_from_other_server(
{
"type": "m.room.message",
@@ -1067,7 +1067,7 @@ class FederationEventHandlerTests(unittest.FederatingHomeserverTestCase):
# The pulled event has two prev events, one of which is missing. We will make a
# `/state` or `/state_ids` request to the remote homeserver to ask it for the
# state before the missing prev event.
pulled_event = make_event_from_dict(
pulled_event = make_test_event(
self.add_hashes_and_signatures_from_other_server(
{
"type": "m.room.message",
+4 -6
View File
@@ -9,9 +9,6 @@ from synapse.api.constants import AccountDataTypes, EventTypes, Membership
from synapse.api.errors import Codes, LimitExceededError, SynapseError
from synapse.crypto.event_signing import add_hashes_and_signatures
from synapse.events import FrozenEventV3
from synapse.federation.federation_base import (
event_from_pdu_json,
)
from synapse.federation.federation_client import SendJoinResult
from synapse.server import HomeServer
from synapse.types import UserID, create_requester
@@ -19,6 +16,7 @@ from synapse.util.clock import Clock
from tests.replication._base import BaseMultiWorkerStreamTestCase
from tests.server import make_request
from tests.test_utils.event_builders import make_test_pdu_event
from tests.unittest import (
FederatingHomeserverTestCase,
HomeserverTestCase,
@@ -549,7 +547,7 @@ class TestMSC4155InviteFiltering(FederatingHomeserverTestCase):
)
room_version = self.get_success(self.store.get_room_version(room_id))
invite_event = event_from_pdu_json(
invite_event = make_test_pdu_event(
{
"type": EventTypes.Member,
"content": {"membership": "invite"},
@@ -595,7 +593,7 @@ class TestMSC4155InviteFiltering(FederatingHomeserverTestCase):
)
room_version = self.get_success(self.store.get_room_version(room_id))
invite_event = event_from_pdu_json(
invite_event = make_test_pdu_event(
{
"type": EventTypes.Member,
"content": {"membership": "invite"},
@@ -710,7 +708,7 @@ class TestMSC4380InviteBlocking(FederatingHomeserverTestCase):
)
room_version = self.get_success(self.store.get_room_version(room_id))
invite_event = event_from_pdu_json(
invite_event = make_test_pdu_event(
{
"type": EventTypes.Member,
"content": {"membership": "invite"},
+10 -9
View File
@@ -22,7 +22,7 @@ from twisted.internet.testing import MemoryReactor
from synapse.api.constants import EventTypes
from synapse.api.errors import HttpResponseException, SynapseError
from synapse.crypto.event_signing import compute_event_signature
from synapse.events import EventBase, make_event_from_dict
from synapse.events import EventBase
from synapse.handlers.room_policy import POLICY_SERVER_KEY_ID
from synapse.rest import admin
from synapse.rest.client import filter, login, room, sync
@@ -32,6 +32,7 @@ from synapse.util.clock import Clock
from tests import unittest
from tests.test_utils import event_injection
from tests.test_utils.event_builders import make_test_event
class RoomPolicyTestCase(unittest.FederatingHomeserverTestCase):
@@ -75,7 +76,7 @@ class RoomPolicyTestCase(unittest.FederatingHomeserverTestCase):
self.signing_key = signedjson.key.generate_signing_key("policy_server")
# Create some sample events
self.spammy_event = make_event_from_dict(
self.spammy_event = make_test_event(
room_version=room_version,
internal_metadata_dict={},
event_dict={
@@ -88,7 +89,7 @@ class RoomPolicyTestCase(unittest.FederatingHomeserverTestCase):
},
},
)
self.not_spammy_event = make_event_from_dict(
self.not_spammy_event = make_test_event(
room_version=room_version,
internal_metadata_dict={},
event_dict={
@@ -272,7 +273,7 @@ class RoomPolicyTestCase(unittest.FederatingHomeserverTestCase):
def test_signed_event_is_not_spam(self) -> None:
verify_key_str = encode_verify_key_base64(get_verify_key(self.signing_key))
self._add_policy_server_to_room(public_key=verify_key_str)
event = make_event_from_dict(
event = make_test_event(
room_version=self.room_version,
internal_metadata_dict={},
event_dict={
@@ -302,7 +303,7 @@ class RoomPolicyTestCase(unittest.FederatingHomeserverTestCase):
def test_ask_policy_server_to_sign_event_ok(self) -> None:
verify_key_str = encode_verify_key_base64(get_verify_key(self.signing_key))
self._add_policy_server_to_room(public_key=verify_key_str)
event = make_event_from_dict(
event = make_test_event(
room_version=self.room_version,
internal_metadata_dict={},
event_dict={
@@ -324,7 +325,7 @@ class RoomPolicyTestCase(unittest.FederatingHomeserverTestCase):
def test_ask_policy_server_to_sign_event_refuses(self) -> None:
verify_key_str = encode_verify_key_base64(get_verify_key(self.signing_key))
self._add_policy_server_to_room(public_key=verify_key_str)
event = make_event_from_dict(
event = make_test_event(
room_version=self.room_version,
internal_metadata_dict={},
event_dict={
@@ -353,7 +354,7 @@ class RoomPolicyTestCase(unittest.FederatingHomeserverTestCase):
def test_ask_policy_server_to_sign_event_cannot_reach(self) -> None:
verify_key_str = encode_verify_key_base64(get_verify_key(self.signing_key))
self._add_policy_server_to_room(public_key=verify_key_str)
event = make_event_from_dict(
event = make_test_event(
room_version=self.room_version,
internal_metadata_dict={},
event_dict={
@@ -379,7 +380,7 @@ class RoomPolicyTestCase(unittest.FederatingHomeserverTestCase):
verify_key_str = encode_verify_key_base64(get_verify_key(self.signing_key))
self._add_policy_server_to_room(public_key=verify_key_str)
self.mock_federation_transport_client.ask_policy_server_to_sign_event.side_effect = self.policy_server_signs_event_with_wrong_key
unverified_event = make_event_from_dict(
unverified_event = make_test_event(
room_version=self.room_version,
internal_metadata_dict={},
event_dict={
@@ -398,7 +399,7 @@ class RoomPolicyTestCase(unittest.FederatingHomeserverTestCase):
)
self.assertEqual(len(unverified_event.signatures), 1)
verified_event = make_event_from_dict(
verified_event = make_test_event(
room_version=self.room_version,
internal_metadata_dict={},
event_dict={
+2 -2
View File
@@ -35,7 +35,6 @@ from synapse.api.constants import (
)
from synapse.api.errors import AuthError, NotFoundError, SynapseError
from synapse.api.room_versions import RoomVersions
from synapse.events import make_event_from_dict
from synapse.federation.transport.client import TransportLayerClient
from synapse.handlers.room_summary import _child_events_comparison_key, _RoomEntry
from synapse.rest import admin
@@ -45,6 +44,7 @@ from synapse.types import JsonDict, UserID, create_requester
from synapse.util.clock import Clock
from tests import unittest
from tests.test_utils.event_builders import make_test_event
from tests.unittest import override_config
@@ -217,7 +217,7 @@ class SpaceSummaryTestCase(unittest.HomeserverTestCase):
# Poke an invite over federation into the database.
fed_handler = self.hs.get_federation_handler()
fed_hostname = UserID.from_string(from_user).domain
event = make_event_from_dict(
event = make_test_event(
{
"room_id": room_id,
"event_id": "!abcd:" + fed_hostname,
+3 -3
View File
@@ -32,7 +32,6 @@ from synapse.api.filtering import FilterCollection, Filtering
from synapse.api.room_versions import RoomVersion, RoomVersions
from synapse.events import EventBase
from synapse.events.snapshot import EventContext
from synapse.federation.federation_base import event_from_pdu_json
from synapse.handlers.sync import (
SyncConfig,
SyncRequestKey,
@@ -54,6 +53,7 @@ from synapse.util.clock import Clock
import tests.unittest
import tests.utils
from tests.test_utils.event_builders import make_test_pdu_event
_request_key = 0
@@ -912,7 +912,7 @@ class SyncTestCase(tests.unittest.HomeserverTestCase):
prev_events = self.get_success(self.store.get_prev_events_for_room(room_id))
# create a call invite event
call_event = event_from_pdu_json(
call_event = make_test_pdu_event(
{
"type": EventTypes.CallInvite,
"content": {},
@@ -960,7 +960,7 @@ class SyncTestCase(tests.unittest.HomeserverTestCase):
priv_prev_events = self.get_success(
self.store.get_prev_events_for_room(private_room_id)
)
private_call_event = event_from_pdu_json(
private_call_event = make_test_pdu_event(
{
"type": EventTypes.CallInvite,
"content": {},
+4 -3
View File
@@ -23,11 +23,12 @@ from typing import Iterable, cast
from synapse.api.constants import EventTypes, Membership
from synapse.api.room_versions import RoomVersions
from synapse.events import EventBase, FrozenEvent
from synapse.events import EventBase
from synapse.push.presentable_names import calculate_room_name
from synapse.types import StateKey, StateMap
from tests import unittest
from tests.test_utils.event_builders import make_test_event
class MockDataStore:
@@ -44,7 +45,7 @@ class MockDataStore:
self._events = {}
for i, (event_id, content) in enumerate(events):
self._events[event_id] = FrozenEvent(
self._events[event_id] = make_test_event(
{
"event_id": "$event_id",
"type": event_id[0],
@@ -59,7 +60,7 @@ class MockDataStore:
async def get_event(
self, event_id: str, allow_none: bool = False
) -> FrozenEvent | None:
) -> EventBase | None:
assert allow_none, "Mock not configured for allow_none = False"
# Decode the state key from the event ID.
+20 -5
View File
@@ -27,7 +27,6 @@ import synapse.rest.admin
from synapse.api.constants import EventTypes, HistoryVisibility, Membership
from synapse.api.room_versions import RoomVersions
from synapse.appservice import ApplicationService
from synapse.events import FrozenEvent, make_event_from_dict
from synapse.push.bulk_push_rule_evaluator import _flatten_dict
from synapse.push.httppusher import tweaks_for_actions
from synapse.rest import admin
@@ -40,6 +39,7 @@ from synapse.util.clock import Clock
from synapse.util.frozenutils import freeze
from tests import unittest
from tests.test_utils.event_builders import make_test_event
from tests.test_utils.event_injection import create_event, inject_member_event
@@ -81,7 +81,7 @@ class FlattenDictTestCase(unittest.TestCase):
def test_event(self) -> None:
"""Events can also be flattened."""
event = make_event_from_dict(
event = make_test_event(
{
"room_id": "!test:test",
"type": "m.room.message",
@@ -103,6 +103,11 @@ class FlattenDictTestCase(unittest.TestCase):
"room_id": "!test:test",
"sender": "@alice:test",
"type": "m.room.message",
"depth": 1,
"origin_server_ts": 1,
"hashes.sha256": "",
"auth_events": [],
"prev_events": [],
}
self.assertEqual(expected, _flatten_dict(event))
@@ -121,24 +126,34 @@ class FlattenDictTestCase(unittest.TestCase):
}
# For a current room version, there's no special behavior.
event = make_event_from_dict(event_dict, room_version=RoomVersions.V8)
event = make_test_event(event_dict, room_version=RoomVersions.V8)
expected = {
"room_id": "!test:test",
"sender": "@alice:test",
"type": "m.room.message",
"content.org\\.matrix\\.msc1767\\.markup": [],
"depth": 1,
"origin_server_ts": 1,
"hashes.sha256": "",
"auth_events": [],
"prev_events": [],
}
self.assertEqual(expected, _flatten_dict(event))
# For a room version with extensible events, they parse out the text/plain
# to a content.body property.
event = make_event_from_dict(event_dict, room_version=RoomVersions.MSC1767v10)
event = make_test_event(event_dict, room_version=RoomVersions.MSC1767v10)
expected = {
"content.body": "hello world!",
"room_id": "!test:test",
"sender": "@alice:test",
"type": "m.room.message",
"content.org\\.matrix\\.msc1767\\.markup": [],
"depth": 1,
"origin_server_ts": 1,
"hashes.sha256": "",
"auth_events": [],
"prev_events": [],
}
self.assertEqual(expected, _flatten_dict(event))
@@ -152,7 +167,7 @@ class PushRuleEvaluatorTestCase(unittest.TestCase):
msc4210: bool = False,
msc4306: bool = False,
) -> PushRuleEvaluator:
event = FrozenEvent(
event = make_test_event(
{
"event_id": "$event_id",
"type": "m.room.history_visibility",
@@ -30,7 +30,7 @@ from synapse.api.constants import (
RoomTypes,
)
from synapse.api.room_versions import RoomVersions
from synapse.events import EventBase, StrippedStateEvent, make_event_from_dict
from synapse.events import EventBase, StrippedStateEvent
from synapse.events.snapshot import EventContext
from synapse.handlers.sliding_sync import StateValues
from synapse.rest.client import account_data, devices, login, receipts, room, sync
@@ -47,6 +47,7 @@ from synapse.util.stringutils import random_string
from tests import unittest
from tests.server import FakeChannel, TimedOutException
from tests.test_utils.event_builders import make_test_event
from tests.test_utils.event_injection import create_event
logger = logging.getLogger(__name__)
@@ -308,7 +309,7 @@ class SlidingSyncBase(unittest.HomeserverTestCase):
"invite_room_state": serialized_stripped_state_events
}
invite_event = make_event_from_dict(
invite_event = make_test_event(
invite_event_dict,
room_version=RoomVersions.V10,
)
+13 -12
View File
@@ -33,7 +33,7 @@ from twisted.internet import defer
from synapse.api.constants import EventTypes, JoinRules, Membership
from synapse.api.room_versions import RoomVersions
from synapse.event_auth import auth_types_for_event
from synapse.events import EventBase, make_event_from_dict
from synapse.events import EventBase
from synapse.state.v2 import (
_get_auth_chain_difference,
_get_power_level_for_sender,
@@ -45,6 +45,7 @@ from synapse.types import EventID, StateMap
from synapse.util.duration import Duration
from tests import unittest
from tests.test_utils.event_builders import make_test_event
ALICE = "@alice:example.com"
BOB = "@bob:example.com"
@@ -119,7 +120,7 @@ class FakeEvent:
if self.state_key is not None:
event_dict["state_key"] = self.state_key
return make_event_from_dict(event_dict)
return make_test_event(event_dict)
# All graphs start with this set of events
@@ -878,7 +879,7 @@ class AuthChainDifferenceTestCase(unittest.TestCase):
on room version"""
store = TestStateResolutionStore({})
for room_version in [RoomVersions.V10, RoomVersions.V11]:
create_event = make_event_from_dict(
create_event = make_test_event(
{
"room_id": ROOM_ID,
"sender": ALICE,
@@ -894,9 +895,9 @@ class AuthChainDifferenceTestCase(unittest.TestCase):
else {}
),
},
room_version,
room_version=room_version,
)
member_event = make_event_from_dict(
member_event = make_test_event(
{
"room_id": ROOM_ID,
"sender": ALICE,
@@ -908,9 +909,9 @@ class AuthChainDifferenceTestCase(unittest.TestCase):
"auth_events": [create_event.event_id],
"prev_events": [create_event.event_id],
},
room_version,
room_version=room_version,
)
pl_event = make_event_from_dict(
pl_event = make_test_event(
{
"room_id": ROOM_ID,
"sender": ALICE,
@@ -926,7 +927,7 @@ class AuthChainDifferenceTestCase(unittest.TestCase):
"auth_events": [create_event.event_id, member_event.event_id],
"prev_events": [member_event.event_id],
},
room_version,
room_version=room_version,
)
event_map = {
@@ -940,7 +941,7 @@ class AuthChainDifferenceTestCase(unittest.TestCase):
CHARLIE: 10,
}
for user_id, want_pl in want_pls.items():
test_event = make_event_from_dict(
test_event = make_test_event(
{
"room_id": ROOM_ID,
"sender": user_id,
@@ -954,7 +955,7 @@ class AuthChainDifferenceTestCase(unittest.TestCase):
],
"prev_events": [pl_event.event_id],
},
room_version,
room_version=room_version,
)
event_map[test_event.event_id] = test_event
got_pl = self.successResultOf(
@@ -977,7 +978,7 @@ class AuthChainDifferenceTestCase(unittest.TestCase):
CHARLIE: 0,
}
for user_id, want_pl in want_pls.items():
test_event = make_event_from_dict(
test_event = make_test_event(
{
"room_id": ROOM_ID,
"sender": user_id,
@@ -991,7 +992,7 @@ class AuthChainDifferenceTestCase(unittest.TestCase):
],
"prev_events": [pl_event.event_id],
},
room_version,
room_version=room_version,
)
got_pl = self.successResultOf(
defer.ensureDeferred(
@@ -28,7 +28,6 @@ from twisted.internet.defer import CancelledError, Deferred, ensureDeferred
from twisted.internet.testing import MemoryReactor
from synapse.api.room_versions import EventFormatVersions, RoomVersions
from synapse.events import make_event_from_dict
from synapse.logging.context import LoggingContext
from synapse.rest import admin
from synapse.rest.client import login, room
@@ -42,6 +41,7 @@ from synapse.util.async_helpers import yieldable_gather_results
from synapse.util.clock import Clock
from tests import unittest
from tests.test_utils.event_builders import make_test_event
from tests.test_utils.event_injection import create_event, inject_event
@@ -377,7 +377,7 @@ class DatabaseOutageTestCase(unittest.HomeserverTestCase):
"type": f"test {idx}",
"room_id": self.room_id,
}
event = make_event_from_dict(event_json, room_version=RoomVersions.V4)
event = make_test_event(event_json, room_version=RoomVersions.V4)
event_id = event.event_id
self.get_success(
self.store.db_pool.simple_upsert(
@@ -400,7 +400,7 @@ class DatabaseOutageTestCase(unittest.HomeserverTestCase):
{"event_id": event_id},
{
"room_id": self.room_id,
"json": json.dumps(event_json),
"json": json.dumps(event.get_dict()),
"internal_metadata": "{}",
"format_version": EventFormatVersions.ROOM_V4_PLUS,
},
+11 -11
View File
@@ -26,13 +26,13 @@ from twisted.internet.testing import MemoryReactor
from synapse.api.constants import EventTypes, Membership
from synapse.api.room_versions import RoomVersions
from synapse.events import EventBase
from synapse.federation.federation_base import event_from_pdu_json
from synapse.rest import admin
from synapse.rest.client import login, room
from synapse.server import HomeServer
from synapse.types import StateMap
from synapse.util.clock import Clock
from tests.test_utils.event_builders import make_test_pdu_event
from tests.unittest import HomeserverTestCase
logger = logging.getLogger(__name__)
@@ -142,7 +142,7 @@ class ExtremPruneTestCase(HomeserverTestCase):
# Fudge a remote event and persist it. This will be the extremity before
# the gap.
self.remote_event_1 = event_from_pdu_json(
self.remote_event_1 = make_test_pdu_event(
{
"type": EventTypes.Message,
"state_key": "@user:other",
@@ -198,7 +198,7 @@ class ExtremPruneTestCase(HomeserverTestCase):
# Fudge a second event which points to an event we don't have. This is a
# state event so that the state changes (otherwise we won't prune the
# extremity as they'll have the same state group).
remote_event_2 = event_from_pdu_json(
remote_event_2 = make_test_pdu_event(
{
"type": EventTypes.Member,
"state_key": "@user:other",
@@ -237,7 +237,7 @@ class ExtremPruneTestCase(HomeserverTestCase):
)
# Fudge a second event which points to an event we don't have.
remote_event_2 = event_from_pdu_json(
remote_event_2 = make_test_pdu_event(
{
"type": EventTypes.Message,
"state_key": "@user:other",
@@ -286,7 +286,7 @@ class ExtremPruneTestCase(HomeserverTestCase):
# Fudge a second event which points to an event we don't have. This is a
# state event so that the state changes (otherwise we won't prune the
# extremity as they'll have the same state group).
remote_event_2 = event_from_pdu_json(
remote_event_2 = make_test_pdu_event(
{
"type": EventTypes.Member,
"state_key": "@user:other2",
@@ -322,7 +322,7 @@ class ExtremPruneTestCase(HomeserverTestCase):
# Fudge a second event which points to an event we don't have. This is a
# state event so that the state changes (otherwise we won't prune the
# extremity as they'll have the same state group).
remote_event_2 = event_from_pdu_json(
remote_event_2 = make_test_pdu_event(
{
"type": EventTypes.Member,
"state_key": "@user:other2",
@@ -367,7 +367,7 @@ class ExtremPruneTestCase(HomeserverTestCase):
# Fudge a second event which points to an event we don't have. This is a
# state event so that the state changes (otherwise we won't prune the
# extremity as they'll have the same state group).
remote_event_2 = event_from_pdu_json(
remote_event_2 = make_test_pdu_event(
{
"type": EventTypes.Member,
"state_key": "@user:other2",
@@ -415,7 +415,7 @@ class ExtremPruneTestCase(HomeserverTestCase):
# Fudge a second event which points to an event we don't have. This is a
# state event so that the state changes (otherwise we won't prune the
# extremity as they'll have the same state group).
remote_event_2 = event_from_pdu_json(
remote_event_2 = make_test_pdu_event(
{
"type": EventTypes.Member,
"state_key": "@user:other2",
@@ -455,7 +455,7 @@ class ExtremPruneTestCase(HomeserverTestCase):
# Fudge a second event which points to an event we don't have. This is a
# state event so that the state changes (otherwise we won't prune the
# extremity as they'll have the same state group).
remote_event_2 = event_from_pdu_json(
remote_event_2 = make_test_pdu_event(
{
"type": EventTypes.Member,
"state_key": "@user:other2",
@@ -514,7 +514,7 @@ class InvalideUsersInRoomCacheTestCase(HomeserverTestCase):
# Fudge a join event for a remote user.
remote_user = "@user:other"
remote_event_1 = event_from_pdu_json(
remote_event_1 = make_test_pdu_event(
{
"type": EventTypes.Member,
"state_key": remote_user,
@@ -561,7 +561,7 @@ class InvalideUsersInRoomCacheTestCase(HomeserverTestCase):
# Fudge a join event for a remote user.
remote_user = "@user:other"
remote_event_1 = event_from_pdu_json(
remote_event_1 = make_test_pdu_event(
{
"type": EventTypes.Member,
"state_key": remote_user,
+3 -2
View File
@@ -19,12 +19,13 @@ from twisted.test.proto_helpers import MemoryReactor
from synapse.api.constants import EventTypes
from synapse.api.errors import SynapseError
from synapse.api.room_versions import RoomVersions
from synapse.events import FrozenEventVMSC4242, make_event_from_dict
from synapse.events import FrozenEventVMSC4242
from synapse.events.snapshot import EventContext
from synapse.rest.client import room
from synapse.server import HomeServer
from synapse.util.clock import Clock
from tests.test_utils.event_builders import make_test_event
from tests.unittest import HomeserverTestCase, override_config
@@ -153,7 +154,7 @@ class MSC4242EventPersistenceStateDagsStoreTestCase(HomeserverTestCase):
prev_state_events: list[str],
rejected: bool = False,
) -> tuple[FrozenEventVMSC4242, EventContext]:
ev = make_event_from_dict(
ev = make_test_event(
{
"prev_state_events": prev_state_events,
"content": {
+3 -2
View File
@@ -27,7 +27,7 @@ from twisted.internet.testing import MemoryReactor
from synapse.api.constants import EventContentFields, EventTypes, Membership, RoomTypes
from synapse.api.room_versions import RoomVersions
from synapse.events import EventBase, StrippedStateEvent, make_event_from_dict
from synapse.events import EventBase, StrippedStateEvent
from synapse.events.snapshot import EventContext
from synapse.rest import admin
from synapse.rest.client import login, room, sync
@@ -46,6 +46,7 @@ from synapse.types.storage import _BackgroundUpdates
from synapse.util.clock import Clock
from tests.rest.client.sliding_sync.test_sliding_sync import SlidingSyncBase
from tests.test_utils.event_builders import make_test_event
from tests.test_utils.event_injection import create_event
logger = logging.getLogger(__name__)
@@ -240,7 +241,7 @@ class SlidingSyncTablesTestCaseBase(SlidingSyncBase):
"prev_events": [],
}
kick_event = make_event_from_dict(
kick_event = make_test_event(
kick_event_dict,
room_version=RoomVersions.V10,
)
+24 -23
View File
@@ -29,11 +29,12 @@ from synapse import event_auth
from synapse.api.constants import EventContentFields, RejectedReason
from synapse.api.errors import AuthError, SynapseError
from synapse.api.room_versions import EventFormatVersions, RoomVersion, RoomVersions
from synapse.events import EventBase, event_exists_in_state_dag, make_event_from_dict
from synapse.events import EventBase, event_exists_in_state_dag
from synapse.storage.databases.main.events_worker import EventRedactBehaviour
from synapse.types import JsonDict, get_domain_from_id
from tests.test_utils import get_awaitable_result
from tests.test_utils.event_builders import make_test_event
class _StubEventSourceStore:
@@ -128,7 +129,7 @@ class EventAuthTestCase(unittest.TestCase):
# we make both a good event and a bad event, to check that we are rejecting
# the bad event for the reason we think we are.
good_event = make_event_from_dict(
good_event = make_test_event(
{
"room_id": TEST_ROOM_ID,
"type": "m.room.create",
@@ -143,7 +144,7 @@ class EventAuthTestCase(unittest.TestCase):
},
room_version=RoomVersions.V9,
)
bad_event = make_event_from_dict(
bad_event = make_test_event(
{**good_event.get_dict(), "prev_events": ["$fakeevent"]},
room_version=RoomVersions.V9,
)
@@ -387,7 +388,7 @@ class EventAuthTestCase(unittest.TestCase):
creator = "@creator:example.com"
room_version = RoomVersions.MSC4242v12
create_event = make_event_from_dict(
create_event = make_test_event(
{
"type": "m.room.create",
"sender": creator,
@@ -398,7 +399,7 @@ class EventAuthTestCase(unittest.TestCase):
},
room_version,
)
create_event_2 = make_event_from_dict(
create_event_2 = make_test_event(
{
"type": "m.room.create",
"sender": creator,
@@ -411,7 +412,7 @@ class EventAuthTestCase(unittest.TestCase):
)
room_id = create_event.room_id
another_room_id = create_event_2.room_id
join_event = make_event_from_dict(
join_event = make_test_event(
{
"room_id": room_id,
"type": "m.room.member",
@@ -424,7 +425,7 @@ class EventAuthTestCase(unittest.TestCase):
room_version,
{"calculated_auth_event_ids": [create_event.event_id]},
)
event_in_another_room = make_event_from_dict(
event_in_another_room = make_test_event(
{
"room_id": another_room_id,
"type": "m.room.join_rules",
@@ -437,7 +438,7 @@ class EventAuthTestCase(unittest.TestCase):
room_version,
{"calculated_auth_event_ids": [create_event.event_id, join_event.event_id]},
)
msg_event = make_event_from_dict(
msg_event = make_test_event(
{
"room_id": room_id,
"type": "m.room.message",
@@ -449,7 +450,7 @@ class EventAuthTestCase(unittest.TestCase):
room_version,
{"calculated_auth_event_ids": [create_event.event_id, join_event.event_id]},
)
rejected_event = make_event_from_dict(
rejected_event = make_test_event(
{
"room_id": room_id,
"type": "m.room.name",
@@ -470,7 +471,7 @@ class EventAuthTestCase(unittest.TestCase):
RejectingTestCase(
name="create event has prev_state_events",
events_in_store=[],
test_event=make_event_from_dict(
test_event=make_test_event(
{
"type": "m.room.create",
"sender": creator,
@@ -486,7 +487,7 @@ class EventAuthTestCase(unittest.TestCase):
RejectingTestCase(
name="prev_state_event belongs in a different room",
events_in_store=[create_event, join_event, event_in_another_room],
test_event=make_event_from_dict(
test_event=make_test_event(
{
"room_id": room_id,
"type": "m.room.name",
@@ -508,7 +509,7 @@ class EventAuthTestCase(unittest.TestCase):
RejectingTestCase(
name="prev_state_event is a message event",
events_in_store=[create_event, join_event, msg_event],
test_event=make_event_from_dict(
test_event=make_test_event(
{
"room_id": room_id,
"type": "m.room.name",
@@ -530,7 +531,7 @@ class EventAuthTestCase(unittest.TestCase):
RejectingTestCase(
name="prev_state_event was rejected",
events_in_store=[create_event, join_event, rejected_event],
test_event=make_event_from_dict(
test_event=make_test_event(
{
"room_id": room_id,
"type": "m.room.name",
@@ -892,7 +893,7 @@ class EventAuthTestCase(unittest.TestCase):
def test_room_v10_rejects_string_power_levels(self) -> None:
pl_event_content = {"users_default": "42"}
pl_event = make_event_from_dict(
pl_event = make_test_event(
{
"room_id": TEST_ROOM_ID,
**_maybe_get_event_id_dict_for_room_version(RoomVersions.V10),
@@ -906,7 +907,7 @@ class EventAuthTestCase(unittest.TestCase):
)
pl_event2_content = {"events": {"m.room.name": "42", "m.room.power_levels": 42}}
pl_event2 = make_event_from_dict(
pl_event2 = make_test_event(
{
"room_id": TEST_ROOM_ID,
**_maybe_get_event_id_dict_for_room_version(RoomVersions.V10),
@@ -936,7 +937,7 @@ class EventAuthTestCase(unittest.TestCase):
"""
def create_event(pl_event_content: dict[str, Any]) -> EventBase:
return make_event_from_dict(
return make_test_event(
{
"room_id": TEST_ROOM_ID,
**_maybe_get_event_id_dict_for_room_version(RoomVersions.V10),
@@ -1049,7 +1050,7 @@ class EventAuthTestCase(unittest.TestCase):
"signatures": {"test.com": {"ed25519:0": "some9signature"}},
}
base.update(ev)
event = make_event_from_dict(base, RoomVersions.V10)
event = make_test_event(base, RoomVersions.V10)
got = event_exists_in_state_dag(event)
self.assertEqual(
got, should_exist, f"{ev} should_exist={should_exist} but got {got}"
@@ -1068,7 +1069,7 @@ def _create_event(
room_version: RoomVersion,
user_id: str,
) -> EventBase:
return make_event_from_dict(
return make_test_event(
{
"room_id": TEST_ROOM_ID,
**_maybe_get_event_id_dict_for_room_version(room_version),
@@ -1089,7 +1090,7 @@ def _member_event(
sender: str | None = None,
additional_content: dict | None = None,
) -> EventBase:
return make_event_from_dict(
return make_test_event(
{
"room_id": TEST_ROOM_ID,
**_maybe_get_event_id_dict_for_room_version(room_version),
@@ -1122,7 +1123,7 @@ def _power_levels_event(
sender: str,
content: JsonDict,
) -> EventBase:
return make_event_from_dict(
return make_test_event(
{
"room_id": TEST_ROOM_ID,
**_maybe_get_event_id_dict_for_room_version(room_version),
@@ -1145,7 +1146,7 @@ def _alias_event(room_version: RoomVersion, sender: str, **kwargs: Any) -> Event
"content": {"aliases": []},
}
data.update(**kwargs)
return make_event_from_dict(data, room_version=room_version)
return make_test_event(data, room_version=room_version)
def _build_auth_dict_for_room_version(
@@ -1164,7 +1165,7 @@ def _random_state_event(
) -> EventBase:
if auth_events is None:
auth_events = []
return make_event_from_dict(
return make_test_event(
{
"room_id": TEST_ROOM_ID,
**_maybe_get_event_id_dict_for_room_version(room_version),
@@ -1181,7 +1182,7 @@ def _random_state_event(
def _join_rules_event(
room_version: RoomVersion, sender: str, join_rule: str
) -> EventBase:
return make_event_from_dict(
return make_test_event(
{
"room_id": TEST_ROOM_ID,
**_maybe_get_event_id_dict_for_room_version(room_version),
+3 -2
View File
@@ -32,7 +32,7 @@ from twisted.internet import defer
from synapse.api.auth.internal import InternalAuth
from synapse.api.constants import EventTypes, Membership
from synapse.api.room_versions import RoomVersions
from synapse.events import EventBase, make_event_from_dict
from synapse.events import EventBase
from synapse.events.snapshot import EventContext
from synapse.state import StateHandler, StateResolutionHandler, _make_state_cache_entry
from synapse.types import JsonDict, MutableStateMap, StateMap
@@ -41,6 +41,7 @@ from synapse.util.macaroons import MacaroonGenerator
from tests import unittest
from tests.server import get_clock
from tests.test_utils.event_builders import make_test_event
from tests.utils import default_config
_next_event_id = 1000
@@ -82,7 +83,7 @@ def create_event(
d.update(kwargs)
return make_event_from_dict(d)
return make_test_event(d)
class _DummyStore: