aboutsummaryrefslogtreecommitdiffstats
path: root/tests/cogs/test_antispam.py
diff options
context:
space:
mode:
authorGravatar Johannes Christ <[email protected]>2019-09-15 12:07:07 +0200
committerGravatar Johannes Christ <[email protected]>2019-09-15 12:07:07 +0200
commitd8f3d10a5298095d5b9dffe1f063ad69c8498883 (patch)
treed8dc229eb8889f1279cbdd9533335ac51b100eb0 /tests/cogs/test_antispam.py
parentTag Django images as `latest`. (diff)
Validate bot.cogs.antispam configuration on CI.
Diffstat (limited to 'tests/cogs/test_antispam.py')
-rw-r--r--tests/cogs/test_antispam.py30
1 files changed, 30 insertions, 0 deletions
diff --git a/tests/cogs/test_antispam.py b/tests/cogs/test_antispam.py
new file mode 100644
index 000000000..67900b275
--- /dev/null
+++ b/tests/cogs/test_antispam.py
@@ -0,0 +1,30 @@
+import pytest
+
+from bot.cogs import antispam
+
+
+def test_default_antispam_config_is_valid():
+ validation_errors = antispam.validate_config()
+ assert not validation_errors
+
+
+ ('config', 'expected'),
+ (
+ (
+ {'invalid-rule': {}},
+ {'invalid-rule': "`invalid-rule` is not recognized as an antispam rule."}
+ ),
+ (
+ {'burst': {'interval': 10}},
+ {'burst': "Key `max` is required but not set for rule `burst`"}
+ ),
+ (
+ {'burst': {'max': 10}},
+ {'burst': "Key `interval` is required but not set for rule `burst`"}
+ )
+ )
+)
+def test_invalid_antispam_config_returns_validation_errors(config, expected):
+ validation_errors = antispam.validate_config(config)
+ assert validation_errors == expected