@@ -22,8 +22,8 @@ class StoreKwargs(TypedDict):
22
22
read_only : bool
23
23
24
24
25
- class TestObjectStore (StoreTests [ObjectStore , cpu .Buffer ]):
26
- store_cls = ObjectStore
25
+ class TestObjectStore (StoreTests [ObjectStore [ LocalStore ] , cpu .Buffer ]):
26
+ store_cls = ObjectStore [ LocalStore ]
27
27
buffer_cls = cpu .Buffer
28
28
29
29
@pytest .fixture
@@ -32,35 +32,35 @@ def store_kwargs(self, tmp_path: Path) -> StoreKwargs:
32
32
return {"store" : store , "read_only" : False }
33
33
34
34
@pytest .fixture
35
- def store (self , store_kwargs : StoreKwargs ) -> ObjectStore :
35
+ def store (self , store_kwargs : StoreKwargs ) -> ObjectStore [ LocalStore ] :
36
36
return self .store_cls (** store_kwargs )
37
37
38
- async def get (self , store : ObjectStore , key : str ) -> Buffer :
38
+ async def get (self , store : ObjectStore [ LocalStore ] , key : str ) -> Buffer :
39
39
assert isinstance (store .store , LocalStore )
40
40
new_local_store = LocalStore (prefix = store .store .prefix )
41
41
return self .buffer_cls .from_bytes (obstore .get (new_local_store , key ).bytes ())
42
42
43
- async def set (self , store : ObjectStore , key : str , value : Buffer ) -> None :
43
+ async def set (self , store : ObjectStore [ LocalStore ] , key : str , value : Buffer ) -> None :
44
44
assert isinstance (store .store , LocalStore )
45
45
new_local_store = LocalStore (prefix = store .store .prefix )
46
46
obstore .put (new_local_store , key , value .to_bytes ())
47
47
48
- def test_store_repr (self , store : ObjectStore ) -> None :
48
+ def test_store_repr (self , store : ObjectStore [ LocalStore ] ) -> None :
49
49
from fnmatch import fnmatch
50
50
51
51
pattern = "ObjectStore(object_store://LocalStore(*))"
52
52
assert fnmatch (f"{ store !r} " , pattern )
53
53
54
- def test_store_supports_writes (self , store : ObjectStore ) -> None :
54
+ def test_store_supports_writes (self , store : ObjectStore [ LocalStore ] ) -> None :
55
55
assert store .supports_writes
56
56
57
- def test_store_supports_partial_writes (self , store : ObjectStore ) -> None :
57
+ def test_store_supports_partial_writes (self , store : ObjectStore [ LocalStore ] ) -> None :
58
58
assert not store .supports_partial_writes
59
59
60
- def test_store_supports_listing (self , store : ObjectStore ) -> None :
60
+ def test_store_supports_listing (self , store : ObjectStore [ LocalStore ] ) -> None :
61
61
assert store .supports_listing
62
62
63
- def test_store_equal (self , store : ObjectStore ) -> None :
63
+ def test_store_equal (self , store : ObjectStore [ LocalStore ] ) -> None :
64
64
"""Test store equality"""
65
65
# Test equality against a different instance type
66
66
assert store != 0
@@ -78,15 +78,15 @@ def test_store_equal(self, store: ObjectStore) -> None:
78
78
def test_store_init_raises (self ) -> None :
79
79
"""Test __init__ raises appropriate error for improper store type"""
80
80
with pytest .raises (TypeError ):
81
- ObjectStore ("path/to/store" ) # type: ignore[arg- type]
81
+ ObjectStore ("path/to/store" ) # type: ignore[type-var ]
82
82
83
- async def test_store_getsize (self , store : ObjectStore ) -> None :
83
+ async def test_store_getsize (self , store : ObjectStore [ LocalStore ] ) -> None :
84
84
buf = cpu .Buffer .from_bytes (b"\x01 \x02 \x03 \x04 " )
85
85
await self .set (store , "key" , buf )
86
86
size = await store .getsize ("key" )
87
87
assert size == len (buf )
88
88
89
- async def test_store_getsize_prefix (self , store : ObjectStore ) -> None :
89
+ async def test_store_getsize_prefix (self , store : ObjectStore [ LocalStore ] ) -> None :
90
90
buf = cpu .Buffer .from_bytes (b"\x01 \x02 \x03 \x04 " )
91
91
await self .set (store , "c/key1/0" , buf )
92
92
await self .set (store , "c/key2/0" , buf )
0 commit comments