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)
    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])
 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)
    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)