def test_lifecycle_object_tagging_exceptions_wrong_value(self): from oss2.models import LifecycleExpiration, LifecycleRule, BucketLifecycle, StorageTransition, Tagging, TaggingRule rule = LifecycleRule(random_string(10), '中文前缀/', status=LifecycleRule.ENABLED, expiration=LifecycleExpiration(created_before_date=datetime.date(2016, 12, 25))) rule.storage_transitions = [StorageTransition(created_before_date=datetime.date(2016, 12, 20), storage_class=oss2.BUCKET_STORAGE_CLASS_IA)] tagging = Tagging() tagging.tag_set.tagging_rule['test'] = 257*'a' rule.tagging = tagging lifecycle = BucketLifecycle([rule]) try: # do not return error,but the lifecycle rule doesn't take effect result = self.bucket.put_bucket_lifecycle(lifecycle) except oss2.exceptions.OssError: self.assertFalse(True, "put lifecycle with tagging should fail ,but success") tagging.tag_set.tagging_rule['test'] = ')%' rule.tagging = tagging lifecycle = BucketLifecycle([rule]) try: # do not return error,but the lifecycle rule doesn't take effect result = self.bucket.put_bucket_lifecycle(lifecycle) self.assertFalse(True, "put lifecycle with tagging should fail ,but success") except oss2.exceptions.OssError: pass
def test_lifecycle_object_tagging(self): from oss2.models import LifecycleExpiration, LifecycleRule, BucketLifecycle, StorageTransition, Tagging, TaggingRule rule = LifecycleRule(random_string(10), 'aaaaaaaaaaa/', status=LifecycleRule.ENABLED, expiration=LifecycleExpiration(created_before_date=datetime.date(2016, 12, 25))) rule.storage_transitions = [StorageTransition(created_before_date=datetime.date(2016, 12, 20), storage_class=oss2.BUCKET_STORAGE_CLASS_IA)] tagging_rule = TaggingRule() tagging_rule.add('test_key', 'test_value') tagging = Tagging(tagging_rule) rule.tagging = tagging 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(1, len(result.rules[0].storage_transitions)) self.assertEqual(datetime.date(2016, 12, 20), result.rules[0].storage_transitions[0].created_before_date) self.assertEqual(1, result.rules[0].tagging.tag_set.len()) self.assertEqual('test_value', result.rules[0].tagging.tag_set.tagging_rule['test_key']) self.bucket.delete_bucket_lifecycle()