Пример #1
0
 def test_fire_registered_event_cancel(self):
     bot = Bot("app_name", "version")
     bot.guild_logs_file = self.LOG_PATH
     on_guild_remove = AsyncMock()
     on_guild_remove.__name__ = "on_guild_remove"
     on_guild_remove.return_value = False
     bot.register_event(on_guild_remove)
     guild = AsyncMock()
     self._await(bot.on_guild_remove(guild))
     on_guild_remove.assert_awaited_once_with(guild)
     self.assertFalse(path.exists(self.LOG_PATH))
Пример #2
0
 def test_fire_registered_event(self):
     bot = Bot("app_name", "version")
     bot.guild_logs_file = self.LOG_PATH
     on_guild_join = AsyncMock()
     on_guild_join.__name__ = "on_guild_join"
     on_guild_join.return_value = True
     bot.register_event(on_guild_join)
     guild = AsyncMock()
     self._await(bot.on_guild_join(guild))
     on_guild_join.assert_awaited_once_with(guild)
     self.assertTrue(path.exists(self.LOG_PATH))
Пример #3
0
 def test_no_log(self, client_mock):
     bot = Bot("app_name", "version")
     bot.guild_logs_file = None
     ex = Exception("test")
     client_mock.change_presence.side_effect = ex
     try:
         with patch("discord.Game") as game_mock:
             game_mock.return_value = "activity"
             self._await(bot.on_ready())
     except Exception as error:
         self.assertEqual(ex, error)
     client_mock.change_presence.assert_called_with(
         activity="activity", status=discord.Status.online)
Пример #4
0
 def test_fire_registered_event_cancel(self, client_mock):
     bot = Bot("app_name", "version")
     bot.guild_logs_file = None
     on_ready = AsyncMock()
     on_ready.__name__ = "on_ready"
     on_ready.return_value = False
     bot.register_event(on_ready)
     ex = Exception("test")
     client_mock.change_presence.side_effect = ex
     try:
         with patch("discord.Game") as game_mock:
             game_mock.return_value = "activity"
             self._await(bot.on_ready())
     except Exception as error:
         self.assertEqual(ex, error)
     on_ready.assert_awaited_once()
     client_mock.change_presence.assert_not_called()
Пример #5
0
 def test_log_exists(self, client_mock):
     bot = Bot("app_name", "version")
     bot.guild_logs_file = self.LOG_PATH
     client_mock.change_presence.side_effect = Exception("test")
     client_mock.guilds = [MagicMock()]
     client_mock.guilds[0].id = "id1"
     client_mock.guilds[0].name = "name1"
     with open(self.LOG_PATH, encoding="utf-8", mode="w") as f:
         f.write("test")
     try:
         with patch("discord.Game") as game_mock:
             game_mock.return_value = "activity"
             self._await(bot.on_ready())
     except:
         pass
     with open(self.LOG_PATH, encoding="utf-8", mode="r") as f:
         self.assertEqual(f"test", f.read())
Пример #6
0
 def test_log(self):
     bot = Bot("app_name", "version")
     bot.guild_logs_file = self.LOG_PATH
     guild1 = AsyncMock()
     guild1.id = "id1"
     guild1.name = "name1"
     guild2 = AsyncMock()
     guild2.id = "id2"
     guild2.name = "name2"
     d = datetime.now()
     self._await(bot.on_guild_remove(guild1))
     self._await(bot.on_guild_remove(guild2))
     self.assertTrue(path.exists(self.LOG_PATH))
     with open(self.LOG_PATH, encoding="utf-8", mode="r") as f:
         self.assertEqual(
             f"{d:%Y-%m-%d %H:%M} -id1: name1\n"
             f"{d:%Y-%m-%d %H:%M} -id2: name2\n",
             f.read(),
         )
Пример #7
0
 def test_log_create(self, client_mock):
     bot = Bot("app_name", "version")
     bot.guild_logs_file = self.LOG_PATH
     client_mock.change_presence.side_effect = Exception("test")
     client_mock.guilds = [MagicMock(), MagicMock()]
     client_mock.guilds[0].id = "id1"
     client_mock.guilds[0].name = "name1"
     client_mock.guilds[1].id = "id2"
     client_mock.guilds[1].name = "name2"
     d = datetime.now()
     try:
         with patch("discord.Game") as game_mock:
             game_mock.return_value = "activity"
             self._await(bot.on_ready())
     except:
         pass
     with open(self.LOG_PATH, encoding="utf-8", mode="r") as f:
         self.assertEqual(
             f"{d:%Y-%m-%d %H:%M} +id1: name1\n"
             f"{d:%Y-%m-%d %H:%M} +id2: name2\n",
             f.read(),
         )
Пример #8
0
 def test_no_log(self):
     bot = Bot("app_name", "version")
     bot.guild_logs_file = None
     guild = AsyncMock()
     self._await(bot.on_guild_join(guild))
     self.assertFalse(path.exists(self.LOG_PATH))