Adding more tests

notification-utf8-test
dgtlmoon 6 months ago
parent 98957a0a9e
commit 579faba57c

@ -104,7 +104,7 @@ def test_check_removed_line_contains_trigger(client, live_server, measure_memory
def test_check_add_line_contains_trigger(client, live_server, measure_memory_usage): def test_check_add_line_contains_trigger(client, live_server, measure_memory_usage):
#live_server_setup(live_server) live_server_setup(live_server)
# Give the endpoint time to spin up # Give the endpoint time to spin up
test_notification_url = url_for('test_notification_endpoint', _external=True).replace('http://', 'post://') + "?xxx={{ watch_url }}" test_notification_url = url_for('test_notification_endpoint', _external=True).replace('http://', 'post://') + "?xxx={{ watch_url }}"
@ -112,7 +112,7 @@ def test_check_add_line_contains_trigger(client, live_server, measure_memory_usa
res = client.post( res = client.post(
url_for("settings_page"), url_for("settings_page"),
data={"application-notification_title": "New ChangeDetection.io Notification - {{ watch_url }}", data={"application-notification_title": "New ChangeDetection.io Notification - {{ watch_url }}",
"application-notification_body": 'triggered text was -{{triggered_text}}-', "application-notification_body": 'triggered text was -{{triggered_text}}- 网站监测 内容更新了',
# https://github.com/caronc/apprise/wiki/Notify_Custom_JSON#get-parameter-manipulation # https://github.com/caronc/apprise/wiki/Notify_Custom_JSON#get-parameter-manipulation
"application-notification_urls": test_notification_url, "application-notification_urls": test_notification_url,
"application-minutes_between_check": 180, "application-minutes_between_check": 180,
@ -167,9 +167,10 @@ def test_check_add_line_contains_trigger(client, live_server, measure_memory_usa
# Takes a moment for apprise to fire # Takes a moment for apprise to fire
time.sleep(3) time.sleep(3)
assert os.path.isfile("test-datastore/notification.txt"), "Notification fired because I can see the output file" assert os.path.isfile("test-datastore/notification.txt"), "Notification fired because I can see the output file"
with open("test-datastore/notification.txt", 'r') as f: with open("test-datastore/notification.txt", 'rb') as f:
response= f.read() response = f.read()
assert '-Oh yes please-' in response assert b'-Oh yes please-' in response
assert '网站监测 内容更新了'.encode('utf-8') in response
res = client.get(url_for("form_delete", uuid="all"), follow_redirects=True) res = client.get(url_for("form_delete", uuid="all"), follow_redirects=True)

@ -291,11 +291,11 @@ def test_notification_custom_endpoint_and_jinja2(client, live_server, measure_me
data={ data={
"application-fetch_backend": "html_requests", "application-fetch_backend": "html_requests",
"application-minutes_between_check": 180, "application-minutes_between_check": 180,
"application-notification_body": '{ "url" : "{{ watch_url }}", "secret": 444 }', "application-notification_body": '{ "url" : "{{ watch_url }}", "secret": 444, "somebug": "网站监测 内容更新了" }',
"application-notification_format": default_notification_format, "application-notification_format": default_notification_format,
"application-notification_urls": test_notification_url, "application-notification_urls": test_notification_url,
# https://github.com/caronc/apprise/wiki/Notify_Custom_JSON#get-parameter-manipulation # https://github.com/caronc/apprise/wiki/Notify_Custom_JSON#get-parameter-manipulation
"application-notification_title": "New ChangeDetection.io Notification - {{ watch_url }}", "application-notification_title": "New ChangeDetection.io Notification - {{ watch_url }} ",
}, },
follow_redirects=True follow_redirects=True
) )
@ -324,6 +324,7 @@ def test_notification_custom_endpoint_and_jinja2(client, live_server, measure_me
j = json.loads(x) j = json.loads(x)
assert j['url'].startswith('http://localhost') assert j['url'].startswith('http://localhost')
assert j['secret'] == 444 assert j['secret'] == 444
assert j['somebug'] == '网站监测 内容更新了'
# URL check, this will always be converted to lowercase # URL check, this will always be converted to lowercase
assert os.path.isfile("test-datastore/notification-url.txt") assert os.path.isfile("test-datastore/notification-url.txt")

Loading…
Cancel
Save