From 48a19a2296bc1dd4c637b16ed6e484738da41dd4 Mon Sep 17 00:00:00 2001 From: Gergely Polonkai Date: Wed, 11 Jul 2018 16:24:16 +0200 Subject: [PATCH] Update tests Move the `client` fixture to the helpers module, as it will be used by many other test cases. Add the AGPL header to the test files. --- tests/helpers.py | 42 +++++++++++++++++++++++++++++++++++++++++ tests/test_calsocial.py | 35 ++++++++++++++++++---------------- 2 files changed, 61 insertions(+), 16 deletions(-) create mode 100644 tests/helpers.py diff --git a/tests/helpers.py b/tests/helpers.py new file mode 100644 index 0000000..fbb8cc6 --- /dev/null +++ b/tests/helpers.py @@ -0,0 +1,42 @@ +# Calendar.social +# Copyright (C) 2018 Gergely Polonkai +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . + +"""Helper functions and fixtures for testing +""" + +import pytest + +import calsocial +from calsocial.models import db + + +@pytest.fixture +def client(): + """Fixture that provides a Flask test client + """ + + calsocial.app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///' + calsocial.app.config['TESTING'] = True + calsocial.app.config['WTF_CSRF_ENABLED'] = False + client = calsocial.app.test_client() + + with calsocial.app.app_context(): + db.create_all() + + yield client + + with calsocial.app.app_context(): + db.drop_all() diff --git a/tests/test_calsocial.py b/tests/test_calsocial.py index 10159b8..8ae3d4c 100644 --- a/tests/test_calsocial.py +++ b/tests/test_calsocial.py @@ -1,23 +1,26 @@ -import pytest +# Calendar.social +# Copyright (C) 2018 Gergely Polonkai +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . + +"""General tests for Calendar.social +""" import calsocial from calsocial.models import db, User - -@pytest.fixture -def client(): - calsocial.app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///' - calsocial.app.config['TESTING'] = True - calsocial.app.config['WTF_CSRF_ENABLED'] = False - client = calsocial.app.test_client() - - with calsocial.app.app_context(): - db.create_all() - - yield client - - with calsocial.app.app_context(): - db.drop_all() +from helpers import client def test_index_no_login(client):