from typing import Any import pytest from frostfs_testlib.s3 import AwsCliClient, Boto3ClientWrapper from frostfs_testlib.storage.dataclasses.acl import EACLRole from frostfs_testlib.storage.dataclasses.frostfs_services import ( HTTPGate, InnerRing, MorphChain, S3Gate, StorageNode, ) from frostfs_testlib.storage.dataclasses.object_size import ObjectSize class TestDataclassesStr: """Here we are testing important classes string representation.""" @pytest.mark.parametrize( "obj, expected", [ (Boto3ClientWrapper, "Boto3 client"), (AwsCliClient, "AWS CLI"), (ObjectSize("simple", 1), "simple object size"), (ObjectSize("simple", 10), "simple object size"), (ObjectSize("complex", 5000), "complex object size"), (ObjectSize("complex", 5555), "complex object size"), (StorageNode, "StorageNode"), (MorphChain, "MorphChain"), (S3Gate, "S3Gate"), (HTTPGate, "HTTPGate"), (InnerRing, "InnerRing"), (EACLRole.OTHERS, "OTHERS"), ], ) def test_classes_string_representation(self, obj: Any, expected: str): assert f"{obj}" == expected assert repr(obj) == expected