forked from TrueCloudLab/frostfs-testlib
38 lines
1.2 KiB
Python
38 lines
1.2 KiB
Python
|
from typing import Any
|
||
|
|
||
|
import pytest
|
||
|
|
||
|
from frostfs_testlib.s3 import AwsCliClient, Boto3ClientWrapper
|
||
|
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"),
|
||
|
],
|
||
|
)
|
||
|
def test_classes_string_representation(self, obj: Any, expected: str):
|
||
|
assert f"{obj}" == expected
|
||
|
assert repr(obj) == expected
|