def test_lifecycle_all(self): from oss2.models import LifecycleExpiration, LifecycleRule, BucketLifecycle, AbortMultipartUpload, StorageTransition rule = LifecycleRule(random_string(10), '中文前缀/', status=LifecycleRule.ENABLED, expiration=LifecycleExpiration(days=357)) self.assertRaises(oss2.exceptions.ClientError, LifecycleExpiration, days=356, created_before_date=datetime.date(2016, 12, 25)) self.assertRaises(oss2.exceptions.ClientError, AbortMultipartUpload, days=356, created_before_date=datetime.date(2016, 12, 25)) self.assertRaises(oss2.exceptions.ClientError, StorageTransition, days=356, created_before_date=datetime.date(2016, 12, 25)) rule.abort_multipart_upload = AbortMultipartUpload(days=356) rule.storage_transitions = [StorageTransition(days=356, storage_class=oss2.BUCKET_STORAGE_CLASS_IA)] lifecycle = BucketLifecycle([rule]) self.bucket.put_bucket_lifecycle(lifecycle) result = self.bucket.get_bucket_lifecycle() self.assertEqual(1, len(result.rules)) self.assertEqual(356, result.rules[0].abort_multipart_upload.days) self.assertEqual(1, len(result.rules[0].storage_transitions)) self.assertEqual(356, result.rules[0].storage_transitions[0].days) self.bucket.delete_bucket_lifecycle()
def test_lifecycle_abort_multipart_upload_date(self): from oss2.models import LifecycleExpiration, LifecycleRule, BucketLifecycle, AbortMultipartUpload rule = LifecycleRule( random_string(10), '中文前缀/', status=LifecycleRule.ENABLED, expiration=LifecycleExpiration( created_before_date=datetime.date(2016, 12, 25))) rule.abort_multipart_upload = AbortMultipartUpload( created_before_date=datetime.date(2016, 12, 20)) lifecycle = BucketLifecycle([rule]) self.bucket.put_bucket_lifecycle(lifecycle) wait_meta_sync() result = self.bucket.get_bucket_lifecycle() self.assertEqual(1, len(result.rules)) self.assertEqual( datetime.date(2016, 12, 20), result.rules[0].abort_multipart_upload.created_before_date) self.assertTrue(result.rules[0].tagging is None) self.bucket.delete_bucket_lifecycle()
def test_lifecycle_all(self): from oss2.models import LifecycleExpiration, LifecycleRule, BucketLifecycle, AbortMultipartUpload, StorageTransition rule = LifecycleRule(random_string(10), '中文前缀/', status=LifecycleRule.ENABLED, expiration=LifecycleExpiration(days=357)) self.assertRaises(oss2.exceptions.ClientError, LifecycleExpiration, days=356, created_before_date=datetime.date(2016, 12, 25)) self.assertRaises(oss2.exceptions.ClientError, AbortMultipartUpload, days=356, created_before_date=datetime.date(2016, 12, 25)) self.assertRaises(oss2.exceptions.ClientError, StorageTransition, days=356, created_before_date=datetime.date(2016, 12, 25)) rule.abort_multipart_upload = AbortMultipartUpload(days=356) rule.storage_transitions = [StorageTransition(days=356, storage_class=oss2.BUCKET_STORAGE_CLASS_IA)] lifecycle = BucketLifecycle([rule]) self.bucket.put_bucket_lifecycle(lifecycle) result = self.bucket.get_bucket_lifecycle() self.assertEqual(1, len(result.rules)) self.assertEqual(356, result.rules[0].abort_multipart_upload.days) self.assertEqual(1, len(result.rules[0].storage_transitions)) self.assertEqual(356, result.rules[0].storage_transitions[0].days) self.bucket.delete_bucket_lifecycle()
def test_lifecycle_abort_multipart_upload_date(self): from oss2.models import LifecycleExpiration, LifecycleRule, BucketLifecycle, AbortMultipartUpload rule = LifecycleRule(random_string(10), '中文前缀/', status=LifecycleRule.ENABLED, expiration=LifecycleExpiration(created_before_date=datetime.date(2016, 12, 25))) rule.abort_multipart_upload = AbortMultipartUpload(created_before_date=datetime.date(2016, 12, 20)) lifecycle = BucketLifecycle([rule]) self.bucket.put_bucket_lifecycle(lifecycle) wait_meta_sync() result = self.bucket.get_bucket_lifecycle() self.assertEqual(1, len(result.rules)) self.assertEqual(datetime.date(2016, 12, 20), result.rules[0].abort_multipart_upload.created_before_date) self.bucket.delete_bucket_lifecycle()
def test_lifecycle_abort_multipart_upload_days(self): from oss2.models import LifecycleExpiration, LifecycleRule, BucketLifecycle, AbortMultipartUpload rule = LifecycleRule(random_string(10), '中文前缀/', status=LifecycleRule.ENABLED, expiration=LifecycleExpiration(created_before_date=datetime.date(2016, 12, 25))) rule.abort_multipart_upload = AbortMultipartUpload(days=356) lifecycle = BucketLifecycle([rule]) self.bucket.put_bucket_lifecycle(lifecycle) self.retry_assert(lambda: self.same_lifecycle(rule, self.bucket)) result = self.bucket.get_bucket_lifecycle() self.assertEqual(1, len(result.rules)) self.assertEqual(356, result.rules[0].abort_multipart_upload.days) self.bucket.delete_bucket_lifecycle()
def test_lifecycle_all_without_object_expiration(self): from oss2.models import LifecycleRule, BucketLifecycle, AbortMultipartUpload, StorageTransition rule = LifecycleRule(random_string(10), '中文前缀/', status=LifecycleRule.ENABLED) rule.abort_multipart_upload = AbortMultipartUpload(days=356) rule.storage_transitions = [StorageTransition(days=356, storage_class=oss2.BUCKET_STORAGE_CLASS_IA)] lifecycle = BucketLifecycle([rule]) self.bucket.put_bucket_lifecycle(lifecycle) wait_meta_sync() result = self.bucket.get_bucket_lifecycle() self.assertEqual(1, len(result.rules)) self.assertEqual(356, result.rules[0].abort_multipart_upload.days) self.assertEqual(1, len(result.rules[0].storage_transitions)) self.assertEqual(356, result.rules[0].storage_transitions[0].days) self.bucket.delete_bucket_lifecycle()
def test_lifecycle_all_without_object_expiration(self): from oss2.models import LifecycleRule, BucketLifecycle, AbortMultipartUpload, StorageTransition rule = LifecycleRule(random_string(10), '中文前缀/', status=LifecycleRule.ENABLED) rule.abort_multipart_upload = AbortMultipartUpload(days=356) rule.storage_transitions = [StorageTransition(days=356, storage_class=oss2.BUCKET_STORAGE_CLASS_IA)] lifecycle = BucketLifecycle([rule]) self.bucket.put_bucket_lifecycle(lifecycle) wait_meta_sync() result = self.bucket.get_bucket_lifecycle() self.assertEqual(1, len(result.rules)) self.assertEqual(356, result.rules[0].abort_multipart_upload.days) self.assertEqual(1, len(result.rules[0].storage_transitions)) self.assertEqual(356, result.rules[0].storage_transitions[0].days) self.bucket.delete_bucket_lifecycle()
def test_lifecycle_abort_multipart_upload_days(self): from oss2.models import LifecycleExpiration, LifecycleRule, BucketLifecycle, AbortMultipartUpload rule = LifecycleRule( random_string(10), '中文前缀/', status=LifecycleRule.ENABLED, expiration=LifecycleExpiration( created_before_date=datetime.date(2016, 12, 25))) rule.abort_multipart_upload = AbortMultipartUpload(days=356) lifecycle = BucketLifecycle([rule]) self.bucket.put_bucket_lifecycle(lifecycle) self.retry_assert(lambda: self.same_lifecycle(rule, self.bucket)) result = self.bucket.get_bucket_lifecycle() self.assertEqual(1, len(result.rules)) self.assertEqual(356, result.rules[0].abort_multipart_upload.days) self.bucket.delete_bucket_lifecycle()