from datetime import datetime import pytest from frostfs_testlib import reporter from frostfs_testlib.credentials.interfaces import CredentialsProvider, User from frostfs_testlib.storage.cluster import Cluster from frostfs_testlib.storage.dataclasses.wallet import WalletInfo @pytest.fixture(scope="module") def owner_wallet(credentials_provider: CredentialsProvider, cluster: Cluster) -> WalletInfo: with reporter.step("Create user wallet which owns containers and objects"): user = User(f"user_{hex(int(datetime.now().timestamp() * 1000000))}") return credentials_provider.GRPC.provide(user, cluster.cluster_nodes[0]) @pytest.fixture(scope="module") def user_wallet(credentials_provider: CredentialsProvider, cluster: Cluster) -> WalletInfo: with reporter.step("Create user wallet which will use objects from owner via static session"): user = User(f"user_{hex(int(datetime.now().timestamp() * 1000000))}") return credentials_provider.GRPC.provide(user, cluster.cluster_nodes[0]) @pytest.fixture(scope="module") def stranger_wallet(credentials_provider: CredentialsProvider, cluster: Cluster) -> WalletInfo: with reporter.step("Create stranger user wallet which should fail to obtain data"): user = User(f"user_{hex(int(datetime.now().timestamp() * 1000000))}") return credentials_provider.GRPC.provide(user, cluster.cluster_nodes[0])