Skip to content
This repository was archived by the owner on Sep 12, 2018. It is now read-only.

Commit 81c56df

Browse files
author
Olivier Gambier
committed
Fix tests
... to match extended id validation
1 parent c1d5e7c commit 81c56df

File tree

5 files changed

+28
-23
lines changed

5 files changed

+28
-23
lines changed

tests/base.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,10 @@ def gen_random_string(self, length=16):
3535
return ''.join([random.choice(string.ascii_uppercase + string.digits)
3636
for x in range(length)]).lower()
3737

38+
def gen_hex_string(self, length=16):
39+
return ''.join([random.choice(string.hexdigits)
40+
for x in range(length)]).lower()
41+
3842
def set_image_checksum(self, image_id, checksum):
3943
headers = {'X-Docker-Checksum-Payload': checksum}
4044
url = '/v1/images/{0}/checksum'.format(image_id)

tests/test_images.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,14 @@
1414
class TestImages(base.TestCase):
1515

1616
def test_unset_nginx_accel_redirect_layer(self):
17-
image_id = self.gen_random_string()
17+
image_id = self.gen_hex_string()
1818
layer_data = self.gen_random_string(1024)
1919
self.upload_image(image_id, parent_id=None, layer=layer_data)
2020
resp = self.http_client.get('/v1/images/{0}/layer'.format(image_id))
2121
self.assertEqual(layer_data, resp.data)
2222

2323
def test_nginx_accel_redirect_layer(self):
24-
image_id = self.gen_random_string()
24+
image_id = self.gen_hex_string()
2525
layer_data = self.gen_random_string(1024)
2626
self.upload_image(image_id, parent_id=None, layer=layer_data)
2727

@@ -48,8 +48,8 @@ def test_nginx_accel_redirect_layer(self):
4848
images.cfg._config.pop('nginx_x_accel_redirect')
4949

5050
def test_simple(self):
51-
image_id = self.gen_random_string()
52-
parent_id = self.gen_random_string()
51+
image_id = self.gen_hex_string()
52+
parent_id = self.gen_hex_string()
5353
layer_data = self.gen_random_string(1024)
5454
self.upload_image(parent_id, parent_id=None, layer=layer_data)
5555
self.upload_image(image_id, parent_id=parent_id, layer=layer_data)
@@ -67,7 +67,7 @@ def test_notfound(self):
6767
self.assertEqual(resp.status_code, 404, resp.data)
6868

6969
def test_bytes_range(self):
70-
image_id = self.gen_random_string()
70+
image_id = self.gen_hex_string()
7171
layer_data = self.gen_random_string(1024)
7272
b = random.randint(0, len(layer_data) / 2)
7373
bytes_range = (b, random.randint(b + 1, len(layer_data) - 1))
@@ -88,7 +88,7 @@ def before_put_image_json_handler_not_ok(self, sender, image_json):
8888
return "Not ok"
8989

9090
def test_before_put_image_json_ok(self):
91-
image_id = self.gen_random_string()
91+
image_id = self.gen_hex_string()
9292
json_obj = {
9393
'id': image_id
9494
}
@@ -100,7 +100,7 @@ def test_before_put_image_json_ok(self):
100100
self.assertEqual(resp.status_code, 200, resp.data)
101101

102102
def test_before_put_image_json_not_ok(self):
103-
image_id = self.gen_random_string()
103+
image_id = self.gen_hex_string()
104104
json_obj = {
105105
'id': image_id
106106
}

tests/test_mirrors.py

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,16 @@ def mock_lookup_source(path, stream=False, source=None):
1717
resp.status_code = 200
1818
resp._content_consumed = True
1919
# resp.headers['X-Fake-Source-Header'] = 'foobar'
20-
if path.endswith('0145/layer'):
20+
if path.endswith('01451234/layer'):
2121
resp._content = "abcdef0123456789xxxxxx=-//"
22-
elif path.endswith('0145/json'):
23-
resp._content = ('{"id": "cafebabe0145","created":"2014-02-03T16:47:06'
24-
'.615279788Z"}')
25-
elif path.endswith('0145/ancestry'):
26-
resp._content = '["cafebabe0145"]'
22+
elif path.endswith('01451234/json'):
23+
resp._content = ('{"id": "cafebabe01451234",'
24+
'"created":"2014-02-03T16:47:06.615279788Z"}')
25+
elif path.endswith('01451234/ancestry'):
26+
resp._content = '["cafebabe01451234"]'
2727
elif path.endswith('test/tags'):
28-
resp._content = '{"latest": "cafebabe0145", "0.1.2": "cafebabe0145"}'
28+
resp._content = ('{"latest": "cafebabe01451234", "0.1.2": '
29+
'"cafebabe01451234"}')
2930
else:
3031
resp.status_code = 404
3132

@@ -52,24 +53,24 @@ def test_is_mirror(self):
5253
@mock.patch('docker_registry.lib.mirroring.lookup_source',
5354
mock_lookup_source)
5455
def test_source_lookup(self):
55-
resp = self.http_client.get('/v1/images/cafebabe0145/layer')
56+
resp = self.http_client.get('/v1/images/cafebabe01451234/layer')
5657
self.assertEqual(resp.status_code, 200)
5758
self.assertEqual(resp.data, "abcdef0123456789xxxxxx=-//")
5859

59-
resp_2 = self.http_client.get('/v1/images/cafebabe0145/json')
60+
resp_2 = self.http_client.get('/v1/images/cafebabe01451234/json')
6061
self.assertEqual(resp_2.status_code, 200)
6162
# Note(dmp): unicode patch XXX not applied assume requests does the job
6263
json_data = json.loads(resp_2.data)
6364
assert 'id' in json_data
6465
assert 'created' in json_data
65-
self.assertEqual(json_data['id'], 'cafebabe0145')
66+
self.assertEqual(json_data['id'], 'cafebabe01451234')
6667

67-
resp_3 = self.http_client.get('/v1/images/cafebabe0145/ancestry')
68+
resp_3 = self.http_client.get('/v1/images/cafebabe01451234/ancestry')
6869
self.assertEqual(resp_3.status_code, 200)
6970
# Note(dmp): unicode patch XXX not applied assume requests does the job
7071
json_data_2 = json.loads(resp_3.data)
7172
self.assertEqual(len(json_data_2), 1)
72-
self.assertEqual(json_data_2[0], 'cafebabe0145')
73+
self.assertEqual(json_data_2[0], 'cafebabe01451234')
7374

7475
resp_4 = self.http_client.get('/v1/images/doe587e8157/json')
7576
self.assertEqual(resp_4.status_code, 404)
@@ -81,7 +82,7 @@ def test_source_lookup_tag(self):
8182
self.assertEqual(resp.status_code, 200)
8283
self.assertEqual(
8384
resp.data,
84-
'{"latest": "cafebabe0145", "0.1.2": "cafebabe0145"}'
85+
'{"latest": "cafebabe01451234", "0.1.2": "cafebabe01451234"}'
8586
)
8687

8788
resp_2 = self.http_client.get('/v1/repositories/testing/bogus/tags')

tests/test_tags.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ class TestTags(base.TestCase):
1111
def test_simple(self, repos_name=None):
1212
if repos_name is None:
1313
repos_name = self.gen_random_string()
14-
image_id = self.gen_random_string()
14+
image_id = self.gen_hex_string()
1515
layer_data = self.gen_random_string(1024)
1616
self.upload_image(image_id, parent_id=None, layer=layer_data)
1717

tests/workflow.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -100,8 +100,8 @@ def update_tag(self, namespace, repos, image_id, tag_name):
100100

101101
def docker_push(self):
102102
# Test Push
103-
self.image_id = self.gen_random_string()
104-
self.parent_id = self.gen_random_string()
103+
self.image_id = self.gen_hex_string()
104+
self.parent_id = self.gen_hex_string()
105105
image_id = self.image_id
106106
parent_id = self.parent_id
107107
namespace = self.user_credentials[0]

0 commit comments

Comments
 (0)