From 69662ff91cb42f003e09f6fda72e4c63defed4cb Mon Sep 17 00:00:00 2001 From: dgtlmoon Date: Mon, 5 Dec 2022 17:45:30 +0100 Subject: [PATCH] Test improvement - improving notification error network test --- .../tests/test_notification_errors.py | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/changedetectionio/tests/test_notification_errors.py b/changedetectionio/tests/test_notification_errors.py index 1d51309a..c7daee58 100644 --- a/changedetectionio/tests/test_notification_errors.py +++ b/changedetectionio/tests/test_notification_errors.py @@ -11,23 +11,23 @@ def test_check_notification_error_handling(client, live_server): set_original_response() # Give the endpoint time to spin up - time.sleep(3) + time.sleep(2) - # use a different URL so that it doesnt interfere with the actual check until we are ready + # Set a URL and fetch it, then set a notification URL which is going to give errors test_url = url_for('test_endpoint', _external=True) res = client.post( url_for("form_quick_watch_add"), - data={"url": "https://changedetection.io/CHANGELOG.txt", "tag": ''}, + data={"url": test_url, "tag": ''}, follow_redirects=True ) assert b"Watch added" in res.data - time.sleep(10) + time.sleep(2) + set_modified_response() - # Check we capture the failure, we can just use trigger_check = y here res = client.post( url_for("edit_page", uuid="first"), - data={"notification_urls": "jsons://broken-url.changedetection.io/test", + data={"notification_urls": "jsons://broken-url-xxxxxxxx123/test", "notification_title": "xxx", "notification_body": "xxxxx", "notification_format": "Text", @@ -36,15 +36,14 @@ def test_check_notification_error_handling(client, live_server): "title": "", "headers": "", "time_between_check-minutes": "180", - "fetch_backend": "html_requests", - "trigger_check": "y"}, + "fetch_backend": "html_requests"}, follow_redirects=True ) assert b"Updated watch." in res.data found=False for i in range(1, 10): - time.sleep(1) + logging.debug("Fetching watch overview....") res = client.get( url_for("index")) @@ -53,6 +52,7 @@ def test_check_notification_error_handling(client, live_server): found=True break + time.sleep(1) assert found @@ -60,7 +60,7 @@ def test_check_notification_error_handling(client, live_server): # The error should show in the notification logs res = client.get( url_for("notification_logs")) - assert bytes("Name or service not known".encode('utf-8')) in res.data - + found_name_resolution_error = b"Temporary failure in name resolution" in res.data or b"Name or service not known" in res.data + assert found_name_resolution_error - # And it should be listed on the watch overview + client.get(url_for("form_delete", uuid="all"), follow_redirects=True)