Refactor code layout, add extra tests
Some checks failed
Build and push containers / metadata (push) Has been cancelled
Build and push containers / build-push-containers (push) Has been cancelled
Publish Python 🐍distribution 📦 to PyPI and TestPyPI / Build distribution 📦 (push) Has been cancelled
ChangeDetection.io App Test / lint-code (push) Has been cancelled
Publish Python 🐍distribution 📦 to PyPI and TestPyPI / Test the built 📦 package works basically. (push) Has been cancelled
Publish Python 🐍distribution 📦 to PyPI and TestPyPI / Publish Python 🐍 distribution 📦 to PyPI (push) Has been cancelled
ChangeDetection.io App Test / test-application-3-10 (push) Has been cancelled
ChangeDetection.io App Test / test-application-3-11 (push) Has been cancelled
ChangeDetection.io App Test / test-application-3-12 (push) Has been cancelled
ChangeDetection.io App Test / test-application-3-13 (push) Has been cancelled
CodeQL / Analyze (javascript) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled

This commit is contained in:
dgtlmoon
2025-03-18 10:40:22 +01:00
committed by GitHub
parent 7e7d5dc383
commit 73189672c3
89 changed files with 2541 additions and 1836 deletions

View File

@@ -19,7 +19,7 @@ def test_headers_in_request(client, live_server, measure_memory_usage):
# Add the test URL twice, we will check
res = client.post(
url_for("import_page"),
url_for("imports.import_page"),
data={"urls": test_url},
follow_redirects=True
)
@@ -28,7 +28,7 @@ def test_headers_in_request(client, live_server, measure_memory_usage):
wait_for_all_checks(client)
res = client.post(
url_for("import_page"),
url_for("imports.import_page"),
data={"urls": test_url},
follow_redirects=True
)
@@ -40,7 +40,7 @@ def test_headers_in_request(client, live_server, measure_memory_usage):
# Add some headers to a request
res = client.post(
url_for("edit_page", uuid="first"),
url_for("ui.ui_edit.edit_page", uuid="first"),
data={
"url": test_url,
"tags": "",
@@ -56,7 +56,7 @@ def test_headers_in_request(client, live_server, measure_memory_usage):
# The service should echo back the request headers
res = client.get(
url_for("preview_page", uuid="first"),
url_for("ui.ui_views.preview_page", uuid="first"),
follow_redirects=True
)
@@ -82,7 +82,7 @@ def test_headers_in_request(client, live_server, measure_memory_usage):
for k, watch in client.application.config.get('DATASTORE').data.get('watching').items():
assert 'custom' in watch.get('remote_server_reply') # added in util.py
res = client.get(url_for("form_delete", uuid="all"), follow_redirects=True)
res = client.get(url_for("ui.form_delete", uuid="all"), follow_redirects=True)
assert b'Deleted' in res.data
def test_body_in_request(client, live_server, measure_memory_usage):
@@ -94,7 +94,7 @@ def test_body_in_request(client, live_server, measure_memory_usage):
test_url = test_url.replace('localhost', 'cdio')
res = client.post(
url_for("import_page"),
url_for("imports.import_page"),
data={"urls": test_url},
follow_redirects=True
)
@@ -104,7 +104,7 @@ def test_body_in_request(client, live_server, measure_memory_usage):
# add the first 'version'
res = client.post(
url_for("edit_page", uuid="first"),
url_for("ui.ui_edit.edit_page", uuid="first"),
data={
"url": test_url,
"tags": "",
@@ -121,7 +121,7 @@ def test_body_in_request(client, live_server, measure_memory_usage):
body_value = 'Test Body Value {{ 1+1 }}'
body_value_formatted = 'Test Body Value 2'
res = client.post(
url_for("edit_page", uuid="first"),
url_for("ui.ui_edit.edit_page", uuid="first"),
data={
"url": test_url,
"tags": "",
@@ -136,7 +136,7 @@ def test_body_in_request(client, live_server, measure_memory_usage):
# The service should echo back the body
res = client.get(
url_for("preview_page", uuid="first"),
url_for("ui.ui_views.preview_page", uuid="first"),
follow_redirects=True
)
@@ -149,7 +149,7 @@ def test_body_in_request(client, live_server, measure_memory_usage):
####### data sanity checks
# Add the test URL twice, we will check
res = client.post(
url_for("import_page"),
url_for("imports.import_page"),
data={"urls": test_url},
follow_redirects=True
)
@@ -167,7 +167,7 @@ def test_body_in_request(client, live_server, measure_memory_usage):
# Attempt to add a body with a GET method
res = client.post(
url_for("edit_page", uuid="first"),
url_for("ui.ui_edit.edit_page", uuid="first"),
data={
"url": test_url,
"tags": "",
@@ -177,7 +177,7 @@ def test_body_in_request(client, live_server, measure_memory_usage):
follow_redirects=True
)
assert b"Body must be empty when Request Method is set to GET" in res.data
res = client.get(url_for("form_delete", uuid="all"), follow_redirects=True)
res = client.get(url_for("ui.form_delete", uuid="all"), follow_redirects=True)
assert b'Deleted' in res.data
def test_method_in_request(client, live_server, measure_memory_usage):
@@ -189,7 +189,7 @@ def test_method_in_request(client, live_server, measure_memory_usage):
# Add the test URL twice, we will check
res = client.post(
url_for("import_page"),
url_for("imports.import_page"),
data={"urls": test_url},
follow_redirects=True
)
@@ -197,7 +197,7 @@ def test_method_in_request(client, live_server, measure_memory_usage):
wait_for_all_checks(client)
res = client.post(
url_for("import_page"),
url_for("imports.import_page"),
data={"urls": test_url},
follow_redirects=True
)
@@ -207,7 +207,7 @@ def test_method_in_request(client, live_server, measure_memory_usage):
# Attempt to add a method which is not valid
res = client.post(
url_for("edit_page", uuid="first"),
url_for("ui.ui_edit.edit_page", uuid="first"),
data={
"url": test_url,
"tags": "",
@@ -219,7 +219,7 @@ def test_method_in_request(client, live_server, measure_memory_usage):
# Add a properly formatted body
res = client.post(
url_for("edit_page", uuid="first"),
url_for("ui.ui_edit.edit_page", uuid="first"),
data={
"url": test_url,
"tags": "",
@@ -234,7 +234,7 @@ def test_method_in_request(client, live_server, measure_memory_usage):
# The service should echo back the request verb
res = client.get(
url_for("preview_page", uuid="first"),
url_for("ui.ui_views.preview_page", uuid="first"),
follow_redirects=True
)
@@ -253,7 +253,7 @@ def test_method_in_request(client, live_server, measure_memory_usage):
# Should be only one with method set to PATCH
assert watches_with_method == 1
res = client.get(url_for("form_delete", uuid="all"), follow_redirects=True)
res = client.get(url_for("ui.form_delete", uuid="all"), follow_redirects=True)
assert b'Deleted' in res.data
# Re #2408 - user-agent override test, also should handle case-insensitive header deduplication
@@ -262,7 +262,7 @@ def test_ua_global_override(client, live_server, measure_memory_usage):
test_url = url_for('test_headers', _external=True)
res = client.post(
url_for("settings_page"),
url_for("settings.settings_page"),
data={
"application-fetch_backend": "html_requests",
"application-minutes_between_check": 180,
@@ -273,7 +273,7 @@ def test_ua_global_override(client, live_server, measure_memory_usage):
assert b'Settings updated' in res.data
res = client.post(
url_for("import_page"),
url_for("imports.import_page"),
data={"urls": test_url},
follow_redirects=True
)
@@ -281,7 +281,7 @@ def test_ua_global_override(client, live_server, measure_memory_usage):
wait_for_all_checks(client)
res = client.get(
url_for("preview_page", uuid="first"),
url_for("ui.ui_views.preview_page", uuid="first"),
follow_redirects=True
)
@@ -292,7 +292,7 @@ def test_ua_global_override(client, live_server, measure_memory_usage):
# Add some headers to a request
res = client.post(
url_for("edit_page", uuid="first"),
url_for("ui.ui_edit.edit_page", uuid="first"),
data={
"url": test_url,
"tags": "testtag",
@@ -304,12 +304,12 @@ def test_ua_global_override(client, live_server, measure_memory_usage):
assert b"Updated watch." in res.data
wait_for_all_checks(client)
res = client.get(
url_for("preview_page", uuid="first"),
url_for("ui.ui_views.preview_page", uuid="first"),
follow_redirects=True
)
assert b"agent-from-watch" in res.data
assert b"html-requests-user-agent" not in res.data
res = client.get(url_for("form_delete", uuid="all"), follow_redirects=True)
res = client.get(url_for("ui.form_delete", uuid="all"), follow_redirects=True)
assert b'Deleted' in res.data
def test_headers_textfile_in_request(client, live_server, measure_memory_usage):
@@ -334,13 +334,13 @@ def test_headers_textfile_in_request(client, live_server, measure_memory_usage):
form_data["requests-default_ua-html_webdriver"] = webdriver_ua
res = client.post(
url_for("settings_page"),
url_for("settings.settings_page"),
data=form_data,
follow_redirects=True
)
assert b'Settings updated' in res.data
res = client.get(url_for("settings_page"))
res = client.get(url_for("settings.settings_page"))
# Only when some kind of real browser is setup
if os.getenv('PLAYWRIGHT_DRIVER_URL'):
@@ -351,7 +351,7 @@ def test_headers_textfile_in_request(client, live_server, measure_memory_usage):
# Add the test URL twice, we will check
res = client.post(
url_for("import_page"),
url_for("imports.import_page"),
data={"urls": test_url},
follow_redirects=True
)
@@ -361,7 +361,7 @@ def test_headers_textfile_in_request(client, live_server, measure_memory_usage):
# Add some headers to a request
res = client.post(
url_for("edit_page", uuid="first"),
url_for("ui.ui_edit.edit_page", uuid="first"),
data={
"url": test_url,
"tags": "testtag",
@@ -383,7 +383,7 @@ def test_headers_textfile_in_request(client, live_server, measure_memory_usage):
f.write("watch-header: nice\r\nurl-header-watch: http://example.com/watch")
wait_for_all_checks(client)
client.get(url_for("form_watch_checknow"), follow_redirects=True)
client.get(url_for("ui.form_watch_checknow"), follow_redirects=True)
# Give the thread time to pick it up, this actually is not super reliable and pytest can terminate before the check is ran
wait_for_all_checks(client)
@@ -393,7 +393,7 @@ def test_headers_textfile_in_request(client, live_server, measure_memory_usage):
if os.getenv('FAST_PUPPETEER_CHROME_FETCHER'):
time.sleep(6)
res = client.get(url_for("edit_page", uuid="first"))
res = client.get(url_for("ui.ui_edit.edit_page", uuid="first"))
assert b"Extra headers file found and will be added to this watch" in res.data
# Not needed anymore
@@ -402,7 +402,7 @@ def test_headers_textfile_in_request(client, live_server, measure_memory_usage):
# The service should echo back the request verb
res = client.get(
url_for("preview_page", uuid="first"),
url_for("ui.ui_views.preview_page", uuid="first"),
follow_redirects=True
)
@@ -422,5 +422,5 @@ def test_headers_textfile_in_request(client, live_server, measure_memory_usage):
assert "User-Agent:".encode('utf-8') + requests_ua.encode('utf-8') in res.data
# unlink headers.txt on start/stop
res = client.get(url_for("form_delete", uuid="all"), follow_redirects=True)
res = client.get(url_for("ui.form_delete", uuid="all"), follow_redirects=True)
assert b'Deleted' in res.data