@@ -256,12 +256,32 @@ def test_method_in_request(client, live_server):
256
256
def test_headers_textfile_in_request (client , live_server ):
257
257
#live_server_setup(live_server)
258
258
# 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
+
259
263
test_url = url_for ('test_headers' , _external = True )
260
264
if os .getenv ('PLAYWRIGHT_DRIVER_URL' ):
261
265
# Because its no longer calling back to localhost but from the browser container, set in test-only.yml
262
266
test_url = test_url .replace ('localhost' , 'cdio' )
263
267
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 )
265
285
# Add the test URL twice, we will check
266
286
res = client .post (
267
287
url_for ("import_page" ),
@@ -272,15 +292,14 @@ def test_headers_textfile_in_request(client, live_server):
272
292
273
293
wait_for_all_checks (client )
274
294
275
-
276
295
# Add some headers to a request
277
296
res = client .post (
278
297
url_for ("edit_page" , uuid = "first" ),
279
298
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\n cool: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\n cool:yeah\r \n " },
284
303
follow_redirects = True
285
304
)
286
305
assert b"Updated watch." in res .data
@@ -292,7 +311,7 @@ def test_headers_textfile_in_request(client, live_server):
292
311
with open ('test-datastore/headers.txt' , 'w' ) as f :
293
312
f .write ("global-header: nice\r \n next-global-header: nice" )
294
313
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 :
296
315
f .write ("watch-header: nice" )
297
316
298
317
client .get (url_for ("form_watch_checknow" ), follow_redirects = True )
@@ -306,7 +325,7 @@ def test_headers_textfile_in_request(client, live_server):
306
325
# Not needed anymore
307
326
os .unlink ('test-datastore/headers.txt' )
308
327
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' )
310
329
# The service should echo back the request verb
311
330
res = client .get (
312
331
url_for ("preview_page" , uuid = "first" ),
@@ -319,7 +338,12 @@ def test_headers_textfile_in_request(client, live_server):
319
338
assert b"Watch-Header:nice" in res .data
320
339
assert b"Tag-Header:test" in res .data
321
340
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
322
346
323
- #unlink headers.txt on start/stop
347
+ # unlink headers.txt on start/stop
324
348
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