aboutsummaryrefslogtreecommitdiffstats
path: root/tests/cogs/test_security.py
diff options
context:
space:
mode:
authorGravatar sco1 <[email protected]>2019-09-22 15:15:27 -0400
committerGravatar sco1 <[email protected]>2019-09-22 15:15:27 -0400
commit9e30880df12d085b545ed3d429b2dcea3ea7d544 (patch)
treeb3409f6be37e20ad8c4f67bcb0fe609647d6f93f /tests/cogs/test_security.py
parentMake defcon days command turn on defcon, refactor log messaging (diff)
parentFix date formatting bug in infraction search (diff)
Merge branch 'master' into defcon-fix-django
Diffstat (limited to 'tests/cogs/test_security.py')
-rw-r--r--tests/cogs/test_security.py54
1 files changed, 54 insertions, 0 deletions
diff --git a/tests/cogs/test_security.py b/tests/cogs/test_security.py
new file mode 100644
index 000000000..1efb460fe
--- /dev/null
+++ b/tests/cogs/test_security.py
@@ -0,0 +1,54 @@
+import logging
+from unittest.mock import MagicMock
+
+import pytest
+from discord.ext.commands import NoPrivateMessage
+
+from bot.cogs import security
+
+
+def cog():
+ bot = MagicMock()
+ return security.Security(bot)
+
+
+def context():
+ return MagicMock()
+
+
+def test_check_additions(cog):
+ cog.bot.check.assert_any_call(cog.check_on_guild)
+ cog.bot.check.assert_any_call(cog.check_not_bot)
+
+
+def test_check_not_bot_for_humans(cog, context):
+ context.author.bot = False
+ assert cog.check_not_bot(context)
+
+
+def test_check_not_bot_for_robots(cog, context):
+ context.author.bot = True
+ assert not cog.check_not_bot(context)
+
+
+def test_check_on_guild_outside_of_guild(cog, context):
+ context.guild = None
+
+ with pytest.raises(NoPrivateMessage, match="This command cannot be used in private messages."):
+ cog.check_on_guild(context)
+
+
+def test_check_on_guild_on_guild(cog, context):
+ context.guild = "lemon's lemonade stand"
+ assert cog.check_on_guild(context)
+
+
+def test_security_cog_load(caplog):
+ bot = MagicMock()
+ security.setup(bot)
+ bot.add_cog.assert_called_once()
+ [record] = caplog.records
+ assert record.message == "Cog loaded: Security"
+ assert record.levelno == logging.INFO