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_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!")