Skip to content

Commit

Permalink
fix ut errors for compact with py3
Browse files Browse the repository at this point in the history
  • Loading branch information
hangzws committed Oct 11, 2019
1 parent 5ef3110 commit 1fa7ffa
Show file tree
Hide file tree
Showing 8 changed files with 26 additions and 26 deletions.
4 changes: 2 additions & 2 deletions oss2/api.py
Original file line number Diff line number Diff line change
Expand Up @@ -1262,8 +1262,8 @@ def complete_multipart_upload(self, key, upload_id, parts, headers=None):
:return: :class:`PutObjectResult <oss2.models.PutObjectResult>`
"""
headers = http.CaseInsensitiveDict(headers)
parts = sorted(parts, key=lambda p: p.part_number);
data = xml_utils.to_complete_upload_request(parts);
parts = sorted(parts, key=lambda p: p.part_number)
data = xml_utils.to_complete_upload_request(parts)

logger.debug("Start to complete multipart upload, bucket: {0}, key: {1}, upload_id: {2}, parts: {3}".format(
self.bucket_name, to_string(key), upload_id, data))
Expand Down
2 changes: 1 addition & 1 deletion oss2/crypto.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@

from . import models
from . import headers
from utils import b64decode_from_string, b64encode_as_string
from . import utils
from .utils import b64decode_from_string, b64encode_as_string
from .compat import to_bytes, to_unicode
from .exceptions import ClientError, OpenApiFormatError, OpenApiServerError

Expand Down
3 changes: 1 addition & 2 deletions oss2/resumable.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
from . import exceptions
from . import defaults
from . import http
from .api import Bucket
from . import models
from .crypto_bucket import CryptoBucket
from .iterators import PartIterator

Expand All @@ -30,7 +30,6 @@
import string

import logging
import models

logger = logging.getLogger(__name__)

Expand Down
10 changes: 5 additions & 5 deletions oss2/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@
import sys
import random
import abc, six
import defaults
import struct

from Crypto.Cipher import AES
Expand All @@ -37,6 +36,7 @@
from .crc64_combine import mkCombineFun
from .compat import to_string, to_bytes
from .exceptions import ClientError, InconsistentError, RequestError, OpenApiFormatError
from . import defaults

logger = logging.getLogger(__name__)

Expand Down Expand Up @@ -271,7 +271,7 @@ def calc_obj_crc_from_parts(parts, init_crc=0):
object_crc = 0
crc_obj = Crc64(init_crc)
for part in parts:
if part.part_crc is None or part.size <= 0:
if not part.part_crc or not part.size:
return None
else:
object_crc = crc_obj.combine(object_crc, part.part_crc, part.size)
Expand Down Expand Up @@ -656,9 +656,9 @@ def adjust_range(self, start, end):
if start:
if end:
if start <= end:
start = (start / self.block_size_len) * self.block_size_len
start = (start // self.block_size_len) * self.block_size_len
else:
start = (start / self.block_size_len) * self.block_size_len
start = (start // self.block_size_len) * self.block_size_len
return start, end

def is_valid_part_size(self, part_size, data_size):
Expand All @@ -672,7 +672,7 @@ def is_valid_part_size(self, part_size, data_size):
def calc_offset(self, offset):
if not self.is_block_aligned(offset):
raise ClientError('offset is not align to encrypt block')
return offset / self.block_size_len
return offset // self.block_size_len

def determine_part_size(self, data_size, excepted_part_size=None):
if excepted_part_size:
Expand Down
4 changes: 2 additions & 2 deletions tests/test_crypto.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ def test_rsa_provider_init_invalid_keys(self):
private_key = random_string(2048)

with open('./rsa-test.private_key.pem', 'wb') as f:
f.write(private_key)
f.write(oss2.to_bytes(private_key))

with open('./rsa-test.public_key.pem', 'wb') as f:
f.write(public_key.exportKey())
Expand Down Expand Up @@ -227,7 +227,7 @@ def test_ali_kms_provider_diff_passphrase(self):

provider_diff = AliKMSProvider(OSS_ID, OSS_SECRET, OSS_REGION, OSS_CMK, passphrase=random_string(8))
self.assertRaises(OpenApiServerError, provider_diff.decrypt_encrypted_key, encrypted_key)
self.assertRaises(OpenApiServerError, provider_diff.decrypt_encrypted_key, encrypted_iv)
self.assertRaises(OpenApiServerError, provider_diff.decrypt_encrypted_iv, encrypted_iv)

# 测试使用不同的region解析加密key和start时抛出异常
def test_ali_kms_provider_invalid_region(self):
Expand Down
7 changes: 4 additions & 3 deletions tests/test_crypto_multipart.py
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,8 @@ def test_crypto_multipart_upload_basic(self):
headers = None
upload_result = crypto_bucket.upload_part(key, upload_id, i + 1, content[i], headers=headers,
upload_context=context)
parts.append(oss2.models.PartInfo(i + 1, upload_result.etag, part_crc=upload_result.crc))
parts.append(oss2.models.PartInfo(i + 1, upload_result.etag, size=len(content[i]),
part_crc=upload_result.crc))
self.assertTrue(upload_result.status == 200)
self.assertTrue(upload_result.crc is not None)

Expand Down Expand Up @@ -197,7 +198,7 @@ def test_crypto_multipart_concurrency(self):

key2_upload_result = crypto_bucket.upload_part(key2, key2_upload_id, i + 1, key2_content[i],
upload_context=context2)
key2_parts.append(oss2.models.PartInfo(i + 1, key2_upload_result.etag,
key2_parts.append(oss2.models.PartInfo(i + 1, key2_upload_result.etag, size=len(key2_content[i]),
part_crc=key2_upload_result.crc))
self.assertTrue(key2_upload_result.status == 200)
self.assertTrue(key2_upload_result.crc is not None)
Expand Down Expand Up @@ -316,7 +317,7 @@ def test_crypto_complete_multipart_miss_parts(self):
for i in range(2):
upload_result = crypto_bucket.upload_part(key, upload_id, i + 1, content[i])
parts.append(
oss2.models.PartInfo(i + 1, upload_result.etag, part_crc=upload_result.crc))
oss2.models.PartInfo(i + 1, upload_result.etag, size=len(content[i]), part_crc=upload_result.crc))
self.assertTrue(upload_result.status == 200)
self.assertTrue(upload_result.crc is not None)
Expand Down
20 changes: 10 additions & 10 deletions tests/test_mock_object.py
Original file line number Diff line number Diff line change
Expand Up @@ -929,7 +929,7 @@ def test_get_symlink(self, do_request):
def test_crypto_get(self, do_request):
content = unittests.common.random_bytes(1023)

key = random_bytes(10)
key = random_string(10)
provider = oss2.RsaProvider(key_pair=key_pair)
content_crypto_material = provider.create_content_material()

Expand Down Expand Up @@ -988,10 +988,10 @@ def test_crypto_get_compact(self, do_request):
with open(encrypted_example_path, 'rb') as f:
encrypted_content = f.read()

with open(encrypted_example_meta_path, 'rb') as f:
with open(encrypted_example_meta_path, 'r') as f:
meta = json.loads(f.read())

key = random_bytes(10)
key = random_string(10)
provider = oss2.RsaProvider(key_pair=key_pair_compact)

request_text, response_text = make_get_encrypted_object_compact(key, encrypted_content, meta)
Expand All @@ -1008,10 +1008,10 @@ def test_crypto_get_compact_deprecated_rsa(self, do_request):
utils.silently_remove('./rsa-test.private_key.pem')

with open("./rsa-test.private_key.pem", 'wb') as f:
f.write(private_key_compact)
f.write(oss2.to_bytes(private_key_compact))

with open("./rsa-test.public_key.pem", 'wb') as f:
f.write(public_key_compact)
f.write(oss2.to_bytes(public_key_compact))

content = b'a' * 1024 * 1024
encrypted_rsa_path = "tests/deprecated_encrypted_1MB_a_rsa"
Expand All @@ -1020,10 +1020,10 @@ def test_crypto_get_compact_deprecated_rsa(self, do_request):
with open(encrypted_rsa_path, 'rb') as f:
encrypted_content = f.read()

with open(encrypted_meta_rsa_path, 'rb') as f:
with open(encrypted_meta_rsa_path, 'r') as f:
meta = json.loads(f.read())

key = random_bytes(10)
key = random_string(10)
provider = oss2.LocalRsaProvider(dir='./', key='rsa-test')

request_text, response_text = make_get_encrypted_object_compact_deprecated(key, encrypted_content, meta)
Expand All @@ -1046,10 +1046,10 @@ def test_crypto_get_compact_deprecated_kms(self, do_request):
with open(encrypted_kms_path, 'rb') as f:
encrypted_content = f.read()

with open(encrypted_meta_kms_path, 'rb') as f:
with open(encrypted_meta_kms_path, 'r') as f:
meta = json.loads(f.read())

key = random_bytes(10)
key = random_string(10)
provider = oss2.AliKMSProvider(OSS_ID, OSS_SECRET, OSS_REGION, OSS_CMK)

request_text, response_text = make_get_encrypted_object_compact_deprecated(key, encrypted_content, meta)
Expand All @@ -1068,7 +1068,7 @@ def test_crypto_get_compact_deprecated_kms(self, do_request):
def test_crypto_put(self, do_request):
content = unittests.common.random_bytes(1023)

key = random_bytes(10)
key = random_string(10)
provider = oss2.RsaProvider(key_pair=key_pair)
plain_key = provider.get_key()
plain_iv = provider.get_iv()
Expand Down
2 changes: 1 addition & 1 deletion tests/test_upload.py
Original file line number Diff line number Diff line change
Expand Up @@ -273,7 +273,7 @@ def test_file_changed_size(self):
def change_size(store, bucket_name, key, pathname):
mtime = os.path.getmtime(pathname)

with open(pathname, 'w') as f:
with open(pathname, 'wb') as f:
f.write(random_bytes(500 * 1024 - 1))

os.utime(pathname, (mtime, mtime))
Expand Down

0 comments on commit 1fa7ffa

Please sign in to comment.