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: on:
push: push:
branches: [ master ] branches: [ * ]
pull_request: pull_request:
branches: [ master ] branches: [ * ]
jobs: jobs:
build: build:

@ -1,4 +1,12 @@
[pytest] [pytest]
addopts = --no-start-live-server --live-server-port=5005 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 # https://github.com/pallets/flask/blob/1.1.2/examples/tutorial/tests/test_auth.py
# Much better boilerplate than the docs # Much better boilerplate than the docs
# https://www.python-boilerplate.com/py3+flask+pytest/ # https://www.python-boilerplate.com/py3+flask+pytest/
@ -16,7 +15,6 @@ global app
@pytest.fixture(scope='session') @pytest.fixture(scope='session')
def app(request): def app(request):
"""Create application for the tests.""" """Create application for the tests."""
datastore_path = "./test-datastore" datastore_path = "./test-datastore"
try: try:
@ -42,6 +40,16 @@ def app(request):
# This is fine in the case of a failure. # This is fine in the case of a failure.
pass 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) request.addfinalizer(teardown)
return app yield app

@ -3,7 +3,23 @@
import time import time
from flask import url_for from flask import url_for
from urllib.request import urlopen 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(): def set_original_response():
test_return_data = """<html> test_return_data = """<html>
@ -14,7 +30,6 @@ def set_original_response():
So let's see what happens. </br> So let's see what happens. </br>
</body> </body>
</html> </html>
""" """
with open("test-datastore/output.txt", "w") as f: with open("test-datastore/output.txt", "w") as f:
@ -30,7 +45,6 @@ def set_modified_response():
So let's see what happens. </br> So let's see what happens. </br>
</body> </body>
</html> </html>
""" """
with open("test-datastore/output.txt", "w") as f: 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): 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() set_original_response()
live_server.start()
# Add our URL to the import page # Add our URL to the import page
res = client.post( res = client.post(
url_for("import_page"), url_for("import_page"),
@ -91,13 +95,13 @@ def test_check_basic_change_detection_functionality(client, live_server):
assert b'unviewed' in res.data 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 # 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 assert b'Compare newest' in res.data
time.sleep(2) time.sleep(2)
# Do this a few times.. ensures we dont accidently set the status # 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) client.get(url_for("api_watch_checknow"), follow_redirects=True)
# Give the thread time to pick it up # 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'unviewed' not in res.data
assert b'test-endpoint' in res.data assert b'test-endpoint' in res.data
set_original_response() set_original_response()
client.get(url_for("api_watch_checknow"), follow_redirects=True) client.get(url_for("api_watch_checknow"), follow_redirects=True)
time.sleep(sleep_time_for_fetch_thread) time.sleep(sleep_time_for_fetch_thread)
res = client.get(url_for("index")) res = client.get(url_for("index"))
assert b'unviewed' in res.data assert b'unviewed' in res.data

@ -3,6 +3,7 @@
import time import time
from flask import url_for from flask import url_for
from urllib.request import urlopen from urllib.request import urlopen
import pytest
# Unit test of the stripper # Unit test of the stripper
@ -32,7 +33,7 @@ def test_strip_text_func():
assert "Some content" in stripped_content assert "Some content" in stripped_content
def set_original_response(): def set_original_ignore_response():
test_return_data = """<html> test_return_data = """<html>
<body> <body>
Some initial text</br> 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 # 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> test_return_data = """<html>
<body> <body>
Some initial text</br> Some initial text</br>
@ -70,21 +71,13 @@ def test_check_ignore_text_functionality(client, live_server):
sleep_time_for_fetch_thread = 5 sleep_time_for_fetch_thread = 5
ignore_text = "XXXXX\nYYYYY\nZZZZZ" ignore_text = "XXXXX\nYYYYY\nZZZZZ"
set_original_response() set_original_ignore_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()
# Give the endpoint time to spin up # Give the endpoint time to spin up
time.sleep(1) time.sleep(1)
# Add our URL to the import page # 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( res = client.post(
url_for("import_page"), url_for("import_page"),
data={"urls": test_url}, 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) # It should report nothing found (no new 'unviewed' class)
res = client.get(url_for("index")) res = client.get(url_for("index"))
assert b'unviewed' not in res.data 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 # Trigger a check
client.get(url_for("api_watch_checknow"), follow_redirects=True) 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) # It should report nothing found (no new 'unviewed' class)
res = client.get(url_for("index")) res = client.get(url_for("index"))
assert b'unviewed' not in res.data 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