def test_create_bucket(logs_bucket, s3): bucket_name = f'bucket-{id(MagicMock())}' bucket = s3.Bucket(bucket_name) with pytest.raises(s3.meta.client.exceptions.NoSuchBucket): s3.meta.client.get_bucket_location(Bucket=bucket_name) aws.create_bucket(bucket_name, is_data_warehouse=True) # Check versioning. assert bucket.Versioning().status == "Enabled" # Check lifecycle. versioning = bucket.LifecycleConfiguration() rule = versioning.rules[0] assert rule["ID"].endswith("_lifecycle_configuration") assert rule["Status"] == "Enabled" assert rule["NoncurrentVersionTransitions"][0]["NoncurrentDays"] == 30 assert rule["NoncurrentVersionTransitions"][0]["StorageClass"] == "GLACIER" # Check logging assert bucket.Logging( ).logging_enabled['TargetBucket'] == settings.LOGS_BUCKET_NAME # Check tagging tags = {tag["Key"]: tag["Value"] for tag in bucket.Tagging().tag_set} assert tags["buckettype"] == "datawarehouse"
def test_create_bucket(logs_bucket, s3): bucket_name = f'bucket-{id(MagicMock())}' bucket = s3.Bucket(bucket_name) with pytest.raises(s3.meta.client.exceptions.NoSuchBucket): s3.meta.client.get_bucket_location(Bucket=bucket_name) aws.create_bucket(bucket_name, is_data_warehouse=True) # Check logging assert bucket.Logging( ).logging_enabled['TargetBucket'] == settings.LOGS_BUCKET_NAME # Check tagging tags = {tag["Key"]: tag["Value"] for tag in bucket.Tagging().tag_set} assert tags["buckettype"] == "datawarehouse"
def create(self): return aws.create_bucket(self.bucket.name, self.bucket.is_data_warehouse)