Activate workflow on all branches

pull/15/head
Leigh Morresi 4 years ago
parent 468184bc3a
commit ec1ac300af

@ -6,9 +6,9 @@ name: changedetection.io
on:
push:
branches: [ master ]
branches: [ * ]
pull_request:
branches: [ master ]
branches: [ * ]
jobs:
build:

@ -1,4 +1,12 @@
[pytest]
addopts = --no-start-live-server --live-server-port=5005
live_server_scope = function
#testpaths = tests pytest_invenio
#live_server_scope = session
#filterwarnings =
#ignore::DeprecationWarning:sqlalchemy.*:
; logging options
#log_cli = 1
#log_cli_level = DEBUG
#log_cli_format = %(asctime)s %(name)s: %(levelname)s %(message)s

@ -7,7 +7,6 @@ import os
# https://github.com/pallets/flask/blob/1.1.2/examples/tutorial/tests/test_auth.py
# Much better boilerplate than the docs
# https://www.python-boilerplate.com/py3+flask+pytest/
@ -16,7 +15,6 @@ global app
@pytest.fixture(scope='session')
def app(request):
"""Create application for the tests."""
datastore_path = "./test-datastore"
try:
@ -42,6 +40,16 @@ def app(request):
# This is fine in the case of a failure.
pass
@live_server.app.route('/test-endpoint')
def test_endpoint():
# Tried using a global var here but didn't seem to work, so reading from a file instead.
with open("test-datastore/output.txt", "r") as f:
return f.read()
live_server.start()
assert 1 == 1
request.addfinalizer(teardown)
return app
yield app

@ -3,7 +3,23 @@
import time
from flask import url_for
from urllib.request import urlopen
import pytest
sleep_time_for_fetch_thread = 3
def test_setup_liveserver(live_server):
@live_server.app.route('/test-endpoint')
def test_endpoint():
# Tried using a global var here but didn't seem to work, so reading from a file instead.
with open("test-datastore/output.txt", "r") as f:
return f.read()
live_server.start()
assert 1 == 1
def set_original_response():
test_return_data = """<html>
@ -14,7 +30,6 @@ def set_original_response():
So let's see what happens. </br>
</body>
</html>
"""
with open("test-datastore/output.txt", "w") as f:
@ -30,7 +45,6 @@ def set_modified_response():
So let's see what happens. </br>
</body>
</html>
"""
with open("test-datastore/output.txt", "w") as f:
@ -38,18 +52,8 @@ def set_modified_response():
def test_check_basic_change_detection_functionality(client, live_server):
sleep_time_for_fetch_thread = 5
@live_server.app.route('/test-endpoint')
def test_endpoint():
# Tried using a global var here but didn't seem to work, so reading from a file instead.
with open("test-datastore/output.txt", "r") as f:
return f.read()
set_original_response()
live_server.start()
# Add our URL to the import page
res = client.post(
url_for("import_page"),
@ -91,13 +95,13 @@ def test_check_basic_change_detection_functionality(client, live_server):
assert b'unviewed' in res.data
# Following the 'diff' link, it should no longer display as 'unviewed' even after we recheck it a few times
res = client.get(url_for("diff_history_page", uuid="first") )
res = client.get(url_for("diff_history_page", uuid="first"))
assert b'Compare newest' in res.data
time.sleep(2)
# Do this a few times.. ensures we dont accidently set the status
for n in range(3):
for n in range(2):
client.get(url_for("api_watch_checknow"), follow_redirects=True)
# Give the thread time to pick it up
@ -108,10 +112,10 @@ def test_check_basic_change_detection_functionality(client, live_server):
assert b'unviewed' not in res.data
assert b'test-endpoint' in res.data
set_original_response()
client.get(url_for("api_watch_checknow"), follow_redirects=True)
time.sleep(sleep_time_for_fetch_thread)
res = client.get(url_for("index"))
assert b'unviewed' in res.data
assert b'unviewed' in res.data

@ -3,6 +3,7 @@
import time
from flask import url_for
from urllib.request import urlopen
import pytest
# Unit test of the stripper
@ -12,9 +13,9 @@ def test_strip_text_func():
test_content = """
Some content
is listed here
but sometimes we want to remove the lines.
but not always."""
original_length = len(test_content.splitlines())
@ -32,7 +33,7 @@ def test_strip_text_func():
assert "Some content" in stripped_content
def set_original_response():
def set_original_ignore_response():
test_return_data = """<html>
<body>
Some initial text</br>
@ -49,7 +50,7 @@ def set_original_response():
# Is the same but includes ZZZZZ, 'ZZZZZ' is the last line in ignore_text
def set_modified_response():
def set_modified_ignore_response():
test_return_data = """<html>
<body>
Some initial text</br>
@ -70,21 +71,13 @@ def test_check_ignore_text_functionality(client, live_server):
sleep_time_for_fetch_thread = 5
ignore_text = "XXXXX\nYYYYY\nZZZZZ"
set_original_response()
@live_server.app.route('/test-ignore-endpoint')
def test_ignore_endpoint():
# Tried using a global var here but didn't seem to work, so reading from a file instead.
with open("test-datastore/output.txt", "r") as f:
return f.read()
live_server.start()
set_original_ignore_response()
# Give the endpoint time to spin up
time.sleep(1)
# Add our URL to the import page
test_url = url_for('test_ignore_endpoint', _external=True)
test_url = url_for('test_endpoint', _external=True)
res = client.post(
url_for("import_page"),
data={"urls": test_url},
@ -116,9 +109,9 @@ def test_check_ignore_text_functionality(client, live_server):
# It should report nothing found (no new 'unviewed' class)
res = client.get(url_for("index"))
assert b'unviewed' not in res.data
assert b'/test-ignore-endpoint' in res.data
assert b'/test-endpoint' in res.data
set_modified_response()
set_modified_ignore_response()
# Trigger a check
client.get(url_for("api_watch_checknow"), follow_redirects=True)
@ -129,7 +122,6 @@ def test_check_ignore_text_functionality(client, live_server):
# It should report nothing found (no new 'unviewed' class)
res = client.get(url_for("index"))
assert b'unviewed' not in res.data
assert b'/test-ignore-endpoint' in res.data
assert b'/test-endpoint' in res.data
live_server.stop()

Loading…
Cancel
Save