mirror of https://github.com/JohnHammond/CTFd.git
55 lines
2.5 KiB
Python
55 lines
2.5 KiB
Python
# -*- coding: utf-8 -*-
|
|
from tests.helpers import *
|
|
from CTFd.utils.encoding import base64encode, base64decode, hexdecode, hexencode
|
|
import string
|
|
import six
|
|
|
|
|
|
def test_hexencode():
|
|
value = '303132333435363738396162636465666768696a6b6c6d6e6f7071727374757677' \
|
|
'78797a4142434445464748494a4b4c4d4e4f505152535455565758595a21222324' \
|
|
'25262728292a2b2c2d2e2f3a3b3c3d3e3f405b5c5d5e5f607b7c7d7e20090a0d0b0c'
|
|
if six.PY3:
|
|
value = value.encode('utf-8')
|
|
assert hexencode(string.printable) == value
|
|
|
|
|
|
def test_hexdecode():
|
|
saved = '303132333435363738396162636465666768696a6b6c6d6e6f7071727374757677' \
|
|
'78797a4142434445464748494a4b4c4d4e4f505152535455565758595a21222324' \
|
|
'25262728292a2b2c2d2e2f3a3b3c3d3e3f405b5c5d5e5f607b7c7d7e20090a0d0b0c'
|
|
assert hexdecode(saved) == string.printable.encode('utf-8')
|
|
|
|
|
|
def test_base64encode():
|
|
"""The base64encode wrapper works properly"""
|
|
if six.PY2:
|
|
assert base64encode('abc123') == 'YWJjMTIz'
|
|
assert base64encode(unicode('abc123')) == 'YWJjMTIz'
|
|
assert base64encode(unicode('"test@mailinator.com".DGxeoA.lCssU3M2QuBfohO-FtdgDQLKbU4')
|
|
) == 'InRlc3RAbWFpbGluYXRvci5jb20iLkRHeGVvQS5sQ3NzVTNNMlF1QmZvaE8tRnRkZ0RRTEtiVTQ'
|
|
assert base64encode('user+user@ctfd.io') == 'dXNlcit1c2VyQGN0ZmQuaW8'
|
|
assert base64encode('😆') == '8J-Yhg'
|
|
else:
|
|
assert base64encode('abc123') == 'YWJjMTIz'
|
|
assert base64encode(
|
|
'"test@mailinator.com".DGxeoA.lCssU3M2QuBfohO-FtdgDQLKbU4') == 'InRlc3RAbWFpbGluYXRvci5jb20iLkRHeGVvQS5sQ3NzVTNNMlF1QmZvaE8tRnRkZ0RRTEtiVTQ'
|
|
assert base64encode('user+user@ctfd.io') == 'dXNlcit1c2VyQGN0ZmQuaW8'
|
|
assert base64encode('😆') == '8J-Yhg'
|
|
|
|
|
|
def test_base64decode():
|
|
"""The base64decode wrapper works properly"""
|
|
if six.PY2:
|
|
assert base64decode('YWJjMTIz') == 'abc123'
|
|
assert base64decode(unicode('YWJjMTIz')) == 'abc123'
|
|
assert base64decode(unicode('InRlc3RAbWFpbGluYXRvci5jb20iLkRHeGVvQS5sQ3NzVTNNMlF1QmZvaE8tRnRkZ0RRTEtiVTQ')
|
|
) == '"test@mailinator.com".DGxeoA.lCssU3M2QuBfohO-FtdgDQLKbU4'
|
|
assert base64decode('8J-Yhg') == '😆'
|
|
else:
|
|
assert base64decode('YWJjMTIz') == 'abc123'
|
|
assert base64decode(
|
|
'InRlc3RAbWFpbGluYXRvci5jb20iLkRHeGVvQS5sQ3NzVTNNMlF1QmZvaE8tRnRkZ0RRTEtiVTQ') == '"test@mailinator.com".DGxeoA.lCssU3M2QuBfohO-FtdgDQLKbU4'
|
|
assert base64decode('dXNlcit1c2VyQGN0ZmQuaW8') == 'user+user@ctfd.io'
|
|
assert base64decode('8J-Yhg') == '😆'
|