forked from TrueCloudLab/frostfs-testcases
Updated test_s3_bucket_policy according to 1.5
This commit is contained in:
parent
3941619431
commit
dcad44869f
1 changed files with 17 additions and 6 deletions
|
@ -1,7 +1,9 @@
|
||||||
|
import json
|
||||||
import os
|
import os
|
||||||
|
|
||||||
import allure
|
import allure
|
||||||
import pytest
|
import pytest
|
||||||
|
from botocore.exceptions import ClientError
|
||||||
from frostfs_testlib import reporter
|
from frostfs_testlib import reporter
|
||||||
from frostfs_testlib.s3 import S3ClientWrapper, VersioningStatus
|
from frostfs_testlib.s3 import S3ClientWrapper, VersioningStatus
|
||||||
from frostfs_testlib.steps.cli.container import search_container_by_name
|
from frostfs_testlib.steps.cli.container import search_container_by_name
|
||||||
|
@ -87,23 +89,24 @@ class TestS3GatePolicy(ClusterTestBase):
|
||||||
|
|
||||||
@allure.title("Bucket policy (s3_client={s3_client})")
|
@allure.title("Bucket policy (s3_client={s3_client})")
|
||||||
def test_s3_bucket_policy(self, s3_client: S3ClientWrapper):
|
def test_s3_bucket_policy(self, s3_client: S3ClientWrapper):
|
||||||
with reporter.step("Create bucket with default policy"):
|
with reporter.step("Create bucket"):
|
||||||
bucket = s3_client.create_bucket()
|
bucket = s3_client.create_bucket()
|
||||||
s3_helper.set_bucket_versioning(s3_client, bucket, VersioningStatus.ENABLED)
|
s3_helper.set_bucket_versioning(s3_client, bucket, VersioningStatus.ENABLED)
|
||||||
|
|
||||||
with reporter.step("GetBucketPolicy"):
|
with reporter.step("GetBucketPolicy"):
|
||||||
s3_client.get_bucket_policy(bucket)
|
with pytest.raises((RuntimeError, ClientError)):
|
||||||
|
s3_client.get_bucket_policy(bucket)
|
||||||
|
|
||||||
with reporter.step("Put new policy"):
|
with reporter.step("Put new policy"):
|
||||||
custom_policy = f"file://{os.getcwd()}/pytest_tests/resources/files/bucket_policy.json"
|
custom_policy = f"file://{os.getcwd()}/pytest_tests/resources/files/bucket_policy.json"
|
||||||
custom_policy = {
|
custom_policy = {
|
||||||
"Version": "2008-10-17",
|
"Version": "2012-10-17",
|
||||||
"Id": "aaaa-bbbb-cccc-dddd",
|
"Id": "aaaa-bbbb-cccc-dddd",
|
||||||
"Statement": [
|
"Statement": [
|
||||||
{
|
{
|
||||||
"Sid": "AddPerm",
|
"Sid": "AddPerm",
|
||||||
"Effect": "Allow",
|
"Effect": "Allow",
|
||||||
"Principal": {"AWS": "*"},
|
"Principal": "*",
|
||||||
"Action": ["s3:GetObject"],
|
"Action": ["s3:GetObject"],
|
||||||
"Resource": [f"arn:aws:s3:::{bucket}/*"],
|
"Resource": [f"arn:aws:s3:::{bucket}/*"],
|
||||||
}
|
}
|
||||||
|
@ -112,8 +115,16 @@ class TestS3GatePolicy(ClusterTestBase):
|
||||||
|
|
||||||
s3_client.put_bucket_policy(bucket, custom_policy)
|
s3_client.put_bucket_policy(bucket, custom_policy)
|
||||||
with reporter.step("GetBucketPolicy"):
|
with reporter.step("GetBucketPolicy"):
|
||||||
policy_1 = s3_client.get_bucket_policy(bucket)
|
returned_policy = json.loads(s3_client.get_bucket_policy(bucket))
|
||||||
print(policy_1)
|
|
||||||
|
assert returned_policy == custom_policy, "Wrong policy was received"
|
||||||
|
|
||||||
|
with reporter.step("Delete the policy"):
|
||||||
|
s3_client.delete_bucket_policy(bucket)
|
||||||
|
|
||||||
|
with reporter.step("GetBucketPolicy"):
|
||||||
|
with pytest.raises((RuntimeError, ClientError)):
|
||||||
|
s3_client.get_bucket_policy(bucket)
|
||||||
|
|
||||||
@allure.title("Bucket CORS (s3_client={s3_client})")
|
@allure.title("Bucket CORS (s3_client={s3_client})")
|
||||||
def test_s3_cors(self, s3_client: S3ClientWrapper):
|
def test_s3_cors(self, s3_client: S3ClientWrapper):
|
||||||
|
|
Loading…
Reference in a new issue