[#332] Remove files for heavy failover test #332

Merged
abereziny merged 1 commit from abereziny/frostfs-testcases:feature-remove-files-for-ftest into master 2024-11-27 10:52:49 +00:00

View file

@ -99,14 +99,25 @@ class TestFailoverServer(ClusterTestBase):
sizes_weights = [2, 1] sizes_weights = [2, 1]
sizes = sizes_samples + random.choices(sizes_samples, weights=sizes_weights, k=object_count - samples_count) sizes = sizes_samples + random.choices(sizes_samples, weights=sizes_weights, k=object_count - samples_count)
total_objects = len(containers) * object_count
results = parallel( with reporter.step(f"Upload {total_objects} in total to containers"):
[container.generate_object for _ in sizes for container in containers], results = parallel(
size=itertools.cycle([size.value for size in sizes]), [self._generate_files_and_remove_physical_copy for _ in range(total_objects)],
) container=itertools.cycle(containers),
size=itertools.cycle(sizes),
)
return [result.result() for result in results] return [result.result() for result in results]
def _generate_files_and_remove_physical_copy(self, container: StorageContainer, size: ObjectSize) -> StorageObjectInfo:
storage_object = container.generate_object(size.value)
# Deliberately remove physical copy of the file for this test since it can generate multibytes of test objects
os.remove(storage_object.file_path)
return storage_object
@allure.title("[Test] Create objects and get nodes with object") @allure.title("[Test] Create objects and get nodes with object")
@pytest.fixture() @pytest.fixture()
def object_and_nodes(self, simple_object_size: ObjectSize, container: StorageContainer) -> tuple[StorageObjectInfo, list[ClusterNode]]: def object_and_nodes(self, simple_object_size: ObjectSize, container: StorageContainer) -> tuple[StorageObjectInfo, list[ClusterNode]]: