kopia lustrzana https://github.com/dgtlmoon/changedetection.io
Improved global ignore test (#3140)
rodzic
968c364999
commit
c70706a27b
|
@ -32,13 +32,14 @@ def test_strip_text_func():
|
||||||
stripped_content = html_tools.strip_ignore_text(test_content, ignore)
|
stripped_content = html_tools.strip_ignore_text(test_content, ignore)
|
||||||
assert stripped_content == "Some initial text\n\nWhich is across multiple lines\n\n\n\nSo let's see what happens."
|
assert stripped_content == "Some initial text\n\nWhich is across multiple lines\n\n\n\nSo let's see what happens."
|
||||||
|
|
||||||
def set_original_ignore_response():
|
def set_original_ignore_response(ver_stamp="123"):
|
||||||
test_return_data = """<html>
|
test_return_data = f"""<html>
|
||||||
<body>
|
<body>
|
||||||
Some initial text<br>
|
Some initial text<br>
|
||||||
<p>Which is across multiple lines</p>
|
<p>Which is across multiple lines</p>
|
||||||
<br>
|
<br>
|
||||||
So let's see what happens. <br>
|
So let's see what happens. <br>
|
||||||
|
<link href="https://www.somesite/wp-content/themes/cooltheme/style2.css?v={ver_stamp}" rel="stylesheet"/>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
||||||
|
@ -48,13 +49,14 @@ def set_original_ignore_response():
|
||||||
f.write(test_return_data)
|
f.write(test_return_data)
|
||||||
|
|
||||||
|
|
||||||
def set_modified_original_ignore_response():
|
def set_modified_original_ignore_response(ver_stamp="123"):
|
||||||
test_return_data = """<html>
|
test_return_data = f"""<html>
|
||||||
<body>
|
<body>
|
||||||
Some NEW nice initial text<br>
|
Some NEW nice initial text<br>
|
||||||
<p>Which is across multiple lines</p>
|
<p>Which is across multiple lines</p>
|
||||||
<br>
|
<br>
|
||||||
So let's see what happens. <br>
|
So let's see what happens. <br>
|
||||||
|
<link href="https://www.somesite/wp-content/themes/cooltheme/style2.css?v={ver_stamp}" rel="stylesheet"/>
|
||||||
<p>new ignore stuff</p>
|
<p>new ignore stuff</p>
|
||||||
<p>blah</p>
|
<p>blah</p>
|
||||||
</body>
|
</body>
|
||||||
|
@ -67,14 +69,15 @@ def set_modified_original_ignore_response():
|
||||||
|
|
||||||
|
|
||||||
# Is the same but includes ZZZZZ, 'ZZZZZ' is the last line in ignore_text
|
# Is the same but includes ZZZZZ, 'ZZZZZ' is the last line in ignore_text
|
||||||
def set_modified_ignore_response():
|
def set_modified_ignore_response(ver_stamp="123"):
|
||||||
test_return_data = """<html>
|
test_return_data = f"""<html>
|
||||||
<body>
|
<body>
|
||||||
Some initial text<br>
|
Some initial text<br>
|
||||||
<p>Which is across multiple lines</p>
|
<p>Which is across multiple lines</p>
|
||||||
<P>ZZZZz</P>
|
<P>ZZZZz</P>
|
||||||
<br>
|
<br>
|
||||||
So let's see what happens. <br>
|
So let's see what happens. <br>
|
||||||
|
<link href="https://www.somesite/wp-content/themes/cooltheme/style2.css?v={ver_stamp}" rel="stylesheet"/>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
||||||
|
@ -165,9 +168,9 @@ def test_check_ignore_text_functionality(client, live_server, measure_memory_usa
|
||||||
assert b'Deleted' in res.data
|
assert b'Deleted' in res.data
|
||||||
|
|
||||||
# When adding some ignore text, it should not trigger a change, even if something else on that line changes
|
# When adding some ignore text, it should not trigger a change, even if something else on that line changes
|
||||||
def test_check_global_ignore_text_functionality(client, live_server, measure_memory_usage):
|
def _run_test_global_ignore(client, as_source=False, extra_ignore=""):
|
||||||
#live_server_setup(live_server)
|
ignore_text = "XXXXX\r\nYYYYY\r\nZZZZZ\r\n"+extra_ignore
|
||||||
ignore_text = "XXXXX\r\nYYYYY\r\nZZZZZ"
|
|
||||||
set_original_ignore_response()
|
set_original_ignore_response()
|
||||||
|
|
||||||
# Goto the settings page, add our ignore text
|
# Goto the settings page, add our ignore text
|
||||||
|
@ -186,6 +189,10 @@ def test_check_global_ignore_text_functionality(client, live_server, measure_mem
|
||||||
|
|
||||||
# Add our URL to the import page
|
# Add our URL to the import page
|
||||||
test_url = url_for('test_endpoint', _external=True)
|
test_url = url_for('test_endpoint', _external=True)
|
||||||
|
if as_source:
|
||||||
|
# Switch to source mode so we can test that too!
|
||||||
|
test_url = "source:"+test_url
|
||||||
|
|
||||||
res = client.post(
|
res = client.post(
|
||||||
url_for("imports.import_page"),
|
url_for("imports.import_page"),
|
||||||
data={"urls": test_url},
|
data={"urls": test_url},
|
||||||
|
@ -203,12 +210,15 @@ def test_check_global_ignore_text_functionality(client, live_server, measure_mem
|
||||||
follow_redirects=True
|
follow_redirects=True
|
||||||
)
|
)
|
||||||
assert b"Updated watch." in res.data
|
assert b"Updated watch." in res.data
|
||||||
|
wait_for_all_checks(client)
|
||||||
# Check it saved
|
# Check it saved
|
||||||
res = client.get(
|
res = client.get(
|
||||||
url_for("settings.settings_page"),
|
url_for("settings.settings_page"),
|
||||||
)
|
)
|
||||||
assert bytes(ignore_text.encode('utf-8')) in res.data
|
|
||||||
|
for i in ignore_text.splitlines():
|
||||||
|
assert bytes(i.encode('utf-8')) in res.data
|
||||||
|
|
||||||
|
|
||||||
# Trigger a check
|
# Trigger a check
|
||||||
client.get(url_for("ui.form_watch_checknow"), follow_redirects=True)
|
client.get(url_for("ui.form_watch_checknow"), follow_redirects=True)
|
||||||
|
@ -221,7 +231,8 @@ def test_check_global_ignore_text_functionality(client, live_server, measure_mem
|
||||||
|
|
||||||
# Make a change which includes the ignore text, it should be ignored and no 'change' triggered
|
# Make a change which includes the ignore text, it should be ignored and no 'change' triggered
|
||||||
# It adds text with "ZZZZzzzz" and "ZZZZ" is in the ignore list
|
# It adds text with "ZZZZzzzz" and "ZZZZ" is in the ignore list
|
||||||
set_modified_ignore_response()
|
# And tweaks the ver_stamp which should be picked up by global regex ignore
|
||||||
|
set_modified_ignore_response(ver_stamp=time.time())
|
||||||
|
|
||||||
# Trigger a check
|
# Trigger a check
|
||||||
client.get(url_for("ui.form_watch_checknow"), follow_redirects=True)
|
client.get(url_for("ui.form_watch_checknow"), follow_redirects=True)
|
||||||
|
@ -243,3 +254,11 @@ def test_check_global_ignore_text_functionality(client, live_server, measure_mem
|
||||||
|
|
||||||
res = client.get(url_for("ui.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
|
assert b'Deleted' in res.data
|
||||||
|
|
||||||
|
def test_check_global_ignore_text_functionality(client, live_server):
|
||||||
|
#live_server_setup(live_server)
|
||||||
|
_run_test_global_ignore(client, as_source=False)
|
||||||
|
|
||||||
|
def test_check_global_ignore_text_functionality_as_source(client, live_server):
|
||||||
|
#live_server_setup(live_server)
|
||||||
|
_run_test_global_ignore(client, as_source=True, extra_ignore='/\?v=\d/')
|
||||||
|
|
Ładowanie…
Reference in New Issue