Files
caotek_monaa/caotek_mesavoirs/tests/test_views.py
2017-12-13 11:02:11 +01:00

61 lines
1.7 KiB
Python

import unittest
import transaction
from pyramid import testing
def dummy_request(dbsession):
return testing.DummyRequest(dbsession=dbsession)
class BaseTest(unittest.TestCase):
def setUp(self):
from ..models import get_tm_session
self.config = testing.setUp(settings={
'sqlalchemy.url': 'sqlite:///:memory:'
})
self.config.include('..models')
self.config.include('..routes')
session_factory = self.config.registry['dbsession_factory']
self.session = get_tm_session(session_factory, transaction.manager)
self.init_database()
def init_database(self):
from .models.meta import Base
session_factory = self.config.registry['dbsession_factory']
engine = session_factory.kw['bind']
Base.metadata.create_all(engine)
def tearDown(self):
testing.tearDown()
transaction.abort()
def makeUser(self, name, role, password='dummy'):
from ..models import User
user = User(name=name, role=role)
user.set_password(password)
return user
def makePage(self, name, data, creator):
from ..models import Page
return Page(name=name, data=data, creator=creator)
class ViewWikiTests(unittest.TestCase):
def setUp(self):
self.config = testing.setUp()
self.config.include('..routes')
def tearDown(self):
testing.tearDown()
def _callFUT(self, request):
from tutorial.views.default import view_wiki
return view_wiki(request)
def test_it(self):
request = testing.DummyRequest()
response = self._callFUT(request)
self.assertEqual(response.location, 'http://example.com/FrontPage')