コード例 #1
0
    def test_pm(self):
        room = Chatroom("../config/test_config/chat.yaml")
        sender = Mwsc()
        reciever = Mwsc()
        bystander = Mwsc()

        test_helper.sync(room.handle_connection(sender, "sender"))
        test_helper.sync(room.handle_connection(reciever, "reciever"))
        test_helper.sync(room.handle_connection(bystander, "bystander"))

        test_helper.sync(
            room.command_handler.handle_command("!pm reciever MESSAGE BODY", room.connected[sender], room)
        )

        expected_reciver = room.get_outgoing_pm("MESSAGE BODY", "sender")
        expected_sender = room.get_pm_receipt("MESSAGE BODY", "reciever")

        self.assertIn(expected_reciver, reciever.incoming[-1])
        self.assertIn("PRIVATE", reciever.incoming[-1])

        self.assertIn(expected_sender, sender.incoming[-1])
        self.assertIn("PRIVATE", sender.incoming[-1])

        self.assertNotIn(expected_sender, bystander.incoming[-1])
        self.assertNotIn("PRIVATE", bystander.incoming[-1])
コード例 #2
0
    def test_handle_message(self):
        room = Chatroom("../config/test_config/chat.yaml")
        fake_websocket = Mwsc()
        fake_websocket2 = Mwsc()
        self.connect_fake_client(fake_websocket, room)
        self.connect_fake_client(fake_websocket2, room)
        asyncio.get_event_loop().run_until_complete(
            room.handle_message(fake_websocket, "Fake message"))

        self.assertIn(fake_websocket, room.connected)
        self.assertEqual(room.connected[fake_websocket].websocket,
                         fake_websocket)
        self.assertTrue(
            len(room.connected[fake_websocket2].websocket.incoming) > 1)
コード例 #3
0
 def test_help(self):
     handler = CommandHandler()
     room = Chatroom("../config/test_config/chat.yaml")
     socket = Mwsc()
     user = User(socket, "Test")
     test_helper.sync(handler.handle_command("!help", user, room))
     self.assertTrue("!help" in user.websocket.incoming[-1])
コード例 #4
0
    def test_send_to_all(self):
        room = Chatroom("../config/test_config/chat.yaml")
        fake_websocket = Mwsc()
        fake_websocket2 = Mwsc()

        self.connect_fake_client(fake_websocket, room)
        self.connect_fake_client(fake_websocket2, room)
        resp = Response("TO ALL")
        asyncio.get_event_loop().run_until_complete(
            room.send_to_all(resp, fake_websocket2))

        self.assertEqual(resp.json(),
                         room.connected[fake_websocket].websocket.incoming[-1])
        self.assertNotEqual(
            resp.json(),
            room.connected[fake_websocket2].websocket.incoming[-1])
コード例 #5
0
    def test_create_user(self):
        name = "Rafi"

        fake_socket = Mwsc()
        user = User(fake_socket, name)
        self.assertIsNotNone(user.websocket)
        self.assertIsNotNone(user.name)
        self.assertIsNotNone(user.connected_at)
        self.assertEqual(user.name, name)
コード例 #6
0
 def test_handle_disconnect(self):
     room = Chatroom("../config/test_config/chat.yaml")
     fake_websocket = Mwsc()
     self.assertEqual(len(room.connected), 0)
     self.connect_fake_client(fake_websocket, room)
     self.assertEqual(len(room.connected), 1)
     asyncio.get_event_loop().run_until_complete(
         room.handle_disconnect(fake_websocket))
     self.assertEqual(len(room.connected), 0)
コード例 #7
0
    def test_handle_shutdown(self):
        room = Chatroom("../config/test_config/chat.yaml")
        fake_websocket = Mwsc()
        fake_websocket2 = Mwsc()
        self.connect_fake_client(fake_websocket, room)
        self.connect_fake_client(fake_websocket2, room)

        asyncio.get_event_loop().run_until_complete(room.handle_shutdown())

        expected = Response(room.get_shutdown_notification(), Origin.SERVER)

        self.assertIn(
            str(expected),
            str(room.connected[fake_websocket].websocket.incoming[-1]))
        self.assertIn(
            str(expected),
            str(room.connected[fake_websocket2].websocket.incoming[-1]))
        self.assertFalse(room.connected[fake_websocket].websocket.open)
        self.assertFalse(room.connected[fake_websocket2].websocket.open)
コード例 #8
0
    def test_name_change(self):
        room = Chatroom("../config/test_config/chat.yaml")
        fake_websocket = Mwsc()
        fake_websocket2 = Mwsc()
        self.connect_fake_client(fake_websocket, room, "old_name")
        self.connect_fake_client(fake_websocket2, room)
        asyncio.get_event_loop().run_until_complete(
            room.change_name(fake_websocket, "new_name"))

        expected = Response(
            room.get_name_change_notification("old_name", "new_name"),
            Origin.SERVER)

        self.assertEqual(expected.json(),
                         room.connected[fake_websocket].websocket.incoming[-1])
        self.assertEqual(
            expected.json(),
            room.connected[fake_websocket2].websocket.incoming[-1])
        self.assertEqual(room.connected[fake_websocket].name, "new_name")
コード例 #9
0
    def test_bad_pm(self):

        room = Chatroom("../config/test_config/chat.yaml")
        sender = Mwsc()
        reciever = Mwsc()

        test_helper.sync(room.handle_connection(sender, "sender"))
        test_helper.sync(room.handle_connection(reciever, "reciever"))

        test_helper.sync(
            room.command_handler.handle_command("!pm", room.connected[sender], room)
        )

        test_helper.sync(
            room.command_handler.handle_command("!pm test", room.connected[sender], room)
        )

        test_helper.sync(
            room.command_handler.handle_command("!pm test ", room.connected[sender], room)
        )
コード例 #10
0
    def test_handle_connection(self):
        room = Chatroom("../config/test_config/chat.yaml")
        fake_websocket = Mwsc()
        self.connect_fake_client(fake_websocket, room)

        self.assertIn(fake_websocket, room.connected)
        self.assertEqual(room.connected[fake_websocket].websocket,
                         fake_websocket)
        self.assertTrue(
            len(room.connected[fake_websocket].websocket.incoming) > 0)
        self.assertEqual(len(room.connected), 1)