Beispiel #1
0
    async def test_process_message(self):
        """Test processing a slack message."""
        connector = ConnectorSlack({"api-token": "abc123"},
                                   opsdroid=OpsDroid())
        connector.lookup_username = amock.CoroutineMock()
        connector.lookup_username.return_value = {"name": "testuser"}
        connector.opsdroid = amock.CoroutineMock()
        connector.opsdroid.parse = amock.CoroutineMock()

        message = {  # https://api.slack.com/events/message
            "type": "message",
            "channel": "C2147483705",
            "user": "******",
            "text": "Hello, world!",
            "ts": "1355517523.000005",
            "edited": {
                "user": "******",
                "ts": "1355517536.000001"
            }
        }
        await connector.process_message(message)
        self.assertTrue(connector.opsdroid.parse.called)

        connector.opsdroid.parse.reset_mock()
        message["subtype"] = "bot_message"
        await connector.process_message(message)
        self.assertFalse(connector.opsdroid.parse.called)
        del message["subtype"]

        connector.opsdroid.parse.reset_mock()
        connector.lookup_username.side_effect = ValueError
        await connector.process_message(message)
        self.assertFalse(connector.opsdroid.parse.called)
 async def test_replace_usernames(self):
     connector = ConnectorSlack({"api-token": "abc123"},
                                opsdroid=OpsDroid())
     connector.lookup_username = amock.CoroutineMock()
     connector.lookup_username.return_value = {"name": "user"}
     result = await connector.replace_usernames("Hello <@U023BECGF>!")
     self.assertEqual(result, "Hello user!")
    async def test_process_message(self):
        """Test processing a slack message."""
        connector = ConnectorSlack({"api-token": "abc123"}, opsdroid=OpsDroid())
        connector.lookup_username = amock.CoroutineMock()
        connector.lookup_username.return_value = {"name": "testuser"}
        connector.opsdroid = amock.CoroutineMock()
        connector.opsdroid.parse = amock.CoroutineMock()

        message = {   # https://api.slack.com/events/message
            "type": "message",
            "channel": "C2147483705",
            "user": "******",
            "text": "Hello, world!",
            "ts": "1355517523.000005",
            "edited": {
                "user": "******",
                "ts": "1355517536.000001"
            }
        }
        await connector.process_message(message)
        self.assertTrue(connector.opsdroid.parse.called)

        connector.opsdroid.parse.reset_mock()
        message["subtype"] = "bot_message"
        await connector.process_message(message)
        self.assertFalse(connector.opsdroid.parse.called)
        del message["subtype"]

        connector.opsdroid.parse.reset_mock()
        connector.lookup_username.side_effect = ValueError
        await connector.process_message(message)
        self.assertFalse(connector.opsdroid.parse.called)
 async def test_replace_usernames(self):
     connector = ConnectorSlack({"api-token": "abc123"}, opsdroid=OpsDroid())
     connector.lookup_username = amock.CoroutineMock()
     connector.lookup_username.return_value = {"name": 'user'}
     result = await connector.replace_usernames("Hello <@U023BECGF>!")
     self.assertEqual(result, "Hello user!")