Skip to content

Commit 8825268

Browse files
committed
fix: Make typing match current specs
1 parent 8697311 commit 8825268

File tree

2 files changed

+27
-9
lines changed

2 files changed

+27
-9
lines changed

pylacus/api.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -74,8 +74,8 @@ class CaptureSettings(TypedDict, total=False):
7474
user_agent: str | None
7575
proxy: str | dict[str, str] | None
7676
general_timeout_in_sec: int | None
77-
cookies: list[dict[str, Any]] | None
78-
storage: dict[str, Any] | None
77+
cookies: str | dict[str, str] | list[dict[str, Any]] | None
78+
storage: str | dict[str, Any] | None
7979
headers: str | dict[str, str] | None
8080
http_credentials: dict[str, str] | None
8181
geolocation: dict[str, float] | None
@@ -149,8 +149,8 @@ def enqueue(self, *,
149149
user_agent: str | None=None,
150150
proxy: str | dict[str, str] | None=None,
151151
general_timeout_in_sec: int | None=None,
152-
cookies: list[dict[str, Any]] | None=None,
153-
storage: dict[str, Any] | None=None,
152+
cookies: str | dict[str, str] | list[dict[str, Any]] | None=None,
153+
storage: str | dict[str, Any] | None=None,
154154
headers: str | dict[str, str] | None=None,
155155
http_credentials: dict[str, str] | None=None,
156156
geolocation: dict[str, float] | None=None,
@@ -181,8 +181,8 @@ def enqueue(self, *,
181181
user_agent: str | None=None,
182182
proxy: str | dict[str, str] | None=None,
183183
general_timeout_in_sec: int | None=None,
184-
cookies: list[dict[str, Any]] | None=None,
185-
storage: dict[str, Any] | None=None,
184+
cookies: str | dict[str, str] | list[dict[str, Any]] | None=None,
185+
storage: str | dict[str, Any] | None=None,
186186
headers: str | dict[str, str] | None=None,
187187
http_credentials: dict[str, str] | None=None,
188188
geolocation: dict[str, float] | None=None,

tests/test_web.py

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import unittest
66

77
from datetime import datetime
8+
from typing import Any
89

910
from pylacus import PyLacus
1011
from pylacus.api import CaptureStatus
@@ -39,11 +40,15 @@ def test_submit_cookies(self) -> None:
3940
break
4041
time.sleep(5)
4142
response = self.client.get_capture(uuid)
43+
if not response['cookies']:
44+
self.fail("No cookies found")
45+
if not response['storage'] or 'cookies' not in response['storage']:
46+
self.fail("No storage found")
4247
self.assertEqual(len(response['cookies']), 1)
4348
self.assertEqual(response['cookies'][0]['domain'], 'circl.lu')
4449
self.assertEqual(response['cookies'], response['storage']['cookies'])
4550

46-
cookie_from_capture = response['cookies'][0]
51+
cookie_from_capture: dict[str, Any] = response['cookies'][0]
4752
expires = datetime.now().timestamp() + 3600
4853
cookie_from_capture['expires'] = expires
4954
uuid = self.client.enqueue(url="circl.lu", cookies=cookie_from_capture, max_retries=0)
@@ -53,10 +58,12 @@ def test_submit_cookies(self) -> None:
5358
break
5459
time.sleep(5)
5560
response = self.client.get_capture(uuid)
61+
if not response['cookies']:
62+
self.fail("No cookies found")
5663
self.assertEqual(response['cookies'][0]['expires'], expires)
5764

5865
# Send list
59-
cookies_from_capture = response['cookies']
66+
cookies_from_capture: list[dict[str, Any]] = response['cookies']
6067
expires = datetime.now().timestamp() + 4000
6168
cookies_from_capture[0]['expires'] = expires
6269
uuid = self.client.enqueue(url="circl.lu", cookies=cookies_from_capture, max_retries=0)
@@ -66,6 +73,8 @@ def test_submit_cookies(self) -> None:
6673
break
6774
time.sleep(5)
6875
response = self.client.get_capture(uuid)
76+
if not response['cookies']:
77+
self.fail("No cookies found")
6978
self.assertEqual(response['cookies'][0]['expires'], expires)
7079

7180
# Send list as json
@@ -77,7 +86,8 @@ def test_submit_cookies(self) -> None:
7786
break
7887
time.sleep(5)
7988
response = self.client.get_capture(uuid)
80-
self.assertEqual(response['cookies'][0]['expires'], expires, response['cookies'])
89+
if response['cookies']:
90+
self.assertEqual(response['cookies'][0]['expires'], expires, response['cookies'])
8191

8292
def test_submit_storage(self) -> None:
8393
uuid = self.client.enqueue(url="https://mdn.github.io/dom-examples/web-storage/",
@@ -89,6 +99,8 @@ def test_submit_storage(self) -> None:
8999
time.sleep(5)
90100
response = self.client.get_capture(uuid)
91101
storage = response['storage']
102+
if not storage or 'origins' not in storage or not storage['origins']:
103+
self.fail("No storage found")
92104
self.assertEqual(storage['origins'][0]['origin'], 'https://mdn.github.io')
93105
self.assertEqual(len(storage['origins'][0]['localStorage']), 3)
94106
for item in storage['origins'][0]['localStorage']:
@@ -118,6 +130,8 @@ def test_submit_storage(self) -> None:
118130
time.sleep(5)
119131
response = self.client.get_capture(uuid)
120132
storage = response['storage']
133+
if not storage or 'origins' not in storage or not storage['origins']:
134+
self.fail("No storage found")
121135
self.assertEqual(storage['origins'][0]['origin'], 'https://mdn.github.io')
122136
self.assertEqual(len(storage['origins'][0]['localStorage']), 3)
123137
for item in storage['origins'][0]['localStorage']:
@@ -140,6 +154,8 @@ def test_submit_indexeddb(self) -> None:
140154
time.sleep(5)
141155
response = self.client.get_capture(uuid)
142156
storage = response['storage']
157+
if not storage or 'origins' not in storage or not storage['origins']:
158+
self.fail("No storage found")
143159
self.assertEqual(storage['origins'][0]['origin'], 'https://mdn.github.io')
144160
self.assertEqual(len(storage['origins'][0]['indexedDB']), 1)
145161
indexeddb = storage['origins'][0]['indexedDB'][0]
@@ -162,6 +178,8 @@ def test_submit_indexeddb(self) -> None:
162178
time.sleep(5)
163179
response = self.client.get_capture(uuid)
164180
storage = response['storage']
181+
if not storage or 'origins' not in storage or not storage['origins']:
182+
self.fail("No storage found")
165183
self.assertEqual(storage['origins'][0]['origin'], 'https://mdn.github.io')
166184
self.assertEqual(len(storage['origins'][0]['indexedDB']), 1)
167185
indexeddb = storage['origins'][0]['indexedDB'][0]

0 commit comments

Comments
 (0)