Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/tests/units/toolkit/packets.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/units/toolkit/packets.py')
-rwxr-xr-xtests/units/toolkit/packets.py49
1 files changed, 40 insertions, 9 deletions
diff --git a/tests/units/toolkit/packets.py b/tests/units/toolkit/packets.py
index 6a181b6..3836b6e 100755
--- a/tests/units/toolkit/packets.py
+++ b/tests/units/toolkit/packets.py
@@ -340,6 +340,28 @@ class PacketsTest(tests.Test):
self.assertRaises(StopIteration, next, packets_iter)
self.assertEqual(len(stream.getvalue()), stream.tell())
+ def test_decode_BlobUrls(self):
+ stream = zips(
+ json.dumps({}) + '\n' +
+ json.dumps({'segment': 1}) + '\n' +
+ json.dumps({'num': 1, 'content-length': 1}) + '\n' +
+ 'a' +
+ json.dumps({'num': 2, 'content-length': 100, 'location': 'http://foo/bar', 'digest': 'digest'}) + '\n' +
+ json.dumps({'num': 3, 'content-length': 3}) + '\n' +
+ 'ccc'
+ )
+ packets_iter = iter(packets.decode(stream))
+ with next(packets_iter) as packet:
+ self.assertEqual(1, packet.name)
+ self.assertEqual([
+ (1, 'a'),
+ (2, None),
+ (3, 'ccc'),
+ ],
+ [(i.meta['num'], file(i.path).read() if i.path else None) for i in packet])
+ self.assertRaises(StopIteration, packets_iter.next)
+ self.assertEqual(len(stream.getvalue()), stream.tell())
+
def test_encode_Zipped(self):
stream = ''.join([i for i in packets.encode([])])
self.assertEqual(
@@ -593,7 +615,7 @@ class PacketsTest(tests.Test):
'ccc' + '\n',
unzips(stream))
- def test_encode_BlobWithUrls(self):
+ def test_encode_BlobUrls(self):
class Routes(object):
@@ -607,37 +629,46 @@ class PacketsTest(tests.Test):
url = 'http://127.0.0.1:%s' % client.ipc_port.value
stream = ''.join([i for i in packets.encode([
- (1, None, [File(None, meta={'location': 'fake'})]),
+ (1, None, [File(None, digest='digest', meta={'location': 'fake'})]),
])])
self.assertEqual(
json.dumps({}) + '\n' +
json.dumps({'segment': 1}) + '\n' +
- json.dumps({'location': 'fake'}) + '\n',
+ json.dumps({'digest': 'digest', 'location': 'fake'}) + '\n',
unzips(stream))
stream = ''.join([i for i in packets.encode([
- (1, None, [File(None, meta={'location': 'fake', 'content-length': '0'})]),
+ (1, None, [File(None, digest='digest', meta={'location': 'fake', 'content-length': '0'})]),
])])
self.assertEqual(
json.dumps({}) + '\n' +
json.dumps({'segment': 1}) + '\n' +
- json.dumps({'location': 'fake', 'content-length': '0'}) + '\n',
+ json.dumps({'location': 'fake', 'content-length': '0', 'digest': 'digest'}) + '\n',
unzips(stream))
stream = ''.join([i for i in packets.encode([
- (1, None, [File(None, meta={'location': url, 'content-length': str(len('probe'))})]),
+ (1, None, [File(None, digest='digest', meta={'location': url, 'content-length': str(len('probe'))})]),
])])
self.assertEqual(
json.dumps({}) + '\n' +
json.dumps({'segment': 1}) + '\n' +
- json.dumps({'location': url, 'content-length': str(len('probe'))}) + '\n' +
+ json.dumps({'location': url, 'content-length': str(len('probe')), 'digest': 'digest'}) + '\n',
+ unzips(stream))
+
+ stream = ''.join([i for i in packets.encode([
+ (1, None, [File(None, digest='digest', meta={'location': url, 'content-length': str(len('probe'))})]),
+ ], download_blobs=True)])
+ self.assertEqual(
+ json.dumps({}) + '\n' +
+ json.dumps({'segment': 1}) + '\n' +
+ json.dumps({'location': url, 'content-length': str(len('probe')), 'digest': 'digest'}) + '\n' +
'probe' + '\n',
unzips(stream))
def encode():
stream = ''.join([i for i in packets.encode([
- (1, None, [File(None, meta={'location': 'http://127.0.0.1:108', 'content-length': str(len('probe'))})]),
- ])])
+ (1, None, [File(None, digest='digest', meta={'location': 'http://127.0.0.1:108', 'content-length': str(len('probe'))})]),
+ ], download_blobs=True)])
self.assertRaises(http.ConnectionError, encode)
def test_limited_encode_Blobs(self):