Skip to content

Commit

Permalink
fix unit test errors
Browse files Browse the repository at this point in the history
  • Loading branch information
hangzws committed Sep 30, 2019
1 parent 8d51069 commit 110a572
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 28 deletions.
2 changes: 1 addition & 1 deletion unittests/test_resumable.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ def test_determine_part_size(self):
size = (oss2.defaults.part_size + 1) * n
part_size = oss2.determine_part_size(size)

self.assertTrue(n * part_size <= size)
self.assertTrue(n * part_size >= size)
self.assertTrue(oss2.defaults.part_size < part_size)


Expand Down
66 changes: 39 additions & 27 deletions unittests/test_utils.py
Original file line number Diff line number Diff line change
@@ -1,38 +1,50 @@
# -*- coding: utf-8 -*-

import unittest
import oss2
from oss2.utils import *


class TestUtils(unittest.TestCase):
def test_is_multiple_sizeof_encrypt_block(self):
byte_range_start = 1024
is_multiple = is_multiple_sizeof_encrypt_block(byte_range_start)
self.assertTrue(is_multiple)

byte_range_start = 1025
is_multiple = is_multiple_sizeof_encrypt_block(byte_range_start)
self.assertFalse(is_multiple)
def test_aes_ctr_is_block_aligned(self):
cipher = AESCTRCipher()
start = 1024
is_aligned = cipher.is_block_aligned(start)
self.assertTrue(is_aligned)

start = 1025
is_aligned = cipher.is_block_aligned(start)
self.assertFalse(is_aligned)

def test_calc_aes_ctr_offset_by_data_offset(self):
byte_range_start = 1024
cout_offset = calc_aes_ctr_offset_by_data_offset(byte_range_start)
self.assertEqual(cout_offset, 1024 / 16)

def test_is_valid_crypto_part_size(self):
self.assertFalse(is_valid_crypto_part_size(1, 1024*1024*100))
self.assertFalse(is_valid_crypto_part_size(1024 * 100 + 1, 1024*1024*100))
self.assertFalse(is_valid_crypto_part_size(1024 * 100, 1024*1024*1024))
self.assertTrue(is_valid_crypto_part_size(1024 * 100, 1024*1024*100))

def test_determine_crypto_part_size(self):
self.assertEqual(determine_crypto_part_size(1024*100*100000), 1024*1000)
self.assertEqual(determine_crypto_part_size(1024*100*100000 - 1), 1024112)
self.assertEqual(determine_crypto_part_size(1024*100*99), 1024*100)

self.assertEqual(determine_crypto_part_size(1024*100*1000, 1024*100), 1024*100)
self.assertEqual(determine_crypto_part_size(1024*100*1000, 1024*100-1), 1024*100)
self.assertEqual(determine_crypto_part_size(1024*100*10000, 1024), 1024*100)
def test_aes_ctr_calc_counter(self):
cipher = AESCTRCipher()
start = 1024
cout_offset = cipher.calc_counter(start)
self.assertEqual(cout_offset, start / 16)

start = 1025
self.assertRaises(ClientError, cipher.calc_counter, start)

def test_acs_ctr_is_valid_part_size(self):
cipher = AESCTRCipher()
self.assertFalse(cipher.is_valid_part_size(1, 1024*1024*100))
self.assertFalse(cipher.is_valid_part_size(1024 * 100 + 1, 1024*1024*100))
self.assertFalse(cipher.is_valid_part_size(1024 * 100, 1024*1024*1024))
self.assertTrue(cipher.is_valid_part_size(1024 * 100, 1024*1024*100))

def test_acs_ctr_determine_part_size(self):
cipher = AESCTRCipher()
self.assertEqual(cipher.determine_part_size(1024*100*100000), 1024*1024*10)
self.assertEqual(cipher.determine_part_size(1024*100*100000 - 1), 1024*1024*10)
self.assertEqual(cipher.determine_part_size(1024*100*99), 1024*1024*10)

self.assertEqual(cipher.determine_part_size(1024*100*1000, 1024*100), 1024*100)
self.assertEqual(cipher.determine_part_size(1024*100*1000, 1024*100-1), 1024*100)
self.assertEqual(cipher.determine_part_size(1024*100*10000, 1024), 1024*1024*10)

oss2.defaults.part_size = 1024*1024 - 1
self.assertEqual(cipher.determine_part_size(1024 * 1024 * 1000), 1024 * 1024)


if __name__ == '__main__':
unittest.main()

0 comments on commit 110a572

Please sign in to comment.