1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- import unittest
- import transaction
- from pyramid import testing
-
- from tracim.models.data import Workspace
- from tracim.models.data import Content
- from tracim.logger import logger
- from tracim.fixtures import FixturesLoader
- from tracim.fixtures.users_and_groups import Base as BaseFixture
-
-
- class BaseTest(unittest.TestCase):
- """
- Pyramid default test.
- """
- def setUp(self):
- logger.debug(self, 'Setup Test...')
- self.config = testing.setUp(settings={
- 'sqlalchemy.url': 'sqlite:///:memory:'
- })
- self.config.include('tracim.models')
- settings = self.config.get_settings()
-
- from tracim.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)
- self.init_database()
-
- def init_database(self):
- logger.debug(self, 'Init Database Schema...')
- from tracim.models.meta import DeclarativeBase
- DeclarativeBase.metadata.create_all(self.engine)
-
- def tearDown(self):
- logger.debug(self, 'TearDown Test...')
- from tracim.models.meta import DeclarativeBase
-
- testing.tearDown()
- transaction.abort()
- DeclarativeBase.metadata.drop_all(self.engine)
-
- # class DefaultTest(object):
- #
- # def _create_workspace_and_test(self, name, user) -> Workspace:
- # """
- # All extra parameters (*args, **kwargs) are for Workspace init
- # :return: Created workspace instance
- # """
- # WorkspaceApi(user).create_workspace(name, save_now=True)
- #
- # eq_(1, self.session.query(Workspace).filter(Workspace.label == name).count())
- # return self.session.query(Workspace).filter(Workspace.label == name).one()
- #
- # def _create_content_and_test(self, name, workspace, *args, **kwargs) -> Content:
- # """
- # All extra parameters (*args, **kwargs) are for Content init
- # :return: Created Content instance
- # """
- # content = Content(*args, **kwargs)
- # content.label = name
- # content.workspace = workspace
- # self.session.add(content)
- # self.session.flush()
- #
- # eq_(1, ContentApi.get_canonical_query().filter(Content.label == name).count())
- # return ContentApi.get_canonical_query().filter(Content.label == name).one()
- #
- #
- # class StandardTest(BaseTest):
- # """
- # BaseTest with default fixtures
- # """
- # fixtures = [BaseFixture]
- #
- # def init_database(self):
- # BaseTest.init_database(self)
- # fixtures_loader = FixturesLoader([BaseFixture])
- # fixtures_loader.loads(self.fixtures)
|