Ejemplo n.º 1
0
    async def test_register_two(self):
        client_id1, client_writer1 = factories.get_client(CLIENT1)
        client_id2, client_writer2 = factories.get_client(CLIENT2)

        await clients.handle_new_client(client_id=client_id1, writer=client_writer1)
        await clients.handle_new_client(client_id=client_id2, writer=client_writer2)

        self.assertEqual(await clients.maybe_get_client_writer(client_id=client_id1), client_writer1)
        self.assertEqual(await clients.maybe_get_client_writer(client_id=client_id2), client_writer2)
Ejemplo n.º 2
0
    async def test_unfollow(self):
        client_id1, client_writer1 = factories.get_client(CLIENT1)
        client_id2, client_writer2 = factories.get_client(CLIENT2)

        await clients.handle_new_client(client_id=client_id1, writer=client_writer1)
        await clients.handle_new_client(client_id=client_id2, writer=client_writer2)

        await clients.unfollow(from_client=client_id1, to_client=client_id2)

        self.assertEqual(len(client_writer1.get_mailbox()), 0)
        self.assertEqual(len(client_writer2.get_mailbox()), 0)
Ejemplo n.º 3
0
    async def test_broadcast_two_clients(self):
        client_id1, client_writer1 = factories.get_client(CLIENT1)
        client_id2, client_writer2 = factories.get_client(CLIENT2)

        await clients.handle_new_client(client_id=client_id1, writer=client_writer1)
        await clients.handle_new_client(client_id=client_id2, writer=client_writer2)
        await clients.broadcast(PAYLOAD1)

        self.assertEqual(len(client_writer1.get_mailbox()), 1)
        self.assertIn(PAYLOAD1, client_writer1.get_mailbox())

        self.assertEqual(len(client_writer2.get_mailbox()), 1)
        self.assertIn(PAYLOAD1, client_writer2.get_mailbox())
Ejemplo n.º 4
0
    async def test_follow_closed(self):
        client_id1, client_writer1 = factories.get_client(CLIENT1)
        client_id2, client_writer2 = factories.get_client(CLIENT2)

        await clients.handle_new_client(client_id=client_id1, writer=client_writer1)
        await clients.handle_new_client(client_id=client_id2, writer=client_writer2)

        client_writer2.set_closing()

        await clients.follow(from_client=client_id1, to_client=client_id2, payload=PAYLOAD1)

        self.assertEqual(len(client_writer1.get_mailbox()), 0)
        self.assertEqual(len(client_writer2.get_mailbox()), 0)
Ejemplo n.º 5
0
    async def test_status_update_one_follower(self):
        client_id1, client_writer1 = factories.get_client(CLIENT1)
        client_id2, client_writer2 = factories.get_client(CLIENT2)

        await clients.handle_new_client(client_id=client_id1, writer=client_writer1)
        await clients.handle_new_client(client_id=client_id2, writer=client_writer2)

        await clients.follow(from_client=client_id2, to_client=client_id1, payload=PAYLOAD1)

        await clients.status_update(client_id=client_id1, payload=PAYLOAD2)

        self.assertEqual(len(client_writer1.get_mailbox()), 1)
        self.assertIn(PAYLOAD1, client_writer1.get_mailbox())

        self.assertEqual(len(client_writer2.get_mailbox()), 1)
        self.assertIn(PAYLOAD2, client_writer2.get_mailbox())
Ejemplo n.º 6
0
    async def test_status_update_no_followers(self):
        client_id, client_writer = factories.get_client()

        await clients.handle_new_client(client_id=client_id, writer=client_writer)
        await clients.status_update(client_id=client_id, payload=PAYLOAD1)

        self.assertEqual(len(client_writer.get_mailbox()), 0)
Ejemplo n.º 7
0
    async def test_send_private_message_different_client(self):
        client_id, client_writer = factories.get_client()

        await clients.handle_new_client(client_id=client_id, writer=client_writer)
        await clients.send_private_message(client_id=client_id + 1, payload=PAYLOAD1)

        self.assertEqual(len(client_writer.get_mailbox()), 0)
Ejemplo n.º 8
0
    async def test_broadcast_one_client(self):
        client_id, client_writer = factories.get_client()

        await clients.handle_new_client(client_id=client_id, writer=client_writer)
        await clients.broadcast(PAYLOAD1)

        self.assertEqual(len(client_writer.get_mailbox()), 1)
        self.assertIn(PAYLOAD1, client_writer.get_mailbox())
Ejemplo n.º 9
0
    async def test_get_closed_writer(self):
        client_id, client_writer = factories.get_client()

        await clients.handle_new_client(client_id=client_id, writer=client_writer)

        self.assertEqual(await clients.maybe_get_client_writer(client_id=client_id), client_writer)

        client_writer.set_closing()

        self.assertIsNone(await clients.maybe_get_client_writer(client_id=client_id))
Ejemplo n.º 10
0
    async def test_register_one(self):
        client_id, client_writer = factories.get_client()

        await clients.handle_new_client(client_id=client_id, writer=client_writer)

        self.assertEqual(await clients.maybe_get_client_writer(client_id=client_id), client_writer)