aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar MarkKoz <[email protected]>2020-05-28 20:33:34 -0700
committerGravatar MarkKoz <[email protected]>2020-05-28 20:33:34 -0700
commit5930a044b8347019d474a809fc86f89263574ad0 (patch)
tree597e25dcd3ff131412536f31fd6d3653444ae8ac
parentAdjust find_token_in_message tests for the recent cog changes (diff)
Test find_token_in_message returns None for invalid matches
This covers the case when a token is matched, but its user ID and timestamp turn out to be invalid.
-rw-r--r--tests/bot/cogs/test_token_remover.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/tests/bot/cogs/test_token_remover.py b/tests/bot/cogs/test_token_remover.py
index 8238e235a..9b4b04ecd 100644
--- a/tests/bot/cogs/test_token_remover.py
+++ b/tests/bot/cogs/test_token_remover.py
@@ -165,6 +165,21 @@ class TokenRemoverTests(unittest.IsolatedAsyncioTestCase):
self.assertEqual(tokens[1], return_value)
token_re.finditer.assert_called_once_with(self.msg.content)
+ @autospec(TokenRemover, "is_valid_user_id", "is_valid_timestamp")
+ @autospec("bot.cogs.token_remover", "Token")
+ @autospec("bot.cogs.token_remover", "TOKEN_RE")
+ def test_find_token_invalid_matches(self, token_re, token_cls, is_valid_id, is_valid_timestamp):
+ """None should be returned if no matches have valid user IDs or timestamps."""
+ token_re.finditer.return_value = [mock.create_autospec(Match, spec_set=True, instance=True)]
+ token_cls.return_value = mock.create_autospec(Token, spec_set=True, instance=True)
+ is_valid_id.return_value = False
+ is_valid_timestamp.return_value = False
+
+ return_value = TokenRemover.find_token_in_message(self.msg)
+
+ self.assertIsNone(return_value)
+ token_re.finditer.assert_called_once_with(self.msg.content)
+
def test_regex_invalid_tokens(self):
"""Messages without anything looking like a token are not matched."""
tokens = (