Exemplo n.º 1
0
 async def test_respond_join_room(self):
     event = events.JoinRoom(target="#test:localhost")
     with amock.patch(api_string.format("get_room_id")) as patched_get_room_id:
         patched_get_room_id.return_value = asyncio.Future()
         patched_get_room_id.return_value.set_result("!test:localhost")
         with amock.patch(api_string.format("join_room")) as patched_send:
             patched_send.return_value = asyncio.Future()
             patched_send.return_value.set_result({})
             await self.connector.send(event)
             assert patched_send.called_once_with("#test:localhost")
Exemplo n.º 2
0
 async def create_join_room(self, event, roomid):
     """Send a JoinRoomEvent."""
     if event["content"]["membership"] == "join":
         return events.JoinRoom(
             user=await self.connector.get_nick(roomid, event["sender"]),
             user_id=event["sender"],
             target=roomid,
             connector=self.connector,
             event_id=event["event_id"],
             raw_event=event,
         )
Exemplo n.º 3
0
    async def handle_channel_join(self, event, channel):
        """Send a JoinRoom event when a user joins the channel."""
        user_id = event["user"]
        user_info = await self.connector.lookup_username(user_id)

        return events.JoinRoom(
            user_id=user_id,
            user=user_info["name"],
            target=event["channel"],
            connector=self.connector,
            event_id=event["event_ts"],
            raw_event=event,
        )
Exemplo n.º 4
0
async def test_handle_message_join_event(opsdroid):
    message = ":[email protected] JOIN #channel"

    join_event = opsdroid_events.JoinRoom(user="******")

    connector = ConnectorTwitch(connector_config, opsdroid=opsdroid)

    opsdroid.parse = amock.CoroutineMock()

    await connector._handle_message(message)

    assert opsdroid.parse.called
    assert "username" in join_event.user
    async def test_parse_event_with_constraint(self):
        with OpsDroid() as opsdroid:
            opsdroid.run_skill = amock.CoroutineMock()
            mock_skill = await self.getMockSkill()
            mock_skill = match_event(events.JoinRoom)(mock_skill)
            mock_skill = constrain_rooms(["#general"])(mock_skill)
            opsdroid.skills.append(mock_skill)

            mock_connector = amock.CoroutineMock()
            mock_connector.lookup_target = amock.Mock(return_value="some_room_id")
            message = events.JoinRoom(
                user="******", target="some_room_id", connector=mock_connector
            )

            await opsdroid.parse(message)
            self.assertTrue(opsdroid.run_skill.called)
Exemplo n.º 6
0
 async def test_join_room(self):
     connector = ConnectorSlack({"token": "abc123"}, opsdroid=self.od)
     connector.slack_user.api_call = amock.CoroutineMock()
     await connector.send(events.JoinRoom(target="an-existing-room"))
     connector.slack_user.api_call.assert_called_once_with(
         "conversations.join", data={"channel": "an-existing-room"})
Exemplo n.º 7
0
async def test_join_room(send_event):
    event = events.JoinRoom(target="room")
    payload, response = await send_event(CONVERSATIONS_JOIN, event)
    assert payload == {"channel": "room"}
    assert response["ok"]