bug mysql has gone
This commit is contained in:
60
caotek_mesavoirs/tests/test_views.py
Normal file
60
caotek_mesavoirs/tests/test_views.py
Normal file
@@ -0,0 +1,60 @@
|
||||
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')
|
||||
Reference in New Issue
Block a user