Fix test policies #244
1 changed files with 17 additions and 3 deletions
|
@ -94,11 +94,17 @@ def generate_ranges(
|
|||
scope="module"
|
||||
)
|
||||
def storage_objects(
|
||||
default_wallet: WalletInfo, client_shell: Shell, cluster: Cluster, object_size: ObjectSize, placement_policy: PlacementPolicy
|
||||
default_wallet: WalletInfo,
|
||||
client_shell: Shell,
|
||||
cluster: Cluster,
|
||||
object_size: ObjectSize,
|
||||
placement_policy: PlacementPolicy,
|
||||
) -> list[StorageObjectInfo]:
|
||||
wallet = default_wallet
|
||||
# Separate containers for complex/simple objects to avoid side-effects
|
||||
cid = create_container(wallet, shell=client_shell, rule=placement_policy.value, endpoint=cluster.default_rpc_endpoint)
|
||||
cid = create_container(
|
||||
wallet, shell=client_shell, rule=placement_policy.value, endpoint=cluster.default_rpc_endpoint
|
||||
)
|
||||
|
||||
file_path = generate_file(object_size.value)
|
||||
file_hash = get_file_hash(file_path)
|
||||
|
@ -132,6 +138,13 @@ def storage_objects(
|
|||
delete_objects(storage_objects, client_shell, cluster)
|
||||
|
||||
|
||||
@pytest.fixture()
|
||||
def expected_object_copies(placement_policy: PlacementPolicy) -> int:
|
||||
if placement_policy.name == "rep":
|
||||
return 2
|
||||
return 4
|
||||
|
||||
|
||||
@pytest.mark.sanity
|
||||
@pytest.mark.grpc_api
|
||||
class TestObjectApi(ClusterTestBase):
|
||||
|
@ -140,6 +153,7 @@ class TestObjectApi(ClusterTestBase):
|
|||
self,
|
||||
storage_objects: list[StorageObjectInfo],
|
||||
simple_object_size: ObjectSize,
|
||||
expected_object_copies: int,
|
||||
):
|
||||
"""
|
||||
Validate object storage policy
|
||||
|
@ -163,7 +177,7 @@ class TestObjectApi(ClusterTestBase):
|
|||
shell=self.shell,
|
||||
nodes=self.cluster.storage_nodes,
|
||||
)
|
||||
assert copies == 2, "Expected 2 copies"
|
||||
assert copies == expected_object_copies, f"Expected {expected_object_copies} copies"
|
||||
|
||||
@allure.title("Get object by native API (obj_size={object_size}, policy={placement_policy})")
|
||||
def test_get_object_api(self, storage_objects: list[StorageObjectInfo]):
|
||||
|
|
Loading…
Reference in a new issue