404

[ Avaa Bypassed ]




Upload:

Command:

elspacio@18.223.159.143: ~ $
"""Tests for josepy.b64."""
import unittest


# https://en.wikipedia.org/wiki/Base64#Examples
B64_PADDING_EXAMPLES = {
    b'any carnal pleasure.': (b'YW55IGNhcm5hbCBwbGVhc3VyZS4', b'='),
    b'any carnal pleasure': (b'YW55IGNhcm5hbCBwbGVhc3VyZQ', b'=='),
    b'any carnal pleasur': (b'YW55IGNhcm5hbCBwbGVhc3Vy', b''),
    b'any carnal pleasu': (b'YW55IGNhcm5hbCBwbGVhc3U', b'='),
    b'any carnal pleas': (b'YW55IGNhcm5hbCBwbGVhcw', b'=='),
}


B64_URL_UNSAFE_EXAMPLES = {
    bytes((251, 239)): b'--8',
    bytes((255,)) * 2: b'__8',
}


class B64EncodeTest(unittest.TestCase):
    """Tests for josepy.b64.b64encode."""

    @classmethod
    def _call(cls, data):
        from josepy.b64 import b64encode
        return b64encode(data)

    def test_empty(self):
        self.assertEqual(self._call(b''), b'')

    def test_unsafe_url(self):
        for text, b64 in B64_URL_UNSAFE_EXAMPLES.items():
            self.assertEqual(self._call(text), b64)

    def test_different_paddings(self):
        for text, (b64, _) in B64_PADDING_EXAMPLES.items():
            self.assertEqual(self._call(text), b64)

    def test_unicode_fails_with_type_error(self):
        self.assertRaises(TypeError, self._call, u'some unicode')


class B64DecodeTest(unittest.TestCase):
    """Tests for josepy.b64.b64decode."""

    @classmethod
    def _call(cls, data):
        from josepy.b64 import b64decode
        return b64decode(data)

    def test_unsafe_url(self):
        for text, b64 in B64_URL_UNSAFE_EXAMPLES.items():
            self.assertEqual(self._call(b64), text)

    def test_input_without_padding(self):
        for text, (b64, _) in B64_PADDING_EXAMPLES.items():
            self.assertEqual(self._call(b64), text)

    def test_input_with_padding(self):
        for text, (b64, pad) in B64_PADDING_EXAMPLES.items():
            self.assertEqual(self._call(b64 + pad), text)

    def test_unicode_with_ascii(self):
        self.assertEqual(self._call(u'YQ'), b'a')

    def test_non_ascii_unicode_fails(self):
        self.assertRaises(ValueError, self._call, u'\u0105')

    def test_type_error_no_unicode_or_bytes(self):
        self.assertRaises(TypeError, self._call, object())


if __name__ == '__main__':
    unittest.main()  # pragma: no cover

Filemanager

Name Type Size Permission Actions
__pycache__ Folder 0755
testdata Folder 0755
__init__.py File 1.66 KB 0644
b64.py File 1.4 KB 0644
b64_test.py File 2.2 KB 0644
errors.py File 762 B 0644
errors_test.py File 463 B 0644
interfaces.py File 7.51 KB 0644
interfaces_test.py File 3.51 KB 0644
json_util.py File 15.35 KB 0644
json_util_test.py File 13.83 KB 0644
jwa.py File 8.17 KB 0644
jwa_test.py File 8.8 KB 0644
jwk.py File 13.12 KB 0644
jwk_test.py File 12.69 KB 0644
jws.py File 13.84 KB 0644
jws_test.py File 8.32 KB 0644
magic_typing.py File 529 B 0644
magic_typing_test.py File 1.05 KB 0644
test_util.py File 2.57 KB 0644
util.py File 8.37 KB 0644
util_test.py File 8.15 KB 0644