async def test_parse_always_decorate_no_parens(self): with OpsDroid() as opsdroid: mock_skill = amock.CoroutineMock() match_always(mock_skill) mock_connector = amock.CoroutineMock() message = Message("Hello world", "user", "default", mock_connector) await parse_always(opsdroid, message) self.assertTrue(mock_skill.called)
async def test_parse_always_raises(self): with OpsDroid() as opsdroid: mock_skill = amock.CoroutineMock() mock_skill.side_effect = Exception() match_always()(mock_skill) self.assertEqual(len(opsdroid.skills), 1) mock_connector = amock.CoroutineMock() message = Message("Hello world", "user", "default", mock_connector) await parse_always(opsdroid, message) self.assertTrue(mock_skill.called)
async def test_parse_always_raises(self): with OpsDroid() as opsdroid: mock_skill = amock.CoroutineMock() mock_skill.side_effect = Exception() opsdroid.loader.current_import_config = {"name": "mocked-skill"} match_always()(mock_skill) self.assertEqual(len(opsdroid.skills), 1) mock_connector = amock.MagicMock() mock_connector.respond = amock.CoroutineMock() message = Message("Hello world", "user", "default", mock_connector) await parse_always(opsdroid, message) self.assertTrue(mock_skill.called)
async def test_parse_always_decorator_parens(self): with OpsDroid() as opsdroid: mock_skill = await self.getMockSkill() opsdroid.skills.append(match_always()(mock_skill)) opsdroid.run_skill = amock.CoroutineMock() mock_connector = amock.CoroutineMock() message = Message("Hello world", "user", "default", mock_connector) await parse_always(opsdroid, message) self.assertTrue(opsdroid.run_skill.called)
async def test_parse_always_decorate_no_parens(self): with OpsDroid() as opsdroid: mock_skill = await self.getMockSkill() opsdroid.skills.append(match_always(mock_skill)) opsdroid.run_skill = amock.CoroutineMock() mock_connector = amock.CoroutineMock() message = Message("Hello world", "user", "default", mock_connector) await parse_always(opsdroid, message) self.assertTrue(opsdroid.run_skill.called)
async def test_parse_always_raises(self): with OpsDroid() as opsdroid: mock_skill = await self.getRaisingMockSkill() mock_skill.config = {"name": "greetings"} opsdroid.skills.append(match_always()(mock_skill)) self.assertEqual(len(opsdroid.skills), 1) mock_connector = amock.MagicMock() mock_connector.respond = amock.CoroutineMock() message = Message("Hello world", "user", "default", mock_connector) await parse_always(opsdroid, message) self.assertLogs('_LOGGER', 'exception')
async def test_parse_always_raises(self): with OpsDroid() as opsdroid: mock_skill = await self.getRaisingMockSkill() mock_skill.config = { "name": "greetings" } opsdroid.skills.append(match_always()(mock_skill)) self.assertEqual(len(opsdroid.skills), 1) mock_connector = amock.MagicMock() mock_connector.send = amock.CoroutineMock() message = Message("Hello world", "user", "default", mock_connector) await parse_always(opsdroid, message) self.assertLogs('_LOGGER', 'exception')
async def test_parse_catchall_not_called(): with OpsDroid() as opsdroid: mock_skill = await getMockSkill() catchall_skill = amock.CoroutineMock() opsdroid.skills.append(match_always()(mock_skill)) opsdroid.skills.append(match_catchall()(catchall_skill)) opsdroid.run_skill = amock.CoroutineMock() mock_connector = amock.CoroutineMock() message = Message( text="Hello world", user="******", target="default", connector=mock_connector, ) await parse_catchall(opsdroid, message) assert not catchall_skill.called