tests: visit admin pages

This commit is contained in:
Frédéric Péters 2014-08-24 16:20:01 +02:00
parent 99fd1f7193
commit 238a014684
1 changed files with 97 additions and 0 deletions

97
tests/test_admin_pages.py Normal file
View File

@ -0,0 +1,97 @@
import sys
import shutil
import tempfile
import pytest
from quixote import cleanup, get_publisher
from qommon import errors, sessions
from wcs import formdef, publisher
from wcs.qommon.http_request import HTTPRequest
from wcs.formdef import FormDef
from wcs.categories import Category
import wcs.forms.root
sys.modules['formdef'] = formdef
def setup_module(module):
cleanup()
global pub, req
publisher.WcsPublisher.APP_DIR = tempfile.mkdtemp()
pub = publisher.WcsPublisher.create_publisher()
req = HTTPRequest(None, {'SCRIPT_NAME': '/', 'SERVER_NAME': 'example.net'})
req._user = None
req.language = 'en'
pub._set_request(req)
req.session = sessions.Session(id=1)
def create_superuser():
global user1
user1 = pub.user_class(name='user-one-role')
user1.id = 'user-one-role'
user1.is_admin = True
user1.store()
def teardown_module(module):
shutil.rmtree(pub.APP_DIR)
def visit_page(path, user=None):
req._user = req.session.user = user
if req._user:
req.session.user = user.id
return str(get_publisher().root_directory._q_traverse(path.split('/')))
def test_empty_site():
visit_page('admin/')
def test_with_user():
create_superuser()
with pytest.raises(errors.AccessUnauthorizedError):
visit_page('admin/')
visit_page('admin/', user=user1)
def test_forms():
visit_page('admin/forms/', user=user1)
visit_page('admin/forms/new', user=user1)
def test_workflows():
visit_page('admin/workflows/', user=user1)
visit_page('admin/workflows/new', user=user1)
def test_users():
visit_page('admin/users/', user=user1)
visit_page('admin/users/new', user=user1)
def test_roles():
visit_page('admin/roles/', user=user1)
visit_page('admin/roles/new', user=user1)
def test_categories():
visit_page('admin/categories/', user=user1)
visit_page('admin/categories/new', user=user1)
def test_settings():
visit_page('admin/settings/', user=user1)
visit_page('admin/settings/themes', user=user1)
visit_page('admin/settings/users', user=user1)
visit_page('admin/settings/template', user=user1)
visit_page('admin/settings/misc', user=user1)
visit_page('admin/settings/emails', user=user1)
visit_page('admin/settings/debug_options', user=user1)
visit_page('admin/settings/language', user=user1)
visit_page('admin/settings/import', user=user1)
visit_page('admin/settings/export', user=user1)
visit_page('admin/settings/identification', user=user1)
visit_page('admin/settings/sitename', user=user1)
visit_page('admin/settings/sms', user=user1)
visit_page('admin/settings/certificates', user=user1)
visit_page('admin/settings/texts', user=user1)
visit_page('admin/settings/session', user=user1)
visit_page('admin/settings/admin-permissions', user=user1)