Skip to content

Commit e0fb7ae

Browse files
committed
chore: fix tests
1 parent 2a5b1d9 commit e0fb7ae

15 files changed

Lines changed: 60 additions & 59 deletions

File tree

ckanext/files/base.py

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313

1414
import dataclasses
1515
from time import time
16-
from typing import Any, cast
16+
from typing import Any, ClassVar, cast
1717

1818
import file_keeper as fk
1919
import flask
@@ -113,11 +113,13 @@ class Storage(fk.Storage):
113113

114114
settings: Settings
115115
reader: Reader
116+
uploader: Uploader
117+
manager: Manager
116118

117-
SettingsFactory: type[Settings] = Settings # pyright: ignore[reportIncompatibleVariableOverride]
118-
ReaderFactory: type[Reader] = Reader # pyright: ignore[reportIncompatibleVariableOverride]
119-
UploaderFactory: type[Uploader] # pyright: ignore[reportIncompatibleVariableOverride]
120-
ManagerFactory: type[Manager] # pyright: ignore[reportIncompatibleVariableOverride]
119+
SettingsFactory: ClassVar[type[Settings]] = Settings # pyright: ignore[reportIncompatibleVariableOverride]
120+
UploaderFactory: ClassVar[type[Uploader]] = Uploader # pyright: ignore[reportIncompatibleVariableOverride]
121+
ReaderFactory: ClassVar[type[Reader]] = Reader # pyright: ignore[reportIncompatibleVariableOverride]
122+
ManagerFactory: ClassVar[type[Manager]] = Manager # pyright: ignore[reportIncompatibleVariableOverride]
121123

122124
def validate_size(self, size: int):
123125
max_size = self.settings.max_size
@@ -140,11 +142,11 @@ def upload(self, location: fk.Location, upload: fk.Upload, /, **kwargs: Any) ->
140142
return super().upload(location, upload, **kwargs)
141143

142144
@override
143-
def multipart_start(self, data: FileData, /, **kwargs: Any) -> FileData:
144-
self.validate_size(data.size)
145-
self.validate_content_type(data.content_type)
145+
def multipart_start(self, location: fk.Location, size: int, /, **kwargs: Any) -> FileData:
146+
self.validate_size(size)
147+
self.validate_content_type(kwargs.get("content_type", ""))
146148

147-
return super().multipart_start(data, **kwargs)
149+
return super().multipart_start(location, size, **kwargs)
148150

149151
@override
150152
def temporal_link(self, data: FileData, duration: int, /, **kwargs: Any) -> str:

ckanext/files/logic/validators.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ def files_file_into_public_url(
9090
use_list = isinstance(value, list)
9191
ids = value if use_list else [value]
9292
result = []
93-
sess = context["session"] # pyright: ignore[reportTypedDictNotRequiredAccess]
93+
sess = context["session"]
9494
for file_id in ids:
9595
file = sess.get(shared.File, file_id)
9696
if not file:
@@ -188,7 +188,7 @@ def validator(
188188
if not file_id:
189189
return
190190
file_id = file_id.rsplit("/", 1)[-1]
191-
sess = context["session"] # pyright: ignore[reportTypedDictNotRequiredAccess]
191+
sess = context["session"]
192192
file = sess.get(shared.File, file_id)
193193

194194
if file:
@@ -209,7 +209,7 @@ def validator(
209209
value: str | list[str] = data[key]
210210

211211
ids = value if isinstance(value, list) else [value]
212-
sess = context["session"] # pyright: ignore[reportTypedDictNotRequiredAccess]
212+
sess = context["session"]
213213
for file_id in ids:
214214
file = sess.get(shared.File, file_id)
215215
if not file:
@@ -240,7 +240,7 @@ def validator(
240240
value: str | list[str] = data[key]
241241

242242
ids = value if isinstance(value, list) else [value]
243-
sess = context["session"] # pyright: ignore[reportTypedDictNotRequiredAccess]
243+
sess = context["session"]
244244

245245
for file_id in ids:
246246
file = sess.get(shared.File, file_id)
@@ -368,7 +368,7 @@ def validator(
368368
context: Context,
369369
):
370370
value = data[key]
371-
sess = context["session"] # pyright: ignore[reportTypedDictNotRequiredAccess]
371+
sess = context["session"]
372372

373373
file = sess.get(shared.File, value)
374374
if not file or not hasattr(file, attribute):

ckanext/files/model/file.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -165,9 +165,7 @@ def patch_data(
165165

166166
@classmethod
167167
def by_location(cls, location: str, storage: str):
168-
stmt = sa.select(cls).where(
168+
return sa.select(cls).where(
169169
cls.location == location,
170170
cls.storage == storage,
171171
)
172-
173-
return stmt

ckanext/files/storage/db.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,14 @@ class Settings(shared.Settings, sqlalchemy.Settings):
1313
pass
1414

1515

16-
class DbStorage(shared.Storage, sqlalchemy.SqlAlchemyStorage):
16+
class DbStorage(shared.Storage, sqlalchemy.SqlAlchemyStorage): # pyright: ignore[reportIncompatibleVariableOverride]
1717
hidden = True
1818

1919
settings: Settings # pyright: ignore[reportIncompatibleVariableOverride]
2020
SettingsFactory = Settings
2121
ReaderFactory = type("Reader", (shared.Reader, sqlalchemy.Reader), {})
22+
ManagerFactory = type("Manager", (shared.Manager, sqlalchemy.Manager), {})
23+
UploaderFactory = type("Uploader", (shared.Uploader, sqlalchemy.Uploader), {})
2224

2325
@override
2426
@classmethod

ckanext/files/storage/filebin.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ class Settings(shared.Settings, filebin.Settings):
1515
pass
1616

1717

18-
class FilebinStorage(shared.Storage, filebin.FilebinStorage):
18+
class FilebinStorage(shared.Storage, filebin.FilebinStorage): # pyright: ignore[reportIncompatibleVariableOverride]
1919
hidden = True
2020

2121
settings: Settings # pyright: ignore[reportIncompatibleVariableOverride]

ckanext/files/storage/fs.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -35,12 +35,14 @@ def response(self, data: shared.FileData, extras: dict[str, Any]) -> types.Respo
3535
)
3636

3737

38-
class FsStorage(shared.Storage, fs.FsStorage):
38+
class FsStorage(shared.Storage, fs.FsStorage): # pyright: ignore[reportIncompatibleVariableOverride]
3939
"""Store files in local filesystem."""
4040

4141
settings: Settings # pyright: ignore[reportIncompatibleVariableOverride]
42-
SettingsFactory: type[shared.Settings] = Settings
43-
ReaderFactory: type[shared.Reader] = Reader
42+
SettingsFactory: type[shared.Settings] = Settings # pyright: ignore[reportIncompatibleVariableOverride]
43+
ReaderFactory: type[shared.Reader] = Reader # pyright: ignore[reportIncompatibleVariableOverride]
44+
UploaderFactory = type("Uploader", (shared.Uploader, fs.Uploader), {})
45+
ManagerFactory = type("Manager", (shared.Manager, fs.Manager), {})
4446

4547

4648
class PublicFsReader(Reader):
@@ -82,5 +84,4 @@ def declare_config_options(cls, declaration: Declaration, key: Key):
8284

8385

8486
class CkanResourceFsStorage(FsStorage):
85-
def __init__(self, settings: Any):
86-
super().__init__(settings)
87+
pass

ckanext/files/storage/google_cloud.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,14 @@ class Settings(shared.Settings, gcs.Settings):
2525
pass
2626

2727

28-
class GoogleCloudStorage(shared.Storage, gcs.GoogleCloudStorage):
28+
class GoogleCloudStorage(shared.Storage, gcs.GoogleCloudStorage): # pyright: ignore[reportIncompatibleVariableOverride]
2929
hidden = True
3030

3131
settings: Settings # pyright: ignore[reportIncompatibleVariableOverride]
3232
SettingsFactory = Settings
3333
ReaderFactory = type("Reader", (shared.Reader, gcs.GoogleCloudStorage.ReaderFactory), {})
34+
ManagerFactory = type("Manager", (shared.Manager, gcs.GoogleCloudStorage.ManagerFactory), {})
35+
UploaderFactory = type("Uploader", (shared.Uploader, gcs.GoogleCloudStorage.UploaderFactory), {})
3436

3537
@override
3638
@classmethod

ckanext/files/storage/libcloud.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,12 @@ class Settings(shared.Settings, lc.Settings):
2020
pass
2121

2222

23-
class LibCloudStorage(shared.Storage, lc.LibCloudStorage):
23+
class LibCloudStorage(shared.Storage, lc.LibCloudStorage): # pyright: ignore[reportIncompatibleVariableOverride]
2424
settings: Settings # pyright: ignore[reportIncompatibleVariableOverride]
2525
SettingsFactory = Settings
2626
ReaderFactory = type("Reader", (shared.Reader, lc.Reader), {})
27+
ManagerFactory = type("Manager", (shared.Manager, lc.Manager), {})
28+
UploaderFactory = type("Uploader", (shared.Uploader, lc.Uploader), {})
2729

2830
@override
2931
@classmethod

ckanext/files/storage/opendal.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,12 @@ class Settings(shared.Settings, od.Settings):
1515
pass
1616

1717

18-
class OpenDalStorage(shared.Storage, od.OpenDalStorage):
18+
class OpenDalStorage(shared.Storage, od.OpenDalStorage): # pyright: ignore[reportIncompatibleVariableOverride]
1919
settings: Settings # pyright: ignore[reportIncompatibleVariableOverride]
2020
SettingsFactory = Settings
2121
ReaderFactory = type("Reader", (shared.Reader, od.Reader), {})
22+
ManagerFactory = type("Manager", (shared.Manager, od.Manager), {})
23+
UploaderFactory = type("Uploader", (shared.Uploader, od.Uploader), {})
2224

2325
@override
2426
@classmethod

ckanext/files/storage/redis.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,12 @@ class Settings(shared.Settings, rd.Settings):
2020
pass
2121

2222

23-
class RedisStorage(shared.Storage, rd.RedisStorage):
23+
class RedisStorage(shared.Storage, rd.RedisStorage): # pyright: ignore[reportIncompatibleVariableOverride]
2424
settings: Settings # pyright: ignore[reportIncompatibleVariableOverride]
2525
SettingsFactory = Settings
2626
ReaderFactory = type("Reader", (shared.Reader, rd.Reader), {})
27+
ManagerFactory = type("Manager", (shared.Manager, rd.Manager), {})
28+
UploaderFactory = type("Uploader", (shared.Uploader, rd.Uploader), {})
2729

2830
@override
2931
@classmethod

0 commit comments

Comments
 (0)