8000 Merge pull request #415 from qiniu/fix/upload-v2-with-key-none · qiniu/python-sdk@3714e9e · GitHub
[go: up one dir, main page]

Skip to content

Commit 3714e9e

Browse files
authored
Merge pull request #415 from qiniu/fix/upload-v2-with-key-none
fix upload v2 with key=None
2 parents 1a81a25 + 3fbe52a commit 3714e9e

File tree

2 files changed

+26
-12
lines changed

2 files changed

+26
-12
lines changed

qiniu/services/storage/uploader.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -337,7 +337,7 @@ def block_url(self, host, size):
337337
return '{0}/mkblk/{1}'.format(host, size)
338338

339339
def block_url_v2(self, host, bucket_name):
340-
encoded_object_name = urlsafe_base64_encode(self.key) if self.key is not None else ''
340+
encoded_object_name = urlsafe_base64_encode(self.key) if self.key is not None else '~'
341341
return '{0}/buckets/{1}/objects/{2}/uploads'.format(host, bucket_name, encoded_object_name)
342342

343343
def file_url(self, host):

test_qiniu.py

Lines changed: 25 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -148,9 +148,9 @@ def test_noKey(self):
148148
Auth('', '').token('nokey')
149149

150150
def test_token_of_request(self):
151-
token = dummy_auth.token_of_request('http://www.qiniu.com?go=1', 'test', '')
151+
token = dummy_auth.token_of_request('https://www.qiniu.com?go=1', 'test', '')
152152
assert token == 'abcdefghklmnopq:cFyRVoWrE3IugPIMP5YJFTO-O-Y='
153-
token = dummy_auth.token_of_request('http://www.qiniu.com?go=1', 'test', 'application/x-www-form-urlencoded')
153+
token = dummy_auth.token_of_request('https://www.qiniu.com?go=1', 'test', 'application/x-www-form-urlencoded')
154154
assert token == 'abcdefghklmnopq:svWRNcacOE-YMsc70nuIYdaa1e4='
155155

156156
def test_QiniuMacRequestsAuth(self):
@@ -554,7 +554,7 @@ def test_putWithoutKey(self):
554554
def test_withoutRead_withoutSeek_retry(self):
555555
key = 'retry'
556556
data = 'hello retry!'
557-
set_default(default_zone=Zone('http://a', 'http://upload.qiniup.com'))
557+
set_default(default_zone=Zone('http://a', 'https://upload.qiniup.com'))
558558
token = self.q.upload_token(bucket_name)
559559
ret, info = put_data(token, key, data)
560560
print(info)
@@ -604,7 +604,7 @@ def test_put_stream(self):
604604
localfile = __file__
605605
key = 'test_file_r'
606606
size = os.stat(localfile).st_size
607-
set_default(default_zone=Zone('http://upload.qiniup.com'))
607+
set_default(default_zone=Zone('https://upload.qiniup.com'))
608608
with open(localfile, 'rb') as input_stream:
609609
token = self.q.upload_token(bucket_name, key)
610610
ret, info = put_stream(token, key, input_stream, os.path.basename(__file__), size, hostscache_dir,
@@ -616,7 +616,7 @@ def test_put_stream_v2_without_bucket_name(self):
616616
localfile = __file__
617617
key = 'test_file_r'
618618
size = os.stat(localfile).st_size
619-
set_default(default_zone=Zone('http://upload.qiniup.com'))
619+
set_default(default_zone=Zone('https://upload.qiniup.com'))
620620
with open(localfile, 'rb') as input_stream:
621621
token = self.q.upload_token(bucket_name, key)
622622
ret, info = put_stream(token, key, input_stream, os.path.basename(__file__), size, hostscache_dir,
@@ -628,7 +628,7 @@ def test_put_2m_stream_v2(self):
628628
localfile = create_temp_file(2 * 1024 * 1024 + 1)
629629
key = 'test_file_r'
630630
size = os.stat(localfile).st_size
631-
set_default(default_zone=Zone('http://upload.qiniup.com'))
631+
set_default(default_zone=Zone('https://upload.qiniup.com'))
632632
with open(localfile, 'rb') as input_stream:
633633
token = self.q.upload_token(bucket_name, key)
634634
ret, info = put_stream(token, key, input_stream, os.path.basename(localfile), size, hostscache_dir,
@@ -641,7 +641,7 @@ def test_put_4m_stream_v2(self):
641641
localfile = create_temp_file(4 * 1024 * 1024)
642642
key = 'test_file_r'
643643
size = os.stat(localfile).st_size
644-
set_default(default_zone=Zone('http://upload.qiniup.com'))
644+
set_default(default_zone=Zone('https://upload.qiniup.com'))
645645
with open(localfile, 'rb') as input_stream:
646646
token = self.q.upload_token(bucket_name, key)
647647
ret, info = put_stream(token, key, input_stream, os.path.basename(localfile), size, hostscache_dir,
@@ -654,7 +654,7 @@ def test_put_10m_stream_v2(self):
654654
localfile = create_temp_file(10 * 1024 * 1024 + 1)
655655
key = 'test_file_r'
656656
size = os.stat(localfile).st_size
657-
set_default(default_zone=Zone('http://upload.qiniup.com'))
657+
set_default(default_zone=Zone('https://upload.qiniup.com'))
658658
with open(localfile, 'rb') as input_stream:
659659
token = self.q.upload_token(bucket_name, key)
660660
ret, info = put_stream(token, key, input_stream, os.path.basename(localfile), size, hostscache_dir,
@@ -663,12 +663,26 @@ def test_put_10m_stream_v2(self):
663663
assert ret['key'] == key
664664
remove_temp_file(localfile)
665665

666+
def test_put_stream_v2_without_key(self):
667+
part_size = 1024 * 1024 * 4
668+
localfile = create_temp_file(part_size + 1)
669+
key = None
670+
size = os.stat(localfile).st_size
671+
set_default(default_zone=Zone('https://upload.qiniup.com'))
672+
with open(localfile, 'rb') as input_stream:
673+
token = self.q.upload_token(bucket_name, key)
674+
ret, info = put_stream(token, key, input_s 6D40 tream, os.path.basename(localfile), size, hostscache_dir,
675+
self.params,
676+
self.mime_type, part_size=part_size, version='v2', bucket_name=bucket_name)
677+
assert ret['key'] == ret['hash']
678+
remove_temp_file(localfile)
679+
666680
def test_big_file(self):
667681
key = 'big'
668682
token = self.q.upload_token(bucket_name, key)
669683
localfile = create_temp_file(4 * 1024 * 1024 + 1)
670684
progress_handler = lambda progress, total: progress
671-
qiniu.set_default(default_zone=Zone('http://a', 'http://upload.qiniup.com'))
685+
qiniu.set_default(default_zone=Zone('http://a', 'https://upload.qiniup.com'))
672686
ret, info = put_file(token, key, localfile, self.params, self.mime_type, progress_handler=progress_handler)
673687
print(info)
674688
assert ret['key'] == key
@@ -677,7 +691,7 @@ def test_big_file(self):
677691
def test_retry(self):
678692
localfile = __file__
679693
key = 'test_file_r_retry'
680-
qiniu.set_default(default_zone=Zone('http://a', 'http://upload.qiniup.com'))
694+
qiniu.set_default(default_zone=Zone('http://a', 'https://upload.qiniup.com'))
681695
token = self.q.upload_token(bucket_name, key)
682696
ret, info = put_file(token, key, localfile, self.params, self.mime_type)
683697
print(info)
@@ -688,7 +702,7 @@ def test_put_stream_with_key_limits(self):
688702
localfile = __file__
689703
key = 'test_file_r'
690704
size = os.stat(localfile).st_size
691-
set_default(default_zone=Zone('http://upload.qiniup.com'))
705+
set_default(default_zone=Zone('https://upload.qiniup.com'))
692706
with open(localfile, 'rb') as input_stream:
693707
token = self.q.upload_token(bucket_name, key, policy={'keylimit': ['test_file_d']})
694708
ret, info = put_stream(token, key, input_stream, os.path.basename(__file__), size, hostscache_dir,

0 commit comments

Comments
 (0)
0