Mercurial > kallithea
changeset 5901:ef1187159860
tests: add create_test_user fixture
Uses https://pytest.org/latest/yieldfixture.html#yieldfixture to provide
auto-deleting users to tests.
author | Konstantin Veretennicov <kveretennicov@gmail.com> |
---|---|
date | Sun, 01 May 2016 23:29:09 +0200 |
parents | 83c34fbb2139 |
children | 7d23f2491ce8 |
files | kallithea/tests/conftest.py |
diffstat | 1 files changed, 17 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/kallithea/tests/conftest.py Thu May 05 17:57:46 2016 +0200 +++ b/kallithea/tests/conftest.py Sun May 01 23:29:09 2016 +0200 @@ -6,6 +6,9 @@ from paste.deploy import loadapp import pylons.test from pylons.i18n.translation import _get_translator +import pytest +from kallithea.model.user import UserModel +from kallithea.model.meta import Session def pytest_configure(): @@ -32,3 +35,17 @@ pylons.translator._push_object(translator) return pylons.test.pylonsapp + + +@pytest.yield_fixture +def create_test_user(): + """Provide users that automatically disappear after test is over.""" + test_users = [] + def _create_test_user(user_form): + user = UserModel().create(user_form) + test_users.append(user) + return user + yield _create_test_user + for user in test_users: + UserModel().delete(user) + Session().commit()