def setUp(self): super(DbFixture, self).setUp() testresources.setUpResources(self.test, self.test.resources, testresources._get_result()) self.addCleanup(testresources.tearDownResources, self.test, self.test.resources, testresources._get_result()) if not hasattr(self.test, 'db'): msg = "backend '%s' unavailable" % self.DRIVER if self.skip_on_unavailable_db: self.test.skip(msg) else: self.test.fail(msg) if self.test.SCHEMA_SCOPE: self.test.engine = self.test.transaction_engine self.test.sessionmaker = session.get_maker( self.test.transaction_engine) else: self.test.engine = self.test.db.engine self.test.sessionmaker = session.get_maker(self.test.engine) self.addCleanup(setattr, self.test, 'sessionmaker', None) self.addCleanup(setattr, self.test, 'engine', None) self.test.enginefacade = enginefacade._TestTransactionFactory( self.test.engine, self.test.sessionmaker, apply_global=True, synchronous_reader=True) self.addCleanup(self.test.enginefacade.dispose_global)
def setUp(self): super(DbFixture, self).setUp() testresources.setUpResources( self.test, self.test.resources, testresources._get_result()) self.addCleanup( testresources.tearDownResources, self.test, self.test.resources, testresources._get_result() ) if not hasattr(self.test, 'db'): msg = "backend '%s' unavailable" % self.DRIVER if self.skip_on_unavailable_db: self.test.skip(msg) else: self.test.fail(msg) if self.test.SCHEMA_SCOPE: self.test.engine = self.test.transaction_engine self.test.sessionmaker = session.get_maker( self.test.transaction_engine) else: self.test.engine = self.test.db.engine self.test.sessionmaker = session.get_maker(self.test.engine) self.addCleanup(setattr, self.test, 'sessionmaker', None) self.addCleanup(setattr, self.test, 'engine', None) self.test.enginefacade = enginefacade._TestTransactionFactory( self.test.engine, self.test.sessionmaker, apply_global=True, synchronous_reader=True) self.addCleanup(self.test.enginefacade.dispose_global)
def setUp(self): super(DbFixture, self).setUp() testresources.setUpResources(self.test, self.test.resources, testresources._get_result()) self.addCleanup(testresources.tearDownResources, self.test, self.test.resources, testresources._get_result()) if not self.test._has_db_resource(): msg = self.test._get_db_resource_not_available_reason() if self.test.SKIP_ON_UNAVAILABLE_DB: self.test.skipTest(msg) else: self.test.fail(msg) if self.test.SCHEMA_SCOPE: self.test.engine = self.test.transaction_engine self.test.sessionmaker = session.get_maker( self.test.transaction_engine) else: self.test.engine = self.test.db.engine self.test.sessionmaker = session.get_maker(self.test.engine) self.addCleanup(setattr, self.test, 'sessionmaker', None) self.addCleanup(setattr, self.test, 'engine', None) self.test.enginefacade = enginefacade._TestTransactionFactory( self.test.engine, self.test.sessionmaker, apply_global=True) self.addCleanup(self.test.enginefacade.dispose_global)
def test_db_fixture(self): normal_mgr = enginefacade.transaction_context() normal_mgr.configure(connection="sqlite://", sqlite_fk=True, mysql_sql_mode="FOOBAR", max_overflow=38) class MyFixture(test_fixtures.OpportunisticDbFixture): def get_enginefacade(self): return normal_mgr test = mock.Mock(SCHEMA_SCOPE=None) fixture = MyFixture(test=test) resources = fixture._get_resources() testresources.setUpResources(test, resources, None) self.addCleanup(testresources.tearDownResources, test, resources, None) fixture.setUp() self.addCleanup(fixture.cleanUp) self.assertTrue(normal_mgr._factory._started) test.engine = normal_mgr.writer.get_engine() self.assertEqual("sqlite://", str(test.engine.url)) self.assertIs(test.engine, normal_mgr._factory._writer_engine) engine_args = normal_mgr._factory._engine_args_for_conf(None) self.assertTrue(engine_args['sqlite_fk']) self.assertEqual("FOOBAR", engine_args["mysql_sql_mode"]) self.assertEqual(38, engine_args["max_overflow"]) fixture.cleanUp() fixture._clear_cleanups() # so the real cleanUp works self.assertFalse(normal_mgr._factory._started)
def testSetUpResourcesMultiple(self): # setUpResources installs the resources listed in ResourcedTestCase. self.resourced_case.resources = [('foo', self.resource_manager), ('bar', MockResource('bar_resource'))] testresources.setUpResources(self.resourced_case, self.resourced_case.resources, None) self.assertEqual(self.resource, self.resourced_case.foo) self.assertEqual('bar_resource', self.resourced_case.bar)
def testSetUpResourcesMultiple(self): # setUpResources installs the resources listed in ResourcedTestCase. self.resourced_case.resources = [ ('foo', self.resource_manager), ('bar', MockResource('bar_resource'))] testresources.setUpResources(self.resourced_case, self.resourced_case.resources, None) self.assertEqual(self.resource, self.resourced_case.foo) self.assertEqual('bar_resource', self.resourced_case.bar)
def _init_resources(self): testresources.setUpResources(self.test, self.test.resources, testresources._get_result()) self.addCleanup(testresources.tearDownResources, self.test, self.test.resources, testresources._get_result()) # unfortunately, fixtures won't let us call a skip() from # here. So the test has to check this also. # see https://github.com/testing-cabal/fixtures/issues/31 if hasattr(self.test, 'db'): self.engine = self.test.engine = self.test.db.engine
def testSetUpResourcesSetsUpDependences(self): resource = MockResourceInstance() self.resource_manager = MockResource(resource) self.resourced_case.resources = [('foo', self.resource_manager)] # Give the 'foo' resource access to a 'bar' resource self.resource_manager.resources.append( ('bar', MockResource('bar_resource'))) testresources.setUpResources(self.resourced_case, self.resourced_case.resources, None) self.assertEqual(resource, self.resourced_case.foo) self.assertEqual('bar_resource', self.resourced_case.foo.bar)
def _init_resources(self): testresources.setUpResources( self.test, self.test.resources, testresources._get_result()) self.addCleanup( testresources.tearDownResources, self.test, self.test.resources, testresources._get_result() ) # unfortunately, fixtures won't let us call a skip() from # here. So the test has to check this also. # see https://github.com/testing-cabal/fixtures/issues/31 if hasattr(self.test, 'db'): self.engine = self.test.engine = self.test.db.engine
def _setup_fixtures(self): testresources.setUpResources(self, self.resources, testresources._get_result()) self.addCleanup(testresources.tearDownResources, self, self.resources, testresources._get_result()) fixtures = self._instantiate_fixtures() for fixture in fixtures: self.useFixture(fixture) if not fixture._has_db_resource(): msg = fixture._get_db_resource_not_available_reason() if self.SKIP_ON_UNAVAILABLE_DB: self.skipTest(msg) else: self.fail(msg)
def _setup_fixtures(self): testresources.setUpResources( self, self.resources, testresources._get_result()) self.addCleanup( testresources.tearDownResources, self, self.resources, testresources._get_result() ) fixtures = self._instantiate_fixtures() for fixture in fixtures: self.useFixture(fixture) if not fixture._has_db_resource(): msg = fixture._get_db_resource_not_available_reason() if self.SKIP_ON_UNAVAILABLE_DB: self.skipTest(msg) else: self.fail(msg)
def setUp(self): super(DbFixture, self).setUp() testresources.setUpResources( self.test, self.test.resources, testresources._get_result()) self.addCleanup( testresources.tearDownResources, self.test, self.test.resources, testresources._get_result() ) if not hasattr(self.test, 'db'): self.test.skip("database '%s' unavailable" % self.DRIVER) if self.test.SCHEMA_SCOPE: self.test.engine = self.test.transaction_engine self.test.sessionmaker = session.get_maker( self.test.transaction_engine) else: self.test.engine = self.test.db.engine self.test.sessionmaker = session.get_maker(self.test.engine) self.addCleanup(setattr, self.test, 'sessionmaker', None) self.addCleanup(setattr, self.test, 'engine', None)
def test_db_fixture(self): normal_mgr = enginefacade.transaction_context() normal_mgr.configure( connection="sqlite://", sqlite_fk=True, mysql_sql_mode="FOOBAR", max_overflow=38 ) class MyFixture(test_fixtures.OpportunisticDbFixture): def get_enginefacade(self): return normal_mgr test = mock.Mock(SCHEMA_SCOPE=None) fixture = MyFixture(test=test) resources = fixture._get_resources() testresources.setUpResources(test, resources, None) self.addCleanup( testresources.tearDownResources, test, resources, None ) fixture.setUp() self.addCleanup(fixture.cleanUp) self.assertTrue(normal_mgr._factory._started) test.engine = normal_mgr.writer.get_engine() self.assertEqual("sqlite://", str(test.engine.url)) self.assertIs(test.engine, normal_mgr._factory._writer_engine) engine_args = normal_mgr._factory._engine_args_for_conf(None) self.assertTrue(engine_args['sqlite_fk']) self.assertEqual("FOOBAR", engine_args["mysql_sql_mode"]) self.assertEqual(38, engine_args["max_overflow"]) fixture.cleanUp() fixture._clear_cleanups() # so the real cleanUp works self.assertFalse(normal_mgr._factory._started)
def setUp(self): TestCase.setUp(self) result = testresources._get_result() testresources.setUpResources(self, self.resources, result) self.addCleanup( testresources.tearDownResources, self, self.resources, result)
def setUpResources(self): testresources.setUpResources( self, self.resources, testresources._get_result())
def testSetUpUsesResource(self): # setUpResources records a use of each declared resource. self.resourced_case.resources = [("foo", self.resource_manager)] testresources.setUpResources(self.resourced_case, self.resourced_case.resources, None) self.assertEqual(self.resource_manager._uses, 1)
def testSetUpResourcesSingle(self): # setUpResources installs the resources listed in ResourcedTestCase. self.resourced_case.resources = [("foo", self.resource_manager)] testresources.setUpResources(self.resourced_case, self.resourced_case.resources, None) self.assertEqual(self.resource, self.resourced_case.foo)
def setUpResources(self): testresources.setUpResources(self, self.resources, testresources._get_result())