55import pytest
66import pytest_asyncio
77
8- from s2_sdk import S2 , Compression , Endpoints , S2Basin , S2Stream
8+ from s2_sdk import S2 , Compression , Endpoints , Retry , S2Basin , S2Stream
99
1010pytest_plugins = ["pytest_asyncio" ]
1111
@@ -50,22 +50,35 @@ def endpoints() -> Endpoints | None:
5050 return None
5151
5252
53+ @pytest .fixture (scope = "session" )
54+ def retry () -> Retry | None :
55+ return None
56+
57+
5358@pytest_asyncio .fixture (scope = "session" )
5459async def s2 (
55- access_token : str , compression : Compression , endpoints : Endpoints | None
60+ access_token : str ,
61+ compression : Compression ,
62+ endpoints : Endpoints | None ,
63+ retry : Retry | None ,
5664) -> AsyncGenerator [S2 , None ]:
57- async with S2 (access_token , endpoints = endpoints , compression = compression ) as s2 :
65+ async with S2 (
66+ access_token ,
67+ endpoints = endpoints ,
68+ compression = compression ,
69+ retry = retry ,
70+ ) as s2 :
5871 yield s2
5972
6073
6174@pytest .fixture
62- def basin_name () -> str :
63- return _basin_name ()
75+ def basin_name (basin_prefix : str ) -> str :
76+ return _basin_name (basin_prefix )
6477
6578
6679@pytest .fixture
67- def basin_names () -> list [str ]:
68- return [_basin_name () for _ in range (3 )]
80+ def basin_names (basin_prefix : str ) -> list [str ]:
81+ return [_basin_name (basin_prefix ) for _ in range (3 )]
6982
7083
7184@pytest .fixture
@@ -94,8 +107,8 @@ async def basin(s2: S2, basin_name: str) -> AsyncGenerator[S2Basin, None]:
94107
95108
96109@pytest_asyncio .fixture (scope = "class" )
97- async def shared_basin (s2 : S2 ) -> AsyncGenerator [S2Basin , None ]:
98- basin_name = _basin_name ()
110+ async def shared_basin (s2 : S2 , basin_prefix : str ) -> AsyncGenerator [S2Basin , None ]:
111+ basin_name = _basin_name (basin_prefix )
99112 await s2 .create_basin (name = basin_name )
100113
101114 try :
@@ -117,8 +130,12 @@ async def stream(
117130 await basin .delete_stream (stream_name )
118131
119132
120- def _basin_name () -> str :
121- return f"{ BASIN_PREFIX } -{ uuid .uuid4 ().hex [:8 ]} "
133+ def _basin_name (prefix : str ) -> str :
134+ suffix = uuid .uuid4 ().hex [:8 ]
135+ prefix = prefix .strip ("-" )[: 48 - len (suffix ) - 1 ].strip ("-" )
136+ if not prefix :
137+ return suffix
138+ return f"{ prefix } -{ suffix } "
122139
123140
124141def _stream_name () -> str :
0 commit comments