diff --git a/pytest_tests/testsuites/conftest.py b/pytest_tests/testsuites/conftest.py index 4ebf605..6ecf70f 100644 --- a/pytest_tests/testsuites/conftest.py +++ b/pytest_tests/testsuites/conftest.py @@ -8,19 +8,18 @@ import pytest from dateutil import parser from frostfs_testlib import plugins, reporter from frostfs_testlib.cli import FrostfsCli +from frostfs_testlib.clients import AwsCliClient, Boto3ClientWrapper, S3ClientWrapper, S3HttpClient +from frostfs_testlib.clients.s3 import BucketContainerResolver, VersioningStatus from frostfs_testlib.credentials.interfaces import CredentialsProvider, User from frostfs_testlib.healthcheck.interfaces import Healthcheck from frostfs_testlib.hosting import Hosting from frostfs_testlib.resources import optionals from frostfs_testlib.resources.common import COMPLEX_OBJECT_CHUNKS_COUNT, COMPLEX_OBJECT_TAIL_SIZE, SIMPLE_OBJECT_SIZE -from frostfs_testlib.s3 import AwsCliClient, Boto3ClientWrapper, S3ClientWrapper, VersioningStatus -from frostfs_testlib.s3.interfaces import BucketContainerResolver -from frostfs_testlib.s3.s3_http_client import S3HttpClient from frostfs_testlib.shell import LocalShell, Shell +from frostfs_testlib.steps import s3_helper from frostfs_testlib.steps.cli.container import DEFAULT_EC_PLACEMENT_RULE, DEFAULT_PLACEMENT_RULE, FROSTFS_CLI_EXEC from frostfs_testlib.steps.cli.object import get_netmap_netinfo from frostfs_testlib.steps.epoch import ensure_fresh_epoch -from frostfs_testlib.steps.s3 import s3_helper from frostfs_testlib.storage.cluster import Cluster, ClusterNode from frostfs_testlib.storage.controllers.cluster_state_controller import ClusterStateController from frostfs_testlib.storage.dataclasses.frostfs_services import StorageNode diff --git a/pytest_tests/testsuites/failovers/test_failover_storage.py b/pytest_tests/testsuites/failovers/test_failover_storage.py index 2d1a86b..f754797 100644 --- a/pytest_tests/testsuites/failovers/test_failover_storage.py +++ b/pytest_tests/testsuites/failovers/test_failover_storage.py @@ -6,9 +6,9 @@ from time import sleep import allure import pytest from frostfs_testlib import reporter +from frostfs_testlib.clients.s3 import BucketContainerResolver, S3ClientWrapper, VersioningStatus from frostfs_testlib.resources.common import MORPH_BLOCK_TIME -from frostfs_testlib.s3 import S3ClientWrapper, VersioningStatus -from frostfs_testlib.s3.interfaces import BucketContainerResolver +from frostfs_testlib.steps import s3_helper from frostfs_testlib.steps.cli.container import StorageContainer, StorageContainerInfo, create_container from frostfs_testlib.steps.cli.object import get_object, put_object_to_random_node from frostfs_testlib.steps.node_management import ( @@ -19,8 +19,6 @@ from frostfs_testlib.steps.node_management import ( remove_nodes_from_map_morph, wait_for_node_to_be_ready, ) -from frostfs_testlib.steps.s3 import s3_helper -from frostfs_testlib.steps.s3.s3_helper import search_nodes_with_bucket from frostfs_testlib.storage.cluster import Cluster, ClusterNode, S3Gate, StorageNode from frostfs_testlib.storage.controllers import ClusterStateController, ShardsWatcher from frostfs_testlib.storage.dataclasses.object_size import ObjectSize @@ -137,7 +135,7 @@ class TestFailoverStorage(ClusterTestBase): put_object = s3_client.put_object(bucket, file_path) s3_helper.check_objects_in_bucket(s3_client, bucket, expected_objects=[file_name]) - node_bucket = search_nodes_with_bucket( + node_bucket = s3_helper.search_nodes_with_bucket( cluster=self.cluster, bucket_name=bucket, wallet=default_wallet, diff --git a/pytest_tests/testsuites/replication/test_ec_replication.py b/pytest_tests/testsuites/replication/test_ec_replication.py index c445b72..1571beb 100644 --- a/pytest_tests/testsuites/replication/test_ec_replication.py +++ b/pytest_tests/testsuites/replication/test_ec_replication.py @@ -7,10 +7,10 @@ import yaml from frostfs_testlib import reporter from frostfs_testlib.cli import FrostfsAdm, FrostfsCli from frostfs_testlib.cli.netmap_parser import NetmapParser +from frostfs_testlib.clients import AwsCliClient, S3ClientWrapper +from frostfs_testlib.clients.s3 import BucketContainerResolver, VersioningStatus from frostfs_testlib.resources.cli import CLI_DEFAULT_TIMEOUT, FROSTFS_ADM_CONFIG_PATH, FROSTFS_ADM_EXEC, FROSTFS_CLI_EXEC from frostfs_testlib.resources.common import COMPLEX_OBJECT_CHUNKS_COUNT, COMPLEX_OBJECT_TAIL_SIZE, HOSTING_CONFIG_FILE, MORPH_BLOCK_TIME -from frostfs_testlib.s3 import AwsCliClient, S3ClientWrapper -from frostfs_testlib.s3.interfaces import BucketContainerResolver, VersioningStatus from frostfs_testlib.storage.cluster import Cluster, ClusterNode, StorageNode from frostfs_testlib.storage.controllers import ClusterStateController from frostfs_testlib.storage.controllers.state_managers.config_state_manager import ConfigStateManager diff --git a/pytest_tests/testsuites/services/http_gate/test_http_bearer.py b/pytest_tests/testsuites/services/http_gate/test_http_bearer.py index 930137e..4567e0b 100644 --- a/pytest_tests/testsuites/services/http_gate/test_http_bearer.py +++ b/pytest_tests/testsuites/services/http_gate/test_http_bearer.py @@ -5,7 +5,7 @@ import pytest from frostfs_testlib import reporter from frostfs_testlib.cli.frostfs_cli.cli import FrostfsCli from frostfs_testlib.steps.acl import bearer_token_base64_from_file -from frostfs_testlib.steps.http.http_gate import upload_via_http_gate_curl, verify_object_hash +from frostfs_testlib.steps.http_gate import upload_via_http_gate_curl, verify_object_hash from frostfs_testlib.storage.cluster import Cluster from frostfs_testlib.storage.dataclasses import ape from frostfs_testlib.storage.dataclasses.object_size import ObjectSize diff --git a/pytest_tests/testsuites/services/http_gate/test_http_gate.py b/pytest_tests/testsuites/services/http_gate/test_http_gate.py index af521be..2afb819 100644 --- a/pytest_tests/testsuites/services/http_gate/test_http_gate.py +++ b/pytest_tests/testsuites/services/http_gate/test_http_gate.py @@ -3,7 +3,7 @@ import pytest from frostfs_testlib import reporter from frostfs_testlib.steps.cli.object import put_object_to_random_node from frostfs_testlib.steps.epoch import get_epoch -from frostfs_testlib.steps.http.http_gate import ( +from frostfs_testlib.steps.http_gate import ( attr_into_header, get_object_by_attr_and_verify_hashes, get_via_http_curl, diff --git a/pytest_tests/testsuites/services/http_gate/test_http_headers.py b/pytest_tests/testsuites/services/http_gate/test_http_headers.py index 95db861..dc5483d 100644 --- a/pytest_tests/testsuites/services/http_gate/test_http_headers.py +++ b/pytest_tests/testsuites/services/http_gate/test_http_headers.py @@ -6,7 +6,7 @@ import pytest from frostfs_testlib import reporter from frostfs_testlib.steps.cli.container import delete_container, list_containers, wait_for_container_deletion from frostfs_testlib.steps.cli.object import delete_object -from frostfs_testlib.steps.http.http_gate import ( +from frostfs_testlib.steps.http_gate import ( attr_into_str_header_curl, get_object_by_attr_and_verify_hashes, try_to_get_object_and_expect_error, diff --git a/pytest_tests/testsuites/services/http_gate/test_http_object.py b/pytest_tests/testsuites/services/http_gate/test_http_object.py index 8184e11..14633df 100644 --- a/pytest_tests/testsuites/services/http_gate/test_http_object.py +++ b/pytest_tests/testsuites/services/http_gate/test_http_object.py @@ -3,16 +3,16 @@ import logging import allure import pytest from frostfs_testlib import reporter -from frostfs_testlib.s3 import AwsCliClient, S3ClientWrapper +from frostfs_testlib.clients import AwsCliClient, S3ClientWrapper +from frostfs_testlib.steps import s3_helper from frostfs_testlib.steps.cli.object import put_object_to_random_node -from frostfs_testlib.steps.http.http_gate import ( +from frostfs_testlib.steps.http_gate import ( assert_hashes_are_equal, get_object_by_attr_and_verify_hashes, get_via_http_gate, try_to_get_object_via_passed_request_and_expect_error, verify_object_hash, ) -from frostfs_testlib.steps.s3 import s3_helper from frostfs_testlib.storage.dataclasses.wallet import WalletInfo from frostfs_testlib.testing.cluster_test_base import ClusterTestBase from frostfs_testlib.utils.file_utils import TestFile diff --git a/pytest_tests/testsuites/services/http_gate/test_http_streaming.py b/pytest_tests/testsuites/services/http_gate/test_http_streaming.py index 027e1cb..a9ac6dd 100644 --- a/pytest_tests/testsuites/services/http_gate/test_http_streaming.py +++ b/pytest_tests/testsuites/services/http_gate/test_http_streaming.py @@ -3,7 +3,7 @@ import logging import allure import pytest from frostfs_testlib import reporter -from frostfs_testlib.steps.http.http_gate import upload_via_http_gate_curl, verify_object_hash +from frostfs_testlib.steps.http_gate import upload_via_http_gate_curl, verify_object_hash from frostfs_testlib.storage.dataclasses.object_size import ObjectSize from frostfs_testlib.storage.dataclasses.wallet import WalletInfo from frostfs_testlib.testing.cluster_test_base import ClusterTestBase diff --git a/pytest_tests/testsuites/services/http_gate/test_http_system_header.py b/pytest_tests/testsuites/services/http_gate/test_http_system_header.py index a4cbcb3..7bc5c2f 100644 --- a/pytest_tests/testsuites/services/http_gate/test_http_system_header.py +++ b/pytest_tests/testsuites/services/http_gate/test_http_system_header.py @@ -9,7 +9,7 @@ from frostfs_testlib import reporter from frostfs_testlib.resources.error_patterns import OBJECT_NOT_FOUND from frostfs_testlib.steps.cli.object import get_netmap_netinfo, get_object_from_random_node, head_object from frostfs_testlib.steps.epoch import get_epoch, wait_for_epochs_align -from frostfs_testlib.steps.http.http_gate import ( +from frostfs_testlib.steps.http_gate import ( attr_into_str_header_curl, try_to_get_object_and_expect_error, upload_via_http_gate_curl, diff --git a/pytest_tests/testsuites/services/s3_gate/test_s3_ACL.py b/pytest_tests/testsuites/services/s3_gate/test_s3_ACL.py index c83505f..2d981c8 100644 --- a/pytest_tests/testsuites/services/s3_gate/test_s3_ACL.py +++ b/pytest_tests/testsuites/services/s3_gate/test_s3_ACL.py @@ -1,10 +1,10 @@ import allure import pytest from frostfs_testlib import reporter +from frostfs_testlib.clients import S3ClientWrapper from frostfs_testlib.resources.error_patterns import S3_BUCKET_DOES_NOT_ALLOW_ACL from frostfs_testlib.resources.s3_acl_grants import PRIVATE_GRANTS, PUBLIC_READ_GRANTS, PUBLIC_READ_WRITE_GRANTS -from frostfs_testlib.s3 import S3ClientWrapper -from frostfs_testlib.steps.s3 import s3_helper +from frostfs_testlib.steps import s3_helper from frostfs_testlib.storage.dataclasses.object_size import ObjectSize from frostfs_testlib.utils.file_utils import generate_file diff --git a/pytest_tests/testsuites/services/s3_gate/test_s3_bucket.py b/pytest_tests/testsuites/services/s3_gate/test_s3_bucket.py index 8659d36..47ff333 100644 --- a/pytest_tests/testsuites/services/s3_gate/test_s3_bucket.py +++ b/pytest_tests/testsuites/services/s3_gate/test_s3_bucket.py @@ -4,8 +4,8 @@ from datetime import datetime, timedelta import allure import pytest from frostfs_testlib import reporter -from frostfs_testlib.s3 import S3ClientWrapper, VersioningStatus -from frostfs_testlib.steps.s3 import s3_helper +from frostfs_testlib.clients.s3 import S3ClientWrapper, VersioningStatus +from frostfs_testlib.steps import s3_helper from frostfs_testlib.storage.dataclasses.object_size import ObjectSize from frostfs_testlib.utils import string_utils from frostfs_testlib.utils.file_utils import generate_file diff --git a/pytest_tests/testsuites/services/s3_gate/test_s3_http_object.py b/pytest_tests/testsuites/services/s3_gate/test_s3_http_object.py index 2da8bed..3926af2 100644 --- a/pytest_tests/testsuites/services/s3_gate/test_s3_http_object.py +++ b/pytest_tests/testsuites/services/s3_gate/test_s3_http_object.py @@ -7,13 +7,12 @@ import allure import pytest from frostfs_testlib import reporter from frostfs_testlib.cli.generic_cli import GenericCli +from frostfs_testlib.clients import Boto3ClientWrapper, S3ClientWrapper, S3HttpClient +from frostfs_testlib.clients.s3 import VersioningStatus from frostfs_testlib.credentials.interfaces import CredentialsProvider, User -from frostfs_testlib.s3.boto3_client import Boto3ClientWrapper -from frostfs_testlib.s3.interfaces import S3ClientWrapper, VersioningStatus -from frostfs_testlib.s3.s3_http_client import S3HttpClient from frostfs_testlib.shell.interfaces import CommandOptions from frostfs_testlib.shell.local_shell import LocalShell -from frostfs_testlib.steps.s3 import s3_helper +from frostfs_testlib.steps import s3_helper from frostfs_testlib.storage.cluster import Cluster, ClusterNode from frostfs_testlib.storage.dataclasses.object_size import ObjectSize from frostfs_testlib.storage.dataclasses.policy import PlacementPolicy diff --git a/pytest_tests/testsuites/services/s3_gate/test_s3_locking.py b/pytest_tests/testsuites/services/s3_gate/test_s3_locking.py index 1e50120..fc16970 100644 --- a/pytest_tests/testsuites/services/s3_gate/test_s3_locking.py +++ b/pytest_tests/testsuites/services/s3_gate/test_s3_locking.py @@ -4,8 +4,8 @@ from datetime import datetime, timedelta import allure import pytest from frostfs_testlib import reporter -from frostfs_testlib.s3 import S3ClientWrapper -from frostfs_testlib.steps.s3 import s3_helper +from frostfs_testlib.clients import S3ClientWrapper +from frostfs_testlib.steps import s3_helper from frostfs_testlib.storage.dataclasses.object_size import ObjectSize from frostfs_testlib.utils.file_utils import generate_file, generate_file_with_content diff --git a/pytest_tests/testsuites/services/s3_gate/test_s3_multipart.py b/pytest_tests/testsuites/services/s3_gate/test_s3_multipart.py index 592f05d..f7f25e6 100644 --- a/pytest_tests/testsuites/services/s3_gate/test_s3_multipart.py +++ b/pytest_tests/testsuites/services/s3_gate/test_s3_multipart.py @@ -1,10 +1,9 @@ import allure import pytest from frostfs_testlib import reporter -from frostfs_testlib.s3 import S3ClientWrapper, VersioningStatus -from frostfs_testlib.s3.interfaces import BucketContainerResolver +from frostfs_testlib.clients.s3 import BucketContainerResolver, S3ClientWrapper, VersioningStatus +from frostfs_testlib.steps import s3_helper from frostfs_testlib.steps.cli.container import list_objects -from frostfs_testlib.steps.s3 import s3_helper from frostfs_testlib.storage.dataclasses.object_size import ObjectSize from frostfs_testlib.storage.dataclasses.wallet import WalletInfo from frostfs_testlib.testing.cluster_test_base import ClusterTestBase diff --git a/pytest_tests/testsuites/services/s3_gate/test_s3_object.py b/pytest_tests/testsuites/services/s3_gate/test_s3_object.py index 4b58eaa..8ad2420 100644 --- a/pytest_tests/testsuites/services/s3_gate/test_s3_object.py +++ b/pytest_tests/testsuites/services/s3_gate/test_s3_object.py @@ -8,11 +8,12 @@ from typing import Literal import allure import pytest from frostfs_testlib import reporter +from frostfs_testlib.clients import AwsCliClient, S3ClientWrapper +from frostfs_testlib.clients.s3 import VersioningStatus from frostfs_testlib.resources.common import ASSETS_DIR, DEFAULT_WALLET_PASS from frostfs_testlib.resources.error_patterns import S3_BUCKET_DOES_NOT_ALLOW_ACL, S3_MALFORMED_XML_REQUEST from frostfs_testlib.resources.s3_acl_grants import PRIVATE_GRANTS -from frostfs_testlib.s3 import AwsCliClient, S3ClientWrapper, VersioningStatus -from frostfs_testlib.steps.s3 import s3_helper +from frostfs_testlib.steps import s3_helper from frostfs_testlib.storage.dataclasses.object_size import ObjectSize from frostfs_testlib.testing.test_control import expect_not_raises from frostfs_testlib.utils import wallet_utils diff --git a/pytest_tests/testsuites/services/s3_gate/test_s3_policy.py b/pytest_tests/testsuites/services/s3_gate/test_s3_policy.py index d533417..c99ad84 100644 --- a/pytest_tests/testsuites/services/s3_gate/test_s3_policy.py +++ b/pytest_tests/testsuites/services/s3_gate/test_s3_policy.py @@ -4,9 +4,8 @@ import allure import pytest from botocore.exceptions import ClientError from frostfs_testlib import reporter -from frostfs_testlib.s3 import S3ClientWrapper, VersioningStatus -from frostfs_testlib.s3.interfaces import BucketContainerResolver -from frostfs_testlib.steps.s3 import s3_helper +from frostfs_testlib.clients.s3 import BucketContainerResolver, S3ClientWrapper, VersioningStatus +from frostfs_testlib.steps import s3_helper from frostfs_testlib.steps.storage_policy import get_simple_object_copies from frostfs_testlib.storage.dataclasses.object_size import ObjectSize from frostfs_testlib.storage.dataclasses.wallet import WalletInfo diff --git a/pytest_tests/testsuites/services/s3_gate/test_s3_tagging.py b/pytest_tests/testsuites/services/s3_gate/test_s3_tagging.py index 4bcd14f..8b9bfd1 100644 --- a/pytest_tests/testsuites/services/s3_gate/test_s3_tagging.py +++ b/pytest_tests/testsuites/services/s3_gate/test_s3_tagging.py @@ -5,8 +5,8 @@ from typing import Tuple import allure import pytest from frostfs_testlib import reporter -from frostfs_testlib.s3 import S3ClientWrapper -from frostfs_testlib.steps.s3 import s3_helper +from frostfs_testlib.clients import S3ClientWrapper +from frostfs_testlib.steps import s3_helper from frostfs_testlib.storage.dataclasses.object_size import ObjectSize from frostfs_testlib.utils.file_utils import generate_file diff --git a/pytest_tests/testsuites/services/s3_gate/test_s3_versioning.py b/pytest_tests/testsuites/services/s3_gate/test_s3_versioning.py index 2cf1cb6..8758446 100644 --- a/pytest_tests/testsuites/services/s3_gate/test_s3_versioning.py +++ b/pytest_tests/testsuites/services/s3_gate/test_s3_versioning.py @@ -3,8 +3,8 @@ import os import allure import pytest from frostfs_testlib import reporter -from frostfs_testlib.s3 import S3ClientWrapper, VersioningStatus -from frostfs_testlib.steps.s3 import s3_helper +from frostfs_testlib.clients.s3 import S3ClientWrapper, VersioningStatus +from frostfs_testlib.steps import s3_helper from frostfs_testlib.storage.dataclasses.object_size import ObjectSize from frostfs_testlib.utils.file_utils import generate_file, generate_file_with_content, get_file_content