Skip to content

Commit 274d04f

Browse files
committed
Add test
1 parent 5859063 commit 274d04f

File tree

1 file changed

+34
-10
lines changed

1 file changed

+34
-10
lines changed

changedetectionio/tests/test_request.py

+34-10
Original file line numberDiff line numberDiff line change
@@ -256,12 +256,32 @@ def test_method_in_request(client, live_server):
256256
def test_headers_textfile_in_request(client, live_server):
257257
#live_server_setup(live_server)
258258
# Add our URL to the import page
259+
260+
webdriver_ua = "Hello fancy webdriver UA 1.0"
261+
requests_ua = "Hello basic requests UA 1.1"
262+
259263
test_url = url_for('test_headers', _external=True)
260264
if os.getenv('PLAYWRIGHT_DRIVER_URL'):
261265
# Because its no longer calling back to localhost but from the browser container, set in test-only.yml
262266
test_url = test_url.replace('localhost', 'cdio')
263267

264-
print ("TEST URL IS ",test_url)
268+
form_data = {
269+
"application-fetch_backend": "html_requests",
270+
"application-minutes_between_check": 180,
271+
"requests-default_ua-html_requests": requests_ua
272+
}
273+
274+
if os.getenv('PLAYWRIGHT_DRIVER_URL'):
275+
form_data["requests-default_ua-html_webdriver"] = webdriver_ua
276+
277+
res = client.post(
278+
url_for("settings_page"),
279+
data=form_data,
280+
follow_redirects=True
281+
)
282+
assert b'Settings updated' in res.data
283+
284+
print("TEST URL IS ", test_url)
265285
# Add the test URL twice, we will check
266286
res = client.post(
267287
url_for("import_page"),
@@ -272,15 +292,14 @@ def test_headers_textfile_in_request(client, live_server):
272292

273293
wait_for_all_checks(client)
274294

275-
276295
# Add some headers to a request
277296
res = client.post(
278297
url_for("edit_page", uuid="first"),
279298
data={
280-
"url": test_url,
281-
"tags": "testtag",
282-
"fetch_backend": 'html_webdriver' if os.getenv('PLAYWRIGHT_DRIVER_URL') else 'html_requests',
283-
"headers": "xxx:ooo\ncool:yeah\r\n"},
299+
"url": test_url,
300+
"tags": "testtag",
301+
"fetch_backend": 'html_webdriver' if os.getenv('PLAYWRIGHT_DRIVER_URL') else 'html_requests',
302+
"headers": "xxx:ooo\ncool:yeah\r\n"},
284303
follow_redirects=True
285304
)
286305
assert b"Updated watch." in res.data
@@ -292,7 +311,7 @@ def test_headers_textfile_in_request(client, live_server):
292311
with open('test-datastore/headers.txt', 'w') as f:
293312
f.write("global-header: nice\r\nnext-global-header: nice")
294313

295-
with open('test-datastore/'+extract_UUID_from_client(client)+'/headers.txt', 'w') as f:
314+
with open('test-datastore/' + extract_UUID_from_client(client) + '/headers.txt', 'w') as f:
296315
f.write("watch-header: nice")
297316

298317
client.get(url_for("form_watch_checknow"), follow_redirects=True)
@@ -306,7 +325,7 @@ def test_headers_textfile_in_request(client, live_server):
306325
# Not needed anymore
307326
os.unlink('test-datastore/headers.txt')
308327
os.unlink('test-datastore/headers-testtag.txt')
309-
os.unlink('test-datastore/'+extract_UUID_from_client(client)+'/headers.txt')
328+
os.unlink('test-datastore/' + extract_UUID_from_client(client) + '/headers.txt')
310329
# The service should echo back the request verb
311330
res = client.get(
312331
url_for("preview_page", uuid="first"),
@@ -319,7 +338,12 @@ def test_headers_textfile_in_request(client, live_server):
319338
assert b"Watch-Header:nice" in res.data
320339
assert b"Tag-Header:test" in res.data
321340

341+
# Check the custom UA from system settings page made it through
342+
if os.getenv('PLAYWRIGHT_DRIVER_URL'):
343+
assert "User-Agent:".encode('utf-8') + webdriver_ua.encode('utf-8') in res.data
344+
else:
345+
assert "User-Agent:".encode('utf-8') + requests_ua.encode('utf-8') in res.data
322346

323-
#unlink headers.txt on start/stop
347+
# unlink headers.txt on start/stop
324348
res = client.get(url_for("form_delete", uuid="all"), follow_redirects=True)
325-
assert b'Deleted' in res.data
349+
assert b'Deleted' in res.data

0 commit comments

Comments
 (0)