Example #1
0
 async def test_parse_regex_insensitive(self):
     with OpsDroid() as opsdroid:
         regex = r"Hello .*"
         mock_connector = Connector({}, opsdroid=opsdroid)
         mock_connector.send = amock.CoroutineMock()
         skill = await self.getMockSkill()
         opsdroid.skills.append(match_regex(regex, case_sensitive=False)(skill))
         message = Message("HELLO world", "user", "default", mock_connector)
         tasks = await opsdroid.parse(message)
         for task in tasks:
             await task
         self.assertTrue(mock_connector.send.called)
Example #2
0
    async def test_unload(self):
        with OpsDroid() as opsdroid:
            mock_connector = Connector({}, opsdroid=opsdroid)
            mock_connector.disconnect = amock.CoroutineMock()
            opsdroid.connectors = [mock_connector]

            mock_database = Database({})
            mock_database.disconnect = amock.CoroutineMock()
            opsdroid.memory.databases = [mock_database]

            mock_skill = amock.Mock(config={"name": "mockskill"})
            opsdroid.skills = [mock_skill]

            opsdroid.web_server = Web(opsdroid)
            opsdroid.web_server.stop = amock.CoroutineMock()
            mock_web_server = opsdroid.web_server

            opsdroid.cron_task = amock.CoroutineMock()
            opsdroid.cron_task.cancel = amock.CoroutineMock()
            mock_cron_task = opsdroid.cron_task

            async def task():
                await asyncio.sleep(.5)

            t = asyncio.Task(task(), loop=self.loop)

            await opsdroid.unload()

            self.assertTrue(t.cancel())
            self.assertTrue(mock_connector.disconnect.called)
            self.assertTrue(mock_database.disconnect.called)
            self.assertTrue(mock_web_server.stop.called)
            self.assertTrue(opsdroid.web_server is None)
            self.assertTrue(mock_cron_task.cancel.called)
            self.assertTrue(opsdroid.cron_task is None)
            self.assertFalse(opsdroid.connectors)
            self.assertFalse(opsdroid.memory.databases)
            self.assertFalse(opsdroid.skills)
Example #3
0
 def test_property(self):
     connector = Connector({"name": "shell"})
     self.assertEqual("shell", connector.configuration.get("name"))
Example #4
0
 def test_init(self):
     config = {"example_item": "test"}
     connector = Connector(config)
     self.assertEqual(None, connector.default_room)
     self.assertEqual("", connector.name)
     self.assertEqual("test", connector.config["example_item"])
Example #5
0
    async def test_create_event(self):
        creator = events.EventCreator(Connector({}))

        self.assertEqual(None, await creator.create_event({"type": "NotAnEvent"}, ""))
Example #6
0
 def test_default_room(self):
     with OpsDroid() as opsdroid:
         mock_connector = Connector({}, opsdroid=opsdroid)
         self.assertEqual(None, mock_connector.default_room)
Example #7
0
 async def test_send_incorrect_event(self):
     connector = Connector({"name": "shell"})
     with self.assertRaises(TypeError):
         await connector.send(object())
Example #8
0
 async def test_disconnect(self):
     connector = Connector({}, opsdroid=OpsDroid())
     res = await connector.disconnect()
     assert res is None
Example #9
0
 def test_react(self):
     connector = Connector({}, opsdroid=OpsDroid())
     reacted = self.loop.run_until_complete(connector.react({}, 'emoji'))
     self.assertFalse(reacted)
Example #10
0
 def test_respond(self):
     connector = Connector({}, opsdroid=OpsDroid())
     with self.assertRaises(TypeError):
         self.loop.run_until_complete(connector.send(Message("")))
Example #11
0
 def test_listen(self):
     connector = Connector({}, opsdroid=OpsDroid())
     with self.assertRaises(NotImplementedError):
         self.loop.run_until_complete(connector.listen())
Example #12
0
 def test_property(self):
     opsdroid = amock.CoroutineMock()
     connector = Connector({"name": "shell"}, opsdroid=opsdroid)
     self.assertEqual("shell", connector.configuration.get("name"))
Example #13
0
 def test_init(self):
     config = {"example_item": "test"}
     connector = Connector(config, opsdroid=OpsDroid())
     self.assertEqual(None, connector.default_target)
     self.assertEqual("", connector.name)
     self.assertEqual("test", connector.config["example_item"])
Example #14
0
 def test_default_room(self):
     mock_connector = Connector({})
     self.assertEqual(None, mock_connector.default_room)
Example #15
0
 def test_user_typing(self):
     opsdroid = 'opsdroid'
     connector = Connector({}, opsdroid=OpsDroid())
     user_typing = self.loop.run_until_complete(
         connector.user_typing(trigger=True))
     assert user_typing is None
Example #16
0
 def test_unsupported_event(self):
     connector = Connector({}, opsdroid=OpsDroid())
     with self.assertRaises(TypeError):
         self.loop.run_until_complete(connector.send(Reaction("emoji")))
Example #17
0
 def test_respond(self):
     connector = Connector({})
     with self.assertRaises(NotImplementedError):
         self.loop.run_until_complete(connector.respond({}))