예제 #1
0
 async def test_subscribe_to_rooms(self):
     connector = ConnectorWebexTeams({
         "access-token": "abc123",
         "webhook-url": "http://127.0.0.1"
     })
     connector.api = amock.CoroutineMock()
     connector.opsdroid = amock.CoroutineMock()
     connector.opsdroid.web_server.web_app.router.add_post = amock.CoroutineMock(
     )
     connector.api.webhooks.create = amock.CoroutineMock()
     await connector.subscribe_to_rooms()
     self.assertTrue(connector.api.webhooks.create.called)
     self.assertTrue(
         connector.opsdroid.web_server.web_app.router.add_post.called)
예제 #2
0
    async def test_message_handler(self):
        connector = ConnectorWebexTeams({"access-token": "abc123"})
        connector.opsdroid = OpsDroid()
        connector.bot_spark_id = "spark123"
        connector.api = amock.CoroutineMock()
        request = amock.Mock()
        request.json = amock.CoroutineMock()
        request.json.return_value = {
            "data": {
                "id": "3vABZrQgDzfcz7LZi",
                "personId": "21ABZrQgDzfcz7Lsi"
            }
        }
        message = amock.Mock()
        connector.api.messages.get = amock.Mock()
        message.text = "Hello"
        message.roomId = "90ABCrWgrzfcz7LZi"
        message.roomType = "general"
        connector.api.messages.get.return_value = message
        connector.get_person = amock.CoroutineMock()
        person = amock.CoroutineMock()
        person.displayName = "Himanshu"
        connector.get_person.return_value = person

        response = await connector.webexteams_message_handler(request)
        self.assertLogs("_LOGGER", "debug")
        self.assertEqual(201, response.status)
        self.assertEqual('"Received"', response.text)
        self.assertTrue(connector.api.messages.get.called)
        self.assertTrue(connector.get_person.called)

        connector.opsdroid = amock.CoroutineMock()
        connector.opsdroid.parse = amock.CoroutineMock()
        connector.opsdroid.parse.side_effect = KeyError
        await connector.webexteams_message_handler(request)
        self.assertLogs("_LOGGER", "error")