Marked HTTP GW cases with PUT call with separate pytest mark
This commit is contained in:
parent
247bc5ba8d
commit
4a17bc7b9c
6 changed files with 20 additions and 8 deletions
|
@ -16,6 +16,7 @@ markers =
|
||||||
grpc_control: tests related to using frostfs-cli control commands
|
grpc_control: tests related to using frostfs-cli control commands
|
||||||
grpc_object_lock: gRPC lock tests
|
grpc_object_lock: gRPC lock tests
|
||||||
http_gate: HTTP gate contract
|
http_gate: HTTP gate contract
|
||||||
|
http_put: HTTP gate test cases with PUT call
|
||||||
s3_gate: All S3 gate tests
|
s3_gate: All S3 gate tests
|
||||||
s3_gate_base: Base S3 gate tests
|
s3_gate_base: Base S3 gate tests
|
||||||
s3_gate_bucket: Bucket S3 gate tests
|
s3_gate_bucket: Bucket S3 gate tests
|
||||||
|
|
|
@ -21,9 +21,10 @@ from frostfs_testlib.utils.file_utils import generate_file
|
||||||
logger = logging.getLogger("NeoLogger")
|
logger = logging.getLogger("NeoLogger")
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.skip("Temporarly skip for v0.37")
|
|
||||||
@pytest.mark.sanity
|
@pytest.mark.sanity
|
||||||
@pytest.mark.http_gate
|
@pytest.mark.http_gate
|
||||||
|
@pytest.mark.skip("Skipped due to deprecated PUT via http")
|
||||||
|
@pytest.mark.http_put
|
||||||
class Test_http_bearer(ClusterTestBase):
|
class Test_http_bearer(ClusterTestBase):
|
||||||
PLACEMENT_RULE = "REP 2 IN X CBF 1 SELECT 2 FROM * AS X"
|
PLACEMENT_RULE = "REP 2 IN X CBF 1 SELECT 2 FROM * AS X"
|
||||||
|
|
||||||
|
|
|
@ -99,10 +99,21 @@ class TestHttpGate(ClusterTestBase):
|
||||||
http_hostname=self.cluster.default_http_hostname,
|
http_hostname=self.cluster.default_http_hostname,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@allure.link(
|
||||||
|
"https://github.com/TrueCloudLab/frostfs-http-gw#frostfs-http-gateway",
|
||||||
|
name="frostfs-http-gateway",
|
||||||
|
)
|
||||||
|
@allure.link("https://github.com/TrueCloudLab/frostfs-http-gw#uploading", name="uploading")
|
||||||
|
@allure.link("https://github.com/TrueCloudLab/frostfs-http-gw#downloading", name="downloading")
|
||||||
|
@pytest.mark.sanity
|
||||||
|
@pytest.mark.http_gate
|
||||||
|
@pytest.mark.http_put
|
||||||
|
@pytest.mark.skip("Skipped due to deprecated PUT via http")
|
||||||
|
class TestHttpPut(ClusterTestBase):
|
||||||
@allure.link("https://github.com/TrueCloudLab/frostfs-http-gw#uploading", name="uploading")
|
@allure.link("https://github.com/TrueCloudLab/frostfs-http-gw#uploading", name="uploading")
|
||||||
@allure.link("https://github.com/TrueCloudLab/frostfs-http-gw#downloading", name="downloading")
|
@allure.link("https://github.com/TrueCloudLab/frostfs-http-gw#downloading", name="downloading")
|
||||||
@allure.title("Put over HTTP, Get over HTTP")
|
@allure.title("Put over HTTP, Get over HTTP")
|
||||||
@pytest.mark.skip("Skipped due to deprecated PUT via http")
|
|
||||||
@pytest.mark.smoke
|
@pytest.mark.smoke
|
||||||
def test_put_http_get_http(
|
def test_put_http_get_http(
|
||||||
self, complex_object_size: ObjectSize, simple_object_size: ObjectSize
|
self, complex_object_size: ObjectSize, simple_object_size: ObjectSize
|
||||||
|
@ -207,7 +218,6 @@ class TestHttpGate(ClusterTestBase):
|
||||||
http_hostname=self.cluster.default_http_hostname,
|
http_hostname=self.cluster.default_http_hostname,
|
||||||
)
|
)
|
||||||
|
|
||||||
@pytest.mark.skip("Skipped due to deprecated PUT via http")
|
|
||||||
@allure.title("Test Expiration-Epoch in HTTP header with epoch_gap={epoch_gap}")
|
@allure.title("Test Expiration-Epoch in HTTP header with epoch_gap={epoch_gap}")
|
||||||
@pytest.mark.parametrize("epoch_gap", [0, 1])
|
@pytest.mark.parametrize("epoch_gap", [0, 1])
|
||||||
def test_expiration_epoch_in_http(self, simple_object_size: ObjectSize, epoch_gap: int):
|
def test_expiration_epoch_in_http(self, simple_object_size: ObjectSize, epoch_gap: int):
|
||||||
|
@ -273,7 +283,6 @@ class TestHttpGate(ClusterTestBase):
|
||||||
http_hostname=self.cluster.default_http_hostname,
|
http_hostname=self.cluster.default_http_hostname,
|
||||||
)
|
)
|
||||||
|
|
||||||
@pytest.mark.skip("Skipped due to deprecated PUT via http")
|
|
||||||
@allure.title("Test Zip in HTTP header")
|
@allure.title("Test Zip in HTTP header")
|
||||||
def test_zip_in_http(self, complex_object_size: ObjectSize, simple_object_size: ObjectSize):
|
def test_zip_in_http(self, complex_object_size: ObjectSize, simple_object_size: ObjectSize):
|
||||||
cid = create_container(
|
cid = create_container(
|
||||||
|
@ -315,7 +324,6 @@ class TestHttpGate(ClusterTestBase):
|
||||||
assert get_file_hash(f"{dir_path}/file2") == get_file_hash(file_path_large)
|
assert get_file_hash(f"{dir_path}/file2") == get_file_hash(file_path_large)
|
||||||
|
|
||||||
@pytest.mark.long
|
@pytest.mark.long
|
||||||
@pytest.mark.skip("Skipped due to deprecated PUT via http")
|
|
||||||
@allure.title("Put over HTTP/Curl, Get over HTTP/Curl for large object")
|
@allure.title("Put over HTTP/Curl, Get over HTTP/Curl for large object")
|
||||||
def test_put_http_get_http_large_file(self, complex_object_size: ObjectSize):
|
def test_put_http_get_http_large_file(self, complex_object_size: ObjectSize):
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -30,6 +30,8 @@ logger = logging.getLogger("NeoLogger")
|
||||||
|
|
||||||
@pytest.mark.sanity
|
@pytest.mark.sanity
|
||||||
@pytest.mark.http_gate
|
@pytest.mark.http_gate
|
||||||
|
@pytest.mark.http_put
|
||||||
|
@pytest.mark.skip("Skipped due to deprecated PUT via http")
|
||||||
class Test_http_headers(ClusterTestBase):
|
class Test_http_headers(ClusterTestBase):
|
||||||
PLACEMENT_RULE = "REP 2 IN X CBF 1 SELECT 4 FROM * AS X"
|
PLACEMENT_RULE = "REP 2 IN X CBF 1 SELECT 4 FROM * AS X"
|
||||||
obj1_keys = ["Writer", "Chapter1", "Chapter2"]
|
obj1_keys = ["Writer", "Chapter1", "Chapter2"]
|
||||||
|
@ -85,7 +87,6 @@ class Test_http_headers(ClusterTestBase):
|
||||||
|
|
||||||
yield storage_objects
|
yield storage_objects
|
||||||
|
|
||||||
@pytest.mark.skip("Skipped due to deprecated PUT via http")
|
|
||||||
@allure.title("Get object1 by attribute")
|
@allure.title("Get object1 by attribute")
|
||||||
def test_object1_can_be_get_by_attr(
|
def test_object1_can_be_get_by_attr(
|
||||||
self, storage_objects_with_attributes: list[StorageObjectInfo]
|
self, storage_objects_with_attributes: list[StorageObjectInfo]
|
||||||
|
@ -175,7 +176,6 @@ class Test_http_headers(ClusterTestBase):
|
||||||
)
|
)
|
||||||
|
|
||||||
@allure.title("[NEGATIVE] Put object and get right after container is deleted")
|
@allure.title("[NEGATIVE] Put object and get right after container is deleted")
|
||||||
@pytest.mark.skip("Skipped due to deprecated PUT via http")
|
|
||||||
def test_negative_put_and_get_object3(
|
def test_negative_put_and_get_object3(
|
||||||
self, storage_objects_with_attributes: list[StorageObjectInfo]
|
self, storage_objects_with_attributes: list[StorageObjectInfo]
|
||||||
):
|
):
|
||||||
|
|
|
@ -14,6 +14,8 @@ logger = logging.getLogger("NeoLogger")
|
||||||
|
|
||||||
@pytest.mark.sanity
|
@pytest.mark.sanity
|
||||||
@pytest.mark.http_gate
|
@pytest.mark.http_gate
|
||||||
|
@pytest.mark.http_put
|
||||||
|
@pytest.mark.skip("Skipped due to deprecated PUT via http")
|
||||||
class Test_http_streaming(ClusterTestBase):
|
class Test_http_streaming(ClusterTestBase):
|
||||||
PLACEMENT_RULE = "REP 2 IN X CBF 1 SELECT 4 FROM * AS X"
|
PLACEMENT_RULE = "REP 2 IN X CBF 1 SELECT 4 FROM * AS X"
|
||||||
|
|
||||||
|
@ -28,7 +30,6 @@ class Test_http_streaming(ClusterTestBase):
|
||||||
[pytest.lazy_fixture("complex_object_size")],
|
[pytest.lazy_fixture("complex_object_size")],
|
||||||
ids=["complex object size"],
|
ids=["complex object size"],
|
||||||
)
|
)
|
||||||
@pytest.mark.skip("Skipped due to deprecated PUT via http")
|
|
||||||
def test_object_can_be_put_get_by_streaming(self, object_size: ObjectSize):
|
def test_object_can_be_put_get_by_streaming(self, object_size: ObjectSize):
|
||||||
"""
|
"""
|
||||||
Test that object can be put using gRPC interface and get using HTTP.
|
Test that object can be put using gRPC interface and get using HTTP.
|
||||||
|
|
|
@ -37,6 +37,7 @@ SYSTEM_EXPIRATION_RFC3339 = "System-Expiration-RFC3339"
|
||||||
|
|
||||||
@pytest.mark.sanity
|
@pytest.mark.sanity
|
||||||
@pytest.mark.http_gate
|
@pytest.mark.http_gate
|
||||||
|
@pytest.mark.http_put
|
||||||
@pytest.mark.skip("Skipped due to deprecated PUT via http")
|
@pytest.mark.skip("Skipped due to deprecated PUT via http")
|
||||||
class Test_http_system_header(ClusterTestBase):
|
class Test_http_system_header(ClusterTestBase):
|
||||||
PLACEMENT_RULE = "REP 2 IN X CBF 1 SELECT 2 FROM * AS X"
|
PLACEMENT_RULE = "REP 2 IN X CBF 1 SELECT 2 FROM * AS X"
|
||||||
|
|
Loading…
Reference in a new issue