コード例 #1
0
ファイル: test_federation.py プロジェクト: uroborus/synapse
    def test_invite_join_target_this(self):
        room_id = "foo"
        user_id = "@bob:red"

        pdu = Pdu(
            pdu_type=InviteJoinEvent.TYPE,
            user_id=user_id,
            target_host=self.hostname,
            context=room_id,
            content={},
            ts=0,
            pdu_id="a",
            origin="b",
        )

        yield self.handlers.federation_handler.on_receive_pdu(pdu, False)

        mem_handler = self.handlers.room_member_handler
        self.assertEquals(1, mem_handler.change_membership.call_count)
        call_args = get_mock_call_args(lambda event, do_auth: None,
                                       mem_handler.change_membership)
        self.assertEquals(False, call_args["do_auth"])

        new_event = call_args["event"]
        self.assertEquals(RoomMemberEvent.TYPE, new_event.type)
        self.assertEquals(room_id, new_event.room_id)
        self.assertEquals(user_id, new_event.state_key)
        self.assertEquals(Membership.JOIN, new_event.membership)
コード例 #2
0
ファイル: test_state.py プロジェクト: uroborus/synapse
def new_fake_pdu(pdu_id,
                 context,
                 pdu_type,
                 state_key,
                 prev_state_id,
                 user_id,
                 depth=0):
    new_pdu = Pdu(
        pdu_id=pdu_id,
        pdu_type=pdu_type,
        state_key=state_key,
        user_id=user_id,
        prev_state_id=prev_state_id,
        origin="example.com",
        context="context",
        ts=1405353060021,
        depth=depth,
        content_json="{}",
        unrecognized_keys="{}",
        outlier=True,
        is_state=True,
        prev_state_origin="example.com",
        have_processed=True,
        content={},
    )

    return new_pdu
コード例 #3
0
ファイル: test_federation.py プロジェクト: uroborus/synapse
    def test_msg(self):
        pdu = Pdu(
            pdu_type=MessageEvent.TYPE,
            context="foo",
            content={"msgtype": u"fooo"},
            ts=0,
            pdu_id="a",
            origin="b",
        )

        store_id = "ASD"
        self.datastore.persist_event.return_value = defer.succeed(store_id)
        self.datastore.get_room.return_value = defer.succeed(True)

        yield self.handlers.federation_handler.on_receive_pdu(pdu, False)

        self.datastore.persist_event.assert_called_once_with(
            ANY, False, is_new_state=False)
        self.notifier.on_new_room_event.assert_called_once_with(ANY)
コード例 #4
0
ファイル: test_federation.py プロジェクト: uroborus/synapse
    def test_invite_join_target_other(self):
        room_id = "foo"
        user_id = "@bob:red"

        pdu = Pdu(
            pdu_type=InviteJoinEvent.TYPE,
            user_id=user_id,
            state_key="@red:not%s" % self.hostname,
            context=room_id,
            content={},
            ts=0,
            pdu_id="a",
            origin="b",
        )

        yield self.handlers.federation_handler.on_receive_pdu(pdu, False)

        mem_handler = self.handlers.room_member_handler
        self.assertEquals(0, mem_handler.change_membership.call_count)
コード例 #5
0
ファイル: test_pdu_codec.py プロジェクト: uroborus/synapse
    def test_event_from_pdu(self):
        pdu = Pdu(
            pdu_id="foo",
            context="rooooom",
            pdu_type="m.room.message",
            origin="bar.com",
            ts=12345,
            depth=5,
            prev_pdus=[("alice", "bob.com")],
            is_state=False,
            content={"msgtype": u"test"},
        )

        event = self.codec.event_from_pdu(pdu)

        self.assertEquals("*****@*****.**", event.event_id)
        self.assertEquals(pdu.context, event.room_id)
        self.assertEquals(pdu.is_state, event.is_state)
        self.assertEquals(pdu.depth, event.depth)
        self.assertEquals(["*****@*****.**"], event.prev_events)
        self.assertEquals(pdu.content, event.content)
コード例 #6
0
    def test_send_pdu(self):
        self.mock_http_client.put_json.return_value = defer.succeed(
                (200, "OK")
        )

        pdu = Pdu(
                pdu_id="abc123def456",
                origin="red",
                destinations=["remote"],
                context="my-context",
                ts=123456789002,
                pdu_type="m.test",
                content={"testing": "content here"},
                depth=1,
        )

        yield self.federation.send_pdu(pdu)

        self.mock_http_client.put_json.assert_called_with(
                "remote",
                path="/_matrix/federation/v1/send/1000000/",
                data={
                    "ts": 1000000,
                    "origin": "test",
                    "pdus": [
                        {
                            "origin": "red",
                            "pdu_id": "abc123def456",
                            "prev_pdus": [],
                            "ts": 123456789002,
                            "context": "my-context",
                            "pdu_type": "m.test",
                            "is_state": False,
                            "content": {"testing": "content here"},
                            "depth": 1,
                        },
                    ]
                },
                on_send_callback=ANY,
        )