Mercurial > kallithea
changeset 5908:e82963996ae8
tests: users: enable commented UsersController test
Previously, a test was written but could not be enabled until pytest
was fully available. Now that it's the case, enable the test.
author | Thomas De Schampheleire <thomas.de_schampheleire@nokia.com> |
---|---|
date | Wed, 04 May 2016 17:49:12 +0200 |
parents | 526724b8b6ce |
children | ab36d9a31a2d |
files | kallithea/tests/functional/test_admin_users.py |
diffstat | 1 files changed, 20 insertions(+), 23 deletions(-) [+] |
line wrap: on
line diff
--- a/kallithea/tests/functional/test_admin_users.py Mon May 02 21:48:04 2016 +0200 +++ b/kallithea/tests/functional/test_admin_users.py Wed May 04 17:49:12 2016 +0200 @@ -14,14 +14,17 @@ from sqlalchemy.orm.exc import NoResultFound +import pytest from kallithea.tests import * from kallithea.tests.fixture import Fixture +from kallithea.controllers.admin.users import UsersController from kallithea.model.db import User, Permission, UserIpMap, UserApiKeys from kallithea.lib.auth import check_password from kallithea.model.user import UserModel from kallithea.model import validators from kallithea.lib import helpers as h from kallithea.model.meta import Session +from webob.exc import HTTPNotFound fixture = Fixture() @@ -507,29 +510,23 @@ response = response.follow() response.mustcontain(no=[api_key]) -# TODO To be uncommented when pytest is the test runner -#import pytest -#from kallithea.controllers.admin.users import UsersController -#class TestAdminUsersController_unittest(object): -# """ -# Unit tests for the users controller -# These are in a separate class, not deriving from TestController (and thus -# unittest.TestCase), to be able to benefit from pytest features like -# monkeypatch. -# """ -# def test_get_user_or_raise_if_default(self, monkeypatch): -# # flash complains about an unexisting session -# def flash_mock(*args, **kwargs): -# pass -# monkeypatch.setattr(h, 'flash', flash_mock) -# -# u = UsersController() -# # a regular user should work correctly -# user = User.get_by_username(TEST_USER_REGULAR_LOGIN) -# assert u._get_user_or_raise_if_default(user.user_id) == user -# # the default user should raise -# with pytest.raises(HTTPNotFound): -# u._get_user_or_raise_if_default(User.get_default_user().user_id) + +class TestAdminUsersController_unittest(object): + """ Unit tests for the users controller """ + + def test_get_user_or_raise_if_default(self, monkeypatch): + # flash complains about an non-existing session + def flash_mock(*args, **kwargs): + pass + monkeypatch.setattr(h, 'flash', flash_mock) + + u = UsersController() + # a regular user should work correctly + user = User.get_by_username(TEST_USER_REGULAR_LOGIN) + assert u._get_user_or_raise_if_default(user.user_id) == user + # the default user should raise + with pytest.raises(HTTPNotFound): + u._get_user_or_raise_if_default(User.get_default_user().user_id) class TestAdminUsersControllerForDefaultUser(TestControllerPytest):