aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/bot/cogs/test_antimalware.py22
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()