diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 597d82f129c5ee8079df66298bf596bb772eaa8e..4a002f98da3b655c1d9ebb10726d43660fff2974 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -7,7 +7,7 @@ unittest: - python3 -V - uname -a - apt install -y sqlite3 locales-all git python3-flask python3-ldap3 python3-requests python3-lxml python3-icalendar python3-mysql.connector python3-requests python3-coverage - - python3 -m coverage run tests.py + - python3 -m coverage run runTests.py - python3 -m coverage report --include "./*" - python3 -m coverage report -m --include "./*" > report.txt - python3 -m coverage html --include "./*" @@ -33,4 +33,4 @@ deploy_staging: stage: deploy script: - pacman --noconfirm -Sy ansible git - \ No newline at end of file + diff --git a/README.md b/README.md index 721b0ae13f96f404b3a1a0d177ffd2e524494f2a..547684cd20fadcea7b5f2df3d4a494dd821864e0 100644 --- a/README.md +++ b/README.md @@ -15,9 +15,9 @@ Hinweis: diese Variante startet eine lokale Testversion der Website, es sind nic Alternativ, insbesondere zum Testen der Zugriffsbeschränkungen: Siehe `nginx.example.conf`. ### Unittests -Tests können mittels `./tests.py` ausgeführt werden. +Tests können mittels `./runTests.py` ausgeführt werden. -Coverage Tests können mittels `rm .coverage; python -m coverage run tests.py; python -m coverage html` ausgeführt werden. Dies erstellt einen Ordner `htmlcov` in dem HTML Output liegt. +Coverage Tests können mittels `rm .coverage; python -m coverage run runTests.py; python -m coverage html` ausgeführt werden. Dies erstellt einen Ordner `htmlcov` in dem HTML Output liegt. ### Zum Mitmachen: 1. Repo für den eigenen User forken, dafür den "Fork-Button" auf der Website verwenden diff --git a/tests/urlcheck_legacy.py b/legacy_tests/urlcheck_legacy.py similarity index 100% rename from tests/urlcheck_legacy.py rename to legacy_tests/urlcheck_legacy.py diff --git a/tests/urlcheck_sinf.py b/legacy_tests/urlcheck_sinf.py similarity index 100% rename from tests/urlcheck_sinf.py rename to legacy_tests/urlcheck_sinf.py diff --git a/runTests.py b/runTests.py new file mode 100755 index 0000000000000000000000000000000000000000..b265725ac2931b9df833c23587aece770ee5aa0b --- /dev/null +++ b/runTests.py @@ -0,0 +1,19 @@ +#!/usr/bin/env python3 +import unittest +import os +import server + +def setUp(): + server.app.testing = True + +def tearDown(): + os.unlink(server.app.config['SQLITE_DB']) + +if __name__ == '__main__': + setUp() + try: + suite = unittest.defaultTestLoader.discover('./tests/', pattern="*") + unittest.TextTestRunner(verbosity=2, failfast=True).run(suite) + finally: + tearDown() + diff --git a/server.py b/server.py index 2e54112629a39d9a043dc0c0a76f4e13e504ea2c..33cd9602824144b57f737c23b050da04be6f3b65 100644 --- a/server.py +++ b/server.py @@ -26,7 +26,7 @@ if sys.argv[0].endswith('run.py'): config['SQLITE_INIT_DATA'] = True config['DEBUG'] = True config.from_pyfile('config.py', silent=True) -if sys.argv[0].endswith('tests.py'): +if sys.argv[0].endswith('runTests.py'): print('running in test mode') import tempfile # ensure we always use a clean sqlite db for tests diff --git a/tests.py b/tests/test_general.py old mode 100755 new mode 100644 similarity index 98% rename from tests.py rename to tests/test_general.py index 1106b576b79095bae8c4d69d4c6077b4de4c36a4..2febe3873a99d21cfa9e78d459f60d3cfde7b752 --- a/tests.py +++ b/tests/test_general.py @@ -1,17 +1,15 @@ -#!/usr/bin/env python3 - import os import unittest -import server import json - +import server import flask from flask import url_for + class VideoTestCase(unittest.TestCase): - @classmethod - def tearDownClass(cls): - os.unlink(server.app.config['SQLITE_DB']) + def tearDown(self): + pass + #os.unlink(server.app.config['SQLITE_DB']) def setUp(self): server.app.testing = True @@ -279,8 +277,3 @@ class VideoTestCase(unittest.TestCase): self.login(c) r = self.app.get('/internal/cutprogress') assert r.status_code == 200 - - -if __name__ == '__main__': - unittest.main() - diff --git a/tests/test_jobs.py b/tests/test_jobs.py new file mode 100644 index 0000000000000000000000000000000000000000..245137db25acf52972210f616243bee897468c8c --- /dev/null +++ b/tests/test_jobs.py @@ -0,0 +1,2 @@ +import os +import unittest