diff options
| author | 2020-06-20 01:39:56 +0200 | |
|---|---|---|
| committer | 2020-06-20 01:39:56 +0200 | |
| commit | 28919b6cbe0e9e037cfa1cd2ac7b18dc66d3edc2 (patch) | |
| tree | 1d94ccc3583a73565965043f3d29898575d85465 /tests | |
| parent | Write unit test for `sub_clyde` (diff) | |
| parent | Merge pull request #1015 from python-discord/kwzrd/pipenv-html-script (diff) | |
Merge branch 'master' into bug/mod/bot-2a/webhook-clyde
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/bot/cogs/test_token_remover.py | 32 | ||||
| -rw-r--r-- | tests/bot/utils/test_redis_cache.py | 4 | 
2 files changed, 26 insertions, 10 deletions
| diff --git a/tests/bot/cogs/test_token_remover.py b/tests/bot/cogs/test_token_remover.py index a10124d2d..3349caa73 100644 --- a/tests/bot/cogs/test_token_remover.py +++ b/tests/bot/cogs/test_token_remover.py @@ -3,7 +3,7 @@ from re import Match  from unittest import mock  from unittest.mock import MagicMock -from discord import Colour +from discord import Colour, NotFound  from bot import constants  from bot.cogs import token_remover @@ -121,15 +121,16 @@ class TokenRemoverTests(unittest.IsolatedAsyncioTestCase):          find_token_in_message.assert_called_once_with(self.msg)          take_action.assert_not_awaited() -    @autospec("bot.cogs.token_remover", "TOKEN_RE") -    def test_find_token_ignores_bot_messages(self, token_re): -        """The token finder should ignore messages authored by bots.""" -        self.msg.author.bot = True +    @autospec(TokenRemover, "find_token_in_message") +    async def test_on_message_ignores_dms_bots(self, find_token_in_message): +        """Shouldn't parse a message if it is a DM or authored by a bot.""" +        cog = TokenRemover(self.bot) +        dm_msg = MockMessage(guild=None) +        bot_msg = MockMessage(author=MagicMock(bot=True)) -        return_value = TokenRemover.find_token_in_message(self.msg) - -        self.assertIsNone(return_value) -        token_re.finditer.assert_not_called() +        for msg in (dm_msg, bot_msg): +            await cog.on_message(msg) +            find_token_in_message.assert_not_called()      @autospec("bot.cogs.token_remover", "TOKEN_RE")      def test_find_token_no_matches(self, token_re): @@ -281,6 +282,19 @@ class TokenRemoverTests(unittest.IsolatedAsyncioTestCase):              channel_id=constants.Channels.mod_alerts          ) +    @mock.patch.object(TokenRemover, "mod_log", new_callable=mock.PropertyMock) +    async def test_take_action_delete_failure(self, mod_log_property): +        """Shouldn't send any messages if the token message can't be deleted.""" +        cog = TokenRemover(self.bot) +        mod_log_property.return_value = mock.create_autospec(ModLog, spec_set=True, instance=True) +        self.msg.delete.side_effect = NotFound(MagicMock(), MagicMock()) + +        token = mock.create_autospec(Token, spec_set=True, instance=True) +        await cog.take_action(self.msg, token) + +        self.msg.delete.assert_called_once_with() +        self.msg.channel.send.assert_not_awaited() +  class TokenRemoverExtensionTests(unittest.TestCase):      """Tests for the token_remover extension.""" diff --git a/tests/bot/utils/test_redis_cache.py b/tests/bot/utils/test_redis_cache.py index e5d6e4078..a2f0fe55d 100644 --- a/tests/bot/utils/test_redis_cache.py +++ b/tests/bot/utils/test_redis_cache.py @@ -49,7 +49,9 @@ class RedisCacheTests(unittest.IsolatedAsyncioTestCase):          test_cases = (              ('favorite_fruit', 'melon'),              ('favorite_number', 86), -            ('favorite_fraction', 86.54) +            ('favorite_fraction', 86.54), +            ('favorite_boolean', False), +            ('other_boolean', True),          )          # Test that we can get and set different types. | 
