aboutsummaryrefslogtreecommitdiffstats
path: root/tests/botcore/utils
diff options
context:
space:
mode:
authorGravatar Chris Lovering <[email protected]>2022-11-05 13:39:52 +0000
committerGravatar Chris Lovering <[email protected]>2022-11-05 14:05:00 +0000
commit962968fecedca3bef33ba9524d87ffedf815f16d (patch)
tree3dd7b6c6cae4f01c8a5aae3e2371bd3a5e9dd0e7 /tests/botcore/utils
parentUpdate pyproject.toml module meta data (diff)
Rename package due to naming conflict
Diffstat (limited to 'tests/botcore/utils')
-rw-r--r--tests/botcore/utils/test_cooldown.py49
-rw-r--r--tests/botcore/utils/test_regex.py65
2 files changed, 0 insertions, 114 deletions
diff --git a/tests/botcore/utils/test_cooldown.py b/tests/botcore/utils/test_cooldown.py
deleted file mode 100644
index 00e5a052..00000000
--- a/tests/botcore/utils/test_cooldown.py
+++ /dev/null
@@ -1,49 +0,0 @@
-import unittest
-from unittest.mock import patch
-
-from botcore.utils.cooldown import _CommandCooldownManager, _create_argument_tuple
-
-
-class CommandCooldownManagerTests(unittest.IsolatedAsyncioTestCase):
- test_call_args = (
- _create_argument_tuple(0),
- _create_argument_tuple(a=0),
- _create_argument_tuple([]),
- _create_argument_tuple(a=[]),
- _create_argument_tuple(1, 2, 3, a=4, b=5, c=6),
- _create_argument_tuple([1], [2], [3], a=[4], b=[5], c=[6]),
- _create_argument_tuple([1], 2, [3], a=4, b=[5], c=6),
- )
-
- async def asyncSetUp(self):
- self.cooldown_manager = _CommandCooldownManager(cooldown_duration=5)
-
- def test_no_cooldown_on_unset(self):
- for call_args in self.test_call_args:
- with self.subTest(arguments_tuple=call_args, channel=0):
- self.assertFalse(self.cooldown_manager.is_on_cooldown(0, call_args))
-
- for call_args in self.test_call_args:
- with self.subTest(arguments_tuple=call_args, channel=1):
- self.assertFalse(self.cooldown_manager.is_on_cooldown(1, call_args))
-
- @patch("time.monotonic")
- def test_cooldown_is_set(self, monotonic):
- monotonic.side_effect = lambda: 0
- for call_args in self.test_call_args:
- with self.subTest(arguments_tuple=call_args):
- self.cooldown_manager.set_cooldown(0, call_args)
- self.assertTrue(self.cooldown_manager.is_on_cooldown(0, call_args))
-
- @patch("time.monotonic")
- def test_cooldown_expires(self, monotonic):
- for call_args in self.test_call_args:
- monotonic.side_effect = (0, 1000)
- with self.subTest(arguments_tuple=call_args):
- self.cooldown_manager.set_cooldown(0, call_args)
- self.assertFalse(self.cooldown_manager.is_on_cooldown(0, call_args))
-
- def test_keywords_and_tuples_differentiated(self):
- self.cooldown_manager.set_cooldown(0, _create_argument_tuple(("a", 0)))
- self.assertFalse(self.cooldown_manager.is_on_cooldown(0, _create_argument_tuple(a=0)))
- self.assertTrue(self.cooldown_manager.is_on_cooldown(0, _create_argument_tuple(("a", 0))))
diff --git a/tests/botcore/utils/test_regex.py b/tests/botcore/utils/test_regex.py
deleted file mode 100644
index 491e22bd..00000000
--- a/tests/botcore/utils/test_regex.py
+++ /dev/null
@@ -1,65 +0,0 @@
-import unittest
-from typing import Optional
-
-from botcore.utils.regex import DISCORD_INVITE
-
-
-def match_regex(s: str) -> Optional[str]:
- """Helper function to run re.match on a string.
-
- Return the invite capture group, if the string matches the pattern
- else return None
- """
- result = DISCORD_INVITE.match(s)
- return result if result is None else result.group("invite")
-
-
-def search_regex(s: str) -> Optional[str]:
- """Helper function to run re.search on a string.
-
- Return the invite capture group, if the string matches the pattern
- else return None
- """
- result = DISCORD_INVITE.search(s)
- return result if result is None else result.group("invite")
-
-
-class UtilsRegexTests(unittest.TestCase):
-
- def test_discord_invite_positives(self):
- """Test the DISCORD_INVITE regex on a set of strings we would expect to capture."""
-
- self.assertEqual(match_regex("discord.gg/python"), "python")
- self.assertEqual(match_regex("https://discord.gg/python"), "python")
- self.assertEqual(match_regex("https://www.discord.gg/python"), "python")
- self.assertEqual(match_regex("discord.com/invite/python"), "python")
- self.assertEqual(match_regex("www.discord.com/invite/python"), "python")
- self.assertEqual(match_regex("discordapp.com/invite/python"), "python")
- self.assertEqual(match_regex("discord.me/python"), "python")
- self.assertEqual(match_regex("discord.li/python"), "python")
- self.assertEqual(match_regex("discord.io/python"), "python")
- self.assertEqual(match_regex(".gg/python"), "python")
-
- self.assertEqual(match_regex("discord.gg/python/but/extra"), "python/but/extra")
- self.assertEqual(match_regex("discord.me/this/isnt/python"), "this/isnt/python")
- self.assertEqual(match_regex(".gg/a/a/a/a/a/a/a/a/a/a/a"), "a/a/a/a/a/a/a/a/a/a/a")
- self.assertEqual(match_regex("discordapp.com/invite/python/snakescord"), "python/snakescord")
- self.assertEqual(match_regex("http://discord.gg/python/%20/notpython"), "python/%20/notpython")
- self.assertEqual(match_regex("discord.gg/python?=ts/notpython"), "python?=ts/notpython")
- self.assertEqual(match_regex("https://discord.gg/python#fragment/notpython"), "python#fragment/notpython")
- self.assertEqual(match_regex("https://discord.gg/python/~/notpython"), "python/~/notpython")
-
- self.assertEqual(search_regex("https://discord.gg/python with whitespace"), "python")
- self.assertEqual(search_regex(" https://discord.gg/python "), "python")
-
- def test_discord_invite_negatives(self):
- """Test the DISCORD_INVITE regex on a set of strings we would expect to not capture."""
-
- self.assertEqual(match_regex("another string"), None)
- self.assertEqual(match_regex("https://pythondiscord.com"), None)
- self.assertEqual(match_regex("https://discord.com"), None)
- self.assertEqual(match_regex("https://discord.gg"), None)
- self.assertEqual(match_regex("https://discord.gg/ python"), None)
-
- self.assertEqual(search_regex("https://discord.com with whitespace"), None)
- self.assertEqual(search_regex(" https://discord.com "), None)