diff options
Diffstat (limited to '')
| -rw-r--r-- | tests/bot/cogs/test_antimalware.py | 22 | 
1 files changed, 21 insertions, 1 deletions
| diff --git a/tests/bot/cogs/test_antimalware.py b/tests/bot/cogs/test_antimalware.py index 41ca19e17..ebf3a1277 100644 --- a/tests/bot/cogs/test_antimalware.py +++ b/tests/bot/cogs/test_antimalware.py @@ -1,8 +1,9 @@  import asyncio  import unittest +from unittest.mock import AsyncMock  from bot.cogs import antimalware -from tests.helpers import MockBot, MockMessage +from tests.helpers import MockAttachment, MockBot, MockMessage  class AntiMalwareCogTests(unittest.TestCase): @@ -13,8 +14,27 @@ class AntiMalwareCogTests(unittest.TestCase):          self.bot = MockBot()          self.cog = antimalware.AntiMalware(self.bot)          self.message = MockMessage() +        self.message.delete = AsyncMock()      def test_message_without_attachment(self):          """Messages without attachments should result in no action."""          coroutine = self.cog.on_message(self.message)          self.assertIsNone(asyncio.run(coroutine)) +        self.message.delete.assert_not_called() + +    def test_direct_message_with_attachment(self): +        """Direct messages should have no action taken.""" +        attachment = MockAttachment(filename="python.asdfsff") +        self.message.attachments = [attachment] +        self.message.guild = None +        coroutine = self.cog.on_message(self.message) +        asyncio.run(coroutine) +        self.message.delete.assert_not_called() + +    def test_message_with_illegal_extension_gets_deleted(self): +        """A message containing an illegal extension should send an embed.""" +        attachment = MockAttachment(filename="python.asdfsff") +        self.message.attachments = [attachment] +        coroutine = self.cog.on_message(self.message) +        asyncio.run(coroutine) +        self.message.delete.assert_called_once() | 
