Files
cao_blogr/cao_blogr/tests.py
2023-06-25 16:56:39 +02:00

57 lines
1.4 KiB
Python

import unittest
from pyramid import testing
import transaction
def dummy_request(dbsession):
return testing.DummyRequest(dbsession=dbsession)
class BaseTest(unittest.TestCase):
def setUp(self):
self.config = testing.setUp(settings={
'sqlalchemy.url': 'sqlite:///:memory:'
})
self.config.include('.models')
settings = self.config.get_settings()
from .models import (
get_engine,
get_session_factory,
get_tm_session,
)
self.engine = get_engine(settings)
session_factory = get_session_factory(self.engine)
self.session = get_tm_session(session_factory, transaction.manager)
def init_database(self):
from .models.meta import Base
Base.metadata.create_all(self.engine)
def tearDown(self):
from .models.meta import Base
testing.tearDown()
transaction.abort()
Base.metadata.drop_all(self.engine)
class TestMyViewSuccessCondition(BaseTest):
def test_passing_view(self):
from .views.default import apropos
response = apropos(dummy_request(self.session))
self.assertEqual(response['page_title'], 'A propos')
class TestMyViewFailureCondition(BaseTest):
def test_failing_view(self):
from .views.default import apropos
response = apropos(dummy_request(self.session))
self.assertEqual(response['page_title'], 'A propos')