summaryrefslogtreecommitdiff
path: root/tests/utils_test.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/utils_test.py')
-rw-r--r--tests/utils_test.py17
1 files changed, 14 insertions, 3 deletions
diff --git a/tests/utils_test.py b/tests/utils_test.py
index b1adde2..04183f9 100644
--- a/tests/utils_test.py
+++ b/tests/utils_test.py
@@ -19,7 +19,9 @@ from docker.utils import (
exclude_paths, convert_volume_binds, decode_json_header
)
from docker.utils.ports import build_port_bindings, split_port
-from docker.auth import resolve_repository_name, resolve_authconfig
+from docker.auth import (
+ resolve_repository_name, resolve_authconfig, encode_header
+)
from . import base
from .helpers import make_tree
@@ -376,12 +378,21 @@ class UtilsTest(base.BaseTestCase):
obj = {'a': 'b', 'c': 1}
data = None
if six.PY3:
- data = base64.b64encode(bytes(json.dumps(obj), 'utf-8'))
+ data = base64.urlsafe_b64encode(bytes(json.dumps(obj), 'utf-8'))
else:
- data = base64.b64encode(json.dumps(obj))
+ data = base64.urlsafe_b64encode(json.dumps(obj))
decoded_data = decode_json_header(data)
self.assertEqual(obj, decoded_data)
+ def test_803_urlsafe_encode(self):
+ auth_data = {
+ 'username': 'root',
+ 'password': 'GR?XGR?XGR?XGR?X'
+ }
+ encoded = encode_header(auth_data)
+ assert b'/' not in encoded
+ assert b'_' in encoded
+
def test_resolve_repository_name(self):
# docker hub library image
self.assertEqual(