async def test_constrain_connectors_constrains(self): with OpsDroid() as opsdroid: opsdroid.eventloop = mock.CoroutineMock() skill = await self.getMockSkill() skill = match_regex(r".*")(skill) skill = constraints.constrain_connectors(["slack"])(skill) opsdroid.skills.append(skill) connector = mock.Mock() connector.configure_mock(name="twitter") tasks = await opsdroid.parse(Message("Hello", "user", "#random", connector)) self.assertEqual(len(tasks), 1) # Just match_always
async def test_constrain_connectors_skips(self): with OpsDroid() as opsdroid: opsdroid.eventloop = mock.CoroutineMock() skill = await self.getMockSkill() skill = match_regex(r'.*')(skill) skill = constraints.constrain_connectors(['slack'])(skill) opsdroid.skills.append(skill) connector = mock.Mock() connector.configure_mock(name='slack') tasks = await opsdroid.parse( Message('user', '#general', connector, 'Hello')) self.assertEqual(len(tasks), 2) # match_always and the skill
async def test_constrain_connectors_skips(self): with OpsDroid() as opsdroid: opsdroid.eventloop = mock.CoroutineMock() skill = await self.getMockSkill() skill = match_regex(r'.*')(skill) skill = constraints.constrain_connectors(['slack'])(skill) opsdroid.skills.append(skill) connector = mock.Mock() connector.configure_mock(name='slack') tasks = await opsdroid.parse( Message('Hello', 'user', '#general', connector) ) self.assertEqual(len(tasks), 2) # match_always and the skill
async def test_constrain_connectors_inverted(self): with OpsDroid() as opsdroid: skill = await self.getMockSkill() skill = match_regex(r".*")(skill) skill = constraints.constrain_connectors(["slack"], invert=True)(skill) opsdroid.skills.append(skill) connector = mock.Mock() connector.configure_mock(name="slack") tasks = await opsdroid.parse( Message( text="Hello", user="******", target="#general", connector=connector ) ) self.assertEqual(len(tasks), 3) # Just match_always and match_event
async def test_constrain_connectors_skips(self): with OpsDroid() as opsdroid: opsdroid.eventloop = mock.CoroutineMock() skill = await self.getMockSkill() skill = match_regex(r".*")(skill) skill = constraints.constrain_connectors(["slack"])(skill) opsdroid.skills.append(skill) connector = mock.Mock() connector.configure_mock(name="slack") tasks = await opsdroid.parse( Message(text="Hello", user="******", target="#general", connector=connector)) self.assertEqual(len(tasks), 2) # match_always and the skill