def test_uninstall_fixture(self): manager = FixturesManager() manager.load( './charlatan/tests/data/relationships_without_models.yaml') manager.install_fixture('simple_dict') manager.uninstall_fixture('simple_dict') # verify we are forgiving with list inputs manager.install_fixtures('simple_dict') manager.uninstall_fixtures('simple_dict')
class TestSqlalchemyFixtures(testing.TestCase): def setUp(self): self.session = Session() self.manager = FixturesManager(db_session=self.session) self.manager.load("./charlatan/tests/data/relationships.yaml") Base.metadata.create_all(engine) def tearDown(self): Base.metadata.drop_all(engine) self.session.close() def test_double_install(self): """Verify that there's no double install.""" self.manager.install_fixture("model") self.manager.install_fixture("color") self.assertEqual(self.session.query(Toaster).count(), 1) self.assertEqual(self.session.query(Color).count(), 1) def test_getting_from_database(self): """Verify that we can get from the database.""" installed = Toaster(id=1) self.session.add(installed) self.session.commit() toaster = self.manager.install_fixture("from_database") self.assertEqual(toaster.id, 1) def test_installing_collection(self): """Verify that a collection of fixtures is in the database.""" self.manager.install_fixture("model_list") self.assertEqual(self.session.query(Toaster).count(), 2) def test_inheritance_and_relationship(self): """Verify that inheritance works with relationships.""" model, model_1 = self.manager.install_fixtures(('model', 'model_1')) self.assertTrue(isinstance(model.color, Color)) self.assertTrue(isinstance(model_1.color, Color)) def test_explicit_foreign_key(self): """Verify that we can get a db-computed foreign key explicitely.""" model = self.manager.install_fixture('model_with_explicit_fk') assert model.color_id is not None def test_uninstall_deletes_fixtures(self): """Verify uninstalling a fixture drops it from the database.""" self.manager.install_fixture("color") # sanity check self.assertEqual(self.session.query(Color).count(), 1) self.manager.uninstall_fixture("color") self.assertEqual(self.session.query(Color).count(), 0)
class TestSqlalchemyFixtures(testing.TestCase): def setUp(self): self.session = Session() self.manager = FixturesManager(db_session=self.session) self.manager.load("./charlatan/tests/data/relationships.yaml") Base.metadata.create_all(engine) def tearDown(self): Base.metadata.drop_all(engine) self.session.close() def test_double_install(self): """Verify that there's no double install.""" self.manager.install_fixture("model") self.manager.install_fixture("color") self.assertEqual(self.session.query(Toaster).count(), 1) self.assertEqual(self.session.query(Color).count(), 1) def test_getting_from_database(self): """Verify that we can get from the database.""" installed = Toaster(id=1) self.session.add(installed) self.session.commit() toaster = self.manager.install_fixture("from_database") self.assertEqual(toaster.id, 1) def test_installing_collection(self): """Verify that a collection of fixtures is in the database.""" self.manager.install_fixture("model_list") self.assertEqual(self.session.query(Toaster).count(), 2) def test_inheritance_and_relationship(self): """Verify that inheritance works with relationships.""" model, model_1 = self.manager.install_fixtures(('model', 'model_1')) self.assertTrue(isinstance(model.color, Color)) self.assertTrue(isinstance(model_1.color, Color)) def test_explicit_foreign_key(self): """Verify that we can get a db-computed foreign key explicitely.""" model = self.manager.install_fixture('model_with_explicit_fk') assert model.color_id is not None def test_uninstall_deletes_fixtures(self): """Verify uninstalling a fixture drops it from the database.""" self.manager.install_fixture("color") # sanity check self.assertEqual(self.session.query(Color).count(), 1) self.manager.uninstall_fixture("color") self.assertEqual(self.session.query(Color).count(), 0)
def test_uninstall_fixtures(self): """uninstall_fixtures should return the list of installed fixtures.""" fixtures_manager = FixturesManager() fixtures_manager.load( './charlatan/tests/data/relationships_without_models.yaml') fixture_keys = ('simple_dict', 'dict_with_nest') fixtures_manager.install_fixtures(fixture_keys) self.assertEqual(len(fixtures_manager.cache.keys()), 2) fixtures = fixtures_manager.uninstall_fixtures(fixture_keys) self.assertEqual(len(fixtures), 2) self.assertEqual(len(fixtures_manager.cache.keys()), 0) # uninstalling non-exiting fixtures should not raise an exception fixtures = fixtures_manager.uninstall_fixtures(fixture_keys) self.assertEqual(len(fixtures), 0) self.assertEqual(len(fixtures_manager.cache.keys()), 0)
def test_uninstall_fixture(self): """uninstall_fixture should return the fixture.""" fixtures_manager = FixturesManager() fixtures_manager.load( './charlatan/tests/data/relationships_without_models.yaml') fixtures_manager.install_fixture('simple_dict') fixture = fixtures_manager.uninstall_fixture('simple_dict') self.assertEqual(fixture, { 'field1': 'lolin', 'field2': 2, }) # verify we are forgiving with list inputs fixtures = fixtures_manager.install_fixtures('simple_dict') self.assertEqual(len(fixtures), 1) fixtures = fixtures_manager.uninstall_fixtures('simple_dict') self.assertEqual(len(fixtures), 1) self.assertEqual(fixtures[0], { 'field1': 'lolin', 'field2': 2, })