Exemple #1
0
    def test_is_valid_user_id_valid(self):
        """Should consider user IDs valid if they decode entirely to ASCII digits."""
        ids = (
            "NDcyMjY1OTQzMDYyNDEzMzMy",
            "NDc1MDczNjI5Mzk5NTQ3OTA0",
            "NDY3MjIzMjMwNjUwNzc3NjQx",
        )

        for user_id in ids:
            with self.subTest(user_id=user_id):
                result = TokenRemover.is_valid_user_id(user_id)
                self.assertTrue(result)
Exemple #2
0
    def test_is_valid_user_id_invalid(self):
        """Should consider non-digit and non-ASCII IDs invalid."""
        ids = (
            ("SGVsbG8gd29ybGQ", "non-digit ASCII"),
            ("0J_RgNC40LLQtdGCINC80LjRgA", "cyrillic text"),
            ("4pO14p6L4p6C4pG34p264pGl8J-EiOKSj-KCieKBsA", "Unicode digits"),
            ("4oaA4oaB4oWh4oWi4Lyz4Lyq4Lyr4LG9", "Unicode numerals"),
            ("8J2fjvCdn5nwnZ-k8J2fr_Cdn7rgravvvJngr6c", "Unicode decimals"),
            ("{hello}[world]&(bye!)", "ASCII invalid Base64"),
            ("Þíß-ï§-ňøẗ-våłìÐ", "Unicode invalid Base64"),
        )

        for user_id, msg in ids:
            with self.subTest(msg=msg):
                result = TokenRemover.is_valid_user_id(user_id)
                self.assertFalse(result)
 def test_is_valid_user_id_is_true_for_numeric_content(self):
     """A string decoding to numeric characters is a valid user ID."""
     # MTIz = base64(123)
     self.assertTrue(TokenRemover.is_valid_user_id('MTIz'))
 def test_is_valid_user_id_is_false_for_alphabetic_content(self):
     """A string decoding to alphabetic characters is not a valid user ID."""
     # YWJj = base64(abc)
     self.assertFalse(TokenRemover.is_valid_user_id('YWJj'))
Exemple #5
0
def test_is_valid_user_id(content: str, expected: bool):
    assert TokenRemover.is_valid_user_id(content) is expected