Skip to content

Commit f6c959f

Browse files
committed
fix some integration tests
1 parent 6a2eb8c commit f6c959f

File tree

9 files changed

+46
-37
lines changed

9 files changed

+46
-37
lines changed

src/apify_client/_resource_clients/dataset.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
from apify_shared.utils import create_storage_content_signature
99

10-
from apify_client._models import Dataset, GetDatasetStatisticsResponse
10+
from apify_client._models import Dataset, DatasetResponse, GetDatasetStatisticsResponse
1111
from apify_client._resource_clients.base import ResourceClient, ResourceClientAsync
1212
from apify_client._types import ListPage
1313
from apify_client._utils import catch_not_found_or_throw, filter_out_none_values_recursively, response_to_dict
@@ -41,7 +41,7 @@ def get(self) -> Dataset | None:
4141
The retrieved dataset, or None, if it does not exist.
4242
"""
4343
result = self._get(timeout_secs=_SMALL_TIMEOUT)
44-
return Dataset.model_validate(result) if result is not None else None
44+
return DatasetResponse.model_validate(result).data if result is not None else None
4545

4646
def update(self, *, name: str | None = None, general_access: StorageGeneralAccess | None = None) -> Dataset:
4747
"""Update the dataset with specified fields.
@@ -61,7 +61,7 @@ def update(self, *, name: str | None = None, general_access: StorageGeneralAcces
6161
}
6262

6363
result = self._update(filter_out_none_values_recursively(updated_fields), timeout_secs=_SMALL_TIMEOUT)
64-
return Dataset.model_validate(result)
64+
return DatasetResponse.model_validate(result).data
6565

6666
def delete(self) -> None:
6767
"""Delete the dataset.
@@ -657,7 +657,7 @@ async def get(self) -> Dataset | None:
657657
The retrieved dataset, or None, if it does not exist.
658658
"""
659659
result = await self._get(timeout_secs=_SMALL_TIMEOUT)
660-
return Dataset.model_validate(result) if result is not None else None
660+
return DatasetResponse.model_validate(result).data if result is not None else None
661661

662662
async def update(self, *, name: str | None = None, general_access: StorageGeneralAccess | None = None) -> Dataset:
663663
"""Update the dataset with specified fields.
@@ -677,7 +677,7 @@ async def update(self, *, name: str | None = None, general_access: StorageGenera
677677
}
678678

679679
result = await self._update(filter_out_none_values_recursively(updated_fields), timeout_secs=_SMALL_TIMEOUT)
680-
return Dataset.model_validate(result)
680+
return DatasetResponse.model_validate(result).data
681681

682682
async def delete(self) -> None:
683683
"""Delete the dataset.

src/apify_client/_resource_clients/dataset_collection.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
from typing import TYPE_CHECKING, Any
44

5-
from apify_client._models import Dataset, DatasetListItem
5+
from apify_client._models import Dataset, DatasetListItem, DatasetResponse
66
from apify_client._resource_clients.base import ResourceCollectionClient, ResourceCollectionClientAsync
77
from apify_client._utils import filter_out_none_values_recursively
88

@@ -53,7 +53,7 @@ def get_or_create(self, *, name: str | None = None, schema: dict | None = None)
5353
The retrieved or newly-created dataset.
5454
"""
5555
result = self._get_or_create(name=name, resource=filter_out_none_values_recursively({'schema': schema}))
56-
return Dataset.model_validate(result)
56+
return DatasetResponse.model_validate(result).data
5757

5858

5959
class DatasetCollectionClientAsync(ResourceCollectionClientAsync):
@@ -104,4 +104,4 @@ async def get_or_create(
104104
The retrieved or newly-created dataset.
105105
"""
106106
result = await self._get_or_create(name=name, resource=filter_out_none_values_recursively({'schema': schema}))
107-
return Dataset.model_validate(result)
107+
return DatasetResponse.model_validate(result).data

src/apify_client/_resource_clients/key_value_store.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
from apify_shared.utils import create_hmac_signature, create_storage_content_signature
99

10-
from apify_client._models import KeyValueStore, ListOfKeysResponse
10+
from apify_client._models import GetStoreResponse, KeyValueStore, ListOfKeysResponse
1111
from apify_client._resource_clients.base import ResourceClient, ResourceClientAsync
1212
from apify_client._utils import (
1313
catch_not_found_or_throw,
@@ -42,7 +42,7 @@ def get(self) -> KeyValueStore | None:
4242
The retrieved key-value store, or None if it does not exist.
4343
"""
4444
result = self._get(timeout_secs=_SMALL_TIMEOUT)
45-
return KeyValueStore.model_validate(result) if result is not None else None
45+
return GetStoreResponse.model_validate(result).data if result is not None else None
4646

4747
def update(self, *, name: str | None = None, general_access: StorageGeneralAccess | None = None) -> KeyValueStore:
4848
"""Update the key-value store with specified fields.
@@ -62,7 +62,7 @@ def update(self, *, name: str | None = None, general_access: StorageGeneralAcces
6262
}
6363

6464
result = self._update(filter_out_none_values_recursively(updated_fields))
65-
return KeyValueStore.model_validate(result)
65+
return GetStoreResponse.model_validate(result).data
6666

6767
def delete(self) -> None:
6868
"""Delete the key-value store.
@@ -369,7 +369,7 @@ async def get(self) -> KeyValueStore | None:
369369
The retrieved key-value store, or None if it does not exist.
370370
"""
371371
result = await self._get(timeout_secs=_SMALL_TIMEOUT)
372-
return KeyValueStore.model_validate(result) if result is not None else None
372+
return GetStoreResponse.model_validate(result).data if result is not None else None
373373

374374
async def update(
375375
self,
@@ -394,7 +394,7 @@ async def update(
394394
}
395395

396396
result = await self._update(filter_out_none_values_recursively(updated_fields))
397-
return KeyValueStore.model_validate(result)
397+
return GetStoreResponse.model_validate(result).data
398398

399399
async def delete(self) -> None:
400400
"""Delete the key-value store.

src/apify_client/_resource_clients/key_value_store_collection.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
from typing import TYPE_CHECKING, Any
44

5-
from apify_client._models import KeyValueStore
5+
from apify_client._models import CreateKeyValueStoreResponse, KeyValueStore
66
from apify_client._resource_clients.base import ResourceCollectionClient, ResourceCollectionClientAsync
77
from apify_client._utils import filter_out_none_values_recursively
88

@@ -58,7 +58,7 @@ def get_or_create(
5858
The retrieved or newly-created key-value store.
5959
"""
6060
result = self._get_or_create(name=name, resource=filter_out_none_values_recursively({'schema': schema}))
61-
return KeyValueStore.model_validate(result)
61+
return CreateKeyValueStoreResponse.model_validate(result).data
6262

6363

6464
class KeyValueStoreCollectionClientAsync(ResourceCollectionClientAsync):
@@ -109,4 +109,4 @@ async def get_or_create(
109109
The retrieved or newly-created key-value store.
110110
"""
111111
result = await self._get_or_create(name=name, resource=filter_out_none_values_recursively({'schema': schema}))
112-
return KeyValueStore.model_validate(result)
112+
return CreateKeyValueStoreResponse.model_validate(result).data

src/apify_client/_resource_clients/request_queue.py

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,12 @@
1010
from more_itertools import constrained_batches
1111

1212
from apify_client._models import (
13+
AddRequestResponse,
1314
BatchOperationResponse,
1415
Data12,
1516
GetHeadAndLockResponse,
1617
GetHeadResponse,
18+
GetRequestQueueResponse,
1719
ListRequestsResponse,
1820
ProcessedRequest,
1921
ProlongRequestLockResponse,
@@ -68,7 +70,7 @@ def get(self) -> RequestQueue | None:
6870
The retrieved request queue, or None, if it does not exist.
6971
"""
7072
result = self._get(timeout_secs=_SMALL_TIMEOUT)
71-
return RequestQueue.model_validate(result) if result is not None else None
73+
return GetRequestQueueResponse.model_validate(result).data if result is not None else None
7274

7375
def update(self, *, name: str | None = None, general_access: StorageGeneralAccess | None = None) -> RequestQueue:
7476
"""Update the request queue with specified fields.
@@ -88,7 +90,7 @@ def update(self, *, name: str | None = None, general_access: StorageGeneralAcces
8890
}
8991

9092
result = self._update(filter_out_none_values_recursively(updated_fields), timeout_secs=_SMALL_TIMEOUT)
91-
return RequestQueue.model_validate(result)
93+
return GetRequestQueueResponse.model_validate(result).data
9294

9395
def delete(self) -> None:
9496
"""Delete the request queue.
@@ -167,7 +169,7 @@ def add_request(self, request: dict, *, forefront: bool | None = None) -> Reques
167169
)
168170

169171
result = response.json()
170-
return RequestOperationInfo.model_validate(result)
172+
return AddRequestResponse.model_validate(result).data
171173

172174
def get_request(self, request_id: str) -> RequestQueueItems | None:
173175
"""Retrieve a request from the queue.
@@ -220,7 +222,7 @@ def update_request(self, request: dict, *, forefront: bool | None = None) -> Req
220222
)
221223

222224
result = response.json()
223-
return RequestOperationInfo.model_validate(result)
225+
return AddRequestResponse.model_validate(result).data
224226

225227
def delete_request(self, request_id: str) -> None:
226228
"""Delete a request from the queue.
@@ -462,7 +464,7 @@ async def get(self) -> RequestQueue | None:
462464
The retrieved request queue, or None, if it does not exist.
463465
"""
464466
result = await self._get(timeout_secs=_SMALL_TIMEOUT)
465-
return RequestQueue.model_validate(result) if result is not None else None
467+
return GetRequestQueueResponse.model_validate(result).data if result is not None else None
466468

467469
async def update(
468470
self,
@@ -487,7 +489,7 @@ async def update(
487489
}
488490

489491
result = await self._update(filter_out_none_values_recursively(updated_fields), timeout_secs=_SMALL_TIMEOUT)
490-
return RequestQueue.model_validate(result)
492+
return GetRequestQueueResponse.model_validate(result).data
491493

492494
async def delete(self) -> None:
493495
"""Delete the request queue.
@@ -566,7 +568,7 @@ async def add_request(self, request: dict, *, forefront: bool | None = None) ->
566568
)
567569

568570
result = response.json()
569-
return RequestOperationInfo.model_validate(result)
571+
return AddRequestResponse.model_validate(result).data
570572

571573
async def get_request(self, request_id: str) -> RequestQueueItems | None:
572574
"""Retrieve a request from the queue.
@@ -619,7 +621,7 @@ async def update_request(self, request: dict, *, forefront: bool | None = None)
619621
)
620622

621623
result = response.json()
622-
return RequestOperationInfo.model_validate(result)
624+
return AddRequestResponse.model_validate(result).data
623625

624626
async def delete_request(self, request_id: str) -> None:
625627
"""Delete a request from the queue.

src/apify_client/_resource_clients/request_queue_collection.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
from typing import TYPE_CHECKING, Any
44

5-
from apify_client._models import RequestQueue, RequestQueueShort
5+
from apify_client._models import CreateRequestQueueResponse, RequestQueue, RequestQueueShort
66
from apify_client._resource_clients.base import ResourceCollectionClient, ResourceCollectionClientAsync
77

88
if TYPE_CHECKING:
@@ -51,7 +51,7 @@ def get_or_create(self, *, name: str | None = None) -> RequestQueue:
5151
The retrieved or newly-created request queue.
5252
"""
5353
result = self._get_or_create(name=name)
54-
return RequestQueue.model_validate(result)
54+
return CreateRequestQueueResponse.model_validate(result).data
5555

5656

5757
class RequestQueueCollectionClientAsync(ResourceCollectionClientAsync):
@@ -96,4 +96,4 @@ async def get_or_create(self, *, name: str | None = None) -> RequestQueue:
9696
The retrieved or newly-created request queue.
9797
"""
9898
result = await self._get_or_create(name=name)
99-
return RequestQueue.model_validate(result)
99+
return CreateRequestQueueResponse.model_validate(result).data

src/apify_client/_resource_clients/user.py

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,14 @@
22

33
from typing import Any
44

5-
from apify_client._models import AccountLimits, MonthlyUsage, UserPrivateInfo, UserPublicInfo
5+
from apify_client._models import (
6+
AccountLimits,
7+
GetPrivateUserDataResponse,
8+
GetPublicUserDataResponse,
9+
MonthlyUsage,
10+
UserPrivateInfo,
11+
UserPublicInfo,
12+
)
613
from apify_client._resource_clients.base import ResourceClient, ResourceClientAsync
714
from apify_client._utils import catch_not_found_or_throw, filter_out_none_values_recursively, response_to_dict
815
from apify_client.errors import ApifyApiError
@@ -33,9 +40,9 @@ def get(self) -> UserPublicInfo | UserPrivateInfo | None:
3340
return None
3441
# Try to parse as UserPrivateInfo first (has more fields), fall back to UserPublicInfo
3542
try:
36-
return UserPrivateInfo.model_validate(result)
43+
return GetPrivateUserDataResponse.model_validate(result).data
3744
except Exception:
38-
return UserPublicInfo.model_validate(result)
45+
return GetPublicUserDataResponse.model_validate(result).data
3946

4047
def monthly_usage(self) -> MonthlyUsage | None:
4148
"""Return monthly usage of the user account.
@@ -133,9 +140,9 @@ async def get(self) -> UserPublicInfo | UserPrivateInfo | None:
133140
return None
134141
# Try to parse as UserPrivateInfo first (has more fields), fall back to UserPublicInfo
135142
try:
136-
return UserPrivateInfo.model_validate(result)
143+
return GetPrivateUserDataResponse.model_validate(result).data
137144
except Exception:
138-
return UserPublicInfo.model_validate(result)
145+
return GetPublicUserDataResponse.model_validate(result).data
139146

140147
async def monthly_usage(self) -> MonthlyUsage | None:
141148
"""Return monthly usage of the user account.

tests/integration/test_apify_client.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
from typing import TYPE_CHECKING
44

5-
from apify_client._models import UserPrivateInfo
5+
from apify_client._models import UserPrivateInfo, UserPublicInfo
66

77
if TYPE_CHECKING:
88
from apify_client import ApifyClient, ApifyClientAsync
@@ -11,14 +11,12 @@
1111
def test_apify_client_sync(apify_client: ApifyClient) -> None:
1212
user_client = apify_client.user('me')
1313
me = user_client.get()
14-
assert isinstance(me, UserPrivateInfo)
15-
assert me.id is not None
14+
assert isinstance(me, (UserPrivateInfo, UserPublicInfo))
1615
assert me.username is not None
1716

1817

1918
async def test_apify_client_async(apify_client_async: ApifyClientAsync) -> None:
2019
user_client = apify_client_async.user('me')
2120
me = await user_client.get()
22-
assert isinstance(me, UserPrivateInfo)
23-
assert me.id is not None
21+
assert isinstance(me, (UserPrivateInfo, UserPublicInfo))
2422
assert me.username is not None

tests/integration/test_dataset.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@
2121
"createdAt": "2025-09-11T08:48:51.806Z",
2222
"modifiedAt": "2025-09-11T08:48:51.806Z",
2323
"accessedAt": "2025-09-11T08:48:51.806Z",
24+
"itemCount": 0,
25+
"cleanItemCount": 0,
2426
"actId": null,
2527
"actRunId": null,
2628
"schema": null,

0 commit comments

Comments
 (0)