Ejemplo n.º 1
0
 def dirty_session():
     with Restorable(session):
         smi = Smi(name='newspaper')
         cat1 = Category(name='cat1')
         cat2 = Category(name='cat2')
         user = User(name='john')
         role = Role(user=user, smi=smi, categories=[cat1, cat1])
         session.add_all([smi, cat1, cat2, user, role])
         session.commit()
Ejemplo n.º 2
0
 def test_restorable_with_scoped_session_and_autocommit(self):
     # `autocommit` affects the `Session` constructor
     session = self.scoped_session(autocommit=True)
     with Restorable(session):
         # code must call `begin` explitcitly when `autocommit=True`
         session.begin()
         smi = Smi(name='newspaper')
         session.add(smi)
         session.commit()
     self.assertEqual(self.session.query(Smi).all(), [])
Ejemplo n.º 3
0
 def exceptional_behavior():
     with Restorable(session):
         smi = Smi(name='newspaper')
         cat1 = Category(name='cat1')
         cat2 = Category(name='cat2')
         user = User(name='john')
         role = Role(user=user, smi=smi, categories=[cat1, cat2])
         session.add_all([smi, cat1, cat2, user, role])
         session.commit()
         raise Exception('unwanted')
Ejemplo n.º 4
0
 def test_restorable_and_normal_behavior(self):
     session = self.session
     with Restorable(session):
         smi = Smi(name='newspaper')
         cat1 = Category(name='cat1')
         cat2 = Category(name='cat2')
         user = User(name='john')
         role = Role(user=user, smi=smi, categories=[cat1, cat2])
         session.add_all([smi, cat1, cat2, user, role])
         session.commit()
     self.assertEqual(self.session.query(User).all(), [])
     self.assertEqual(self.session.query(Category).all(), [])
     self.assertEqual(self.session.query(Role).all(), [])
     self.assertEqual(self.session.query(Smi).all(), [])