def test_clear_sa_wrapper_registry(self): from Products.SQLAlchemyDA.da import lookup_sa_wrapper, clear_sa_wrapper_registry da = self.createDA(id='ya-ya') wrapper = lookup_sa_wrapper('ya-ya') assert wrapper is da._wrapper clear_sa_wrapper_registry() with self.assertRaises(LookupError): lookup_sa_wrapper('ya-ya')
def test_lookup_two_sa_wrappers(self): from Products.SQLAlchemyDA.da import lookup_sa_wrapper da1 = self.createDA(id='da1') da2 = self.createDA(id='da2') wrapper1 = lookup_sa_wrapper('da1') assert wrapper1 is da1._wrapper wrapper2 = lookup_sa_wrapper('da2') assert wrapper2 is da2._wrapper
def testDeGhostify(self): da = self.createDA(id='spam') from Products.SQLAlchemyDA.da import clear_sa_wrapper_registry, lookup_sa_wrapper clear_sa_wrapper_registry() # ensure registry is clear with self.assertRaises(LookupError): lookup_sa_wrapper('spam') # well, unpickling doesn't seem to really work automatically; # let's call it directly da.aq_self.__setstate__(da.__dict__) # registry should have regenerated upon call to unpickling __setstate__ looked_up_da = lookup_sa_wrapper('spam') assert looked_up_da is da
def testDeGhostify(self): da = self.createDA(id='spam') from Products.SQLAlchemyDA.da import clear_sa_wrapper_registry, lookup_sa_wrapper wrapper = lookup_sa_wrapper('spam') assert wrapper clear_sa_wrapper_registry() # ensure registry is clear with self.assertRaises(LookupError): lookup_sa_wrapper('spam') # call unpickling code directly, to simulate restoring from ZODB fake_pickle_input = copy.deepcopy(da.__dict__) assert da.dsn da.aq_self.__setstate__(fake_pickle_input) assert da.dsn # registry should have regenerated upon call to unpickling __setstate__ looked_up_wrapper = lookup_sa_wrapper('spam') assert looked_up_wrapper is da._supply_z3c_sa_wrapper()
def test_lookup_nonexistent_sa_wrapper(self): from Products.SQLAlchemyDA.da import lookup_sa_wrapper with self.assertRaises(LookupError): lookup_sa_wrapper('dada')
def test_lookup_sa_wrapper(self): from Products.SQLAlchemyDA.da import lookup_sa_wrapper da = self.createDA(id='da') wrapper = lookup_sa_wrapper('da') assert wrapper is da._wrapper