def test_fixture(self): from camelot.model.party import Person from camelot.model.fixture import Fixture session = Session() self.assertEqual(Fixture.find_fixture_key(Person, -1), None) p1 = Person() self.assertEqual(Fixture.find_fixture_key_and_class(p1), (None, None)) session.expunge(p1) # insert a new Fixture p2 = Fixture.insert_or_update_fixture(Person, 'test', { 'first_name': 'Peter', 'last_name': 'Principle' }, fixture_class='test') # see if we can find it back self.assertEqual(Fixture.find_fixture_key(Person, p2.id), 'test') self.assertEqual(Fixture.find_fixture_key_and_class(p2), ('test', 'test')) self.assertEqual( Fixture.find_fixture_keys_and_classes(Person)[p2.id], ('test', 'test')) # delete the person, and insert it back in the same fixture session.delete(p2) session.flush() p3 = Fixture.insert_or_update_fixture(Person, 'test', { 'first_name': 'Peter', 'last_name': 'Principle' }, fixture_class='test') self.assertNotEqual(p2, p3) # remove all fixtures Fixture.remove_all_fixtures(Person)
def test_fixture( self ): from camelot.model.party import Person from camelot.model.fixture import Fixture session = Session() self.assertEqual( Fixture.find_fixture_key( Person, -1 ), None ) p1 = Person() self.assertEqual( Fixture.find_fixture_key_and_class( p1 ), (None, None) ) session.expunge( p1 ) # insert a new Fixture p2 = Fixture.insert_or_update_fixture( Person, 'test', {'first_name':'Peter', 'last_name':'Principle'}, fixture_class = 'test' ) # see if we can find it back self.assertEqual( Fixture.find_fixture_key( Person, p2.id ), 'test' ) self.assertEqual( Fixture.find_fixture_key_and_class( p2 ), ('test', 'test') ) self.assertEqual( Fixture.find_fixture_keys_and_classes( Person )[p2.id], ('test', 'test') ) # delete the person, and insert it back in the same fixture session.delete( p2 ) session.flush() p3 = Fixture.insert_or_update_fixture( Person, 'test', {'first_name':'Peter', 'last_name':'Principle'}, fixture_class = 'test' ) self.assertNotEqual( p2, p3 ) # remove all fixtures Fixture.remove_all_fixtures( Person )