def test_pickle_retention(self): print self.conf.modules #get our modules mod = pickle_retention_file_generic.Pickle_retention_generic( modconf, 'tmp/retention-test.dat') try: os.unlink(mod.path) except: pass sl = get_instance(mod) print "Instance", sl #Hack here :( sl.properties = {} sl.properties['to_queue'] = None sl.init() l = logger svc = self.sched.services.find_srv_by_name_and_hostname( "test_host_0", "test_ok_0") self.scheduler_loop(1, [[svc, 2, 'BAD | value1=0 value2=0']]) self.sched.get_new_broks() # Saving the broks we got old_broks = copy.copy(self.sched.broks) # Now get a real broker object arbiter = Arbiter([''], False, False, False, None, None) arbiter.broks = self.sched.broks #updte the hosts and service in the scheduler in the retentino-file sl.hook_save_retention(arbiter) #, l) # Now we clean the source, like if we restart arbiter.broks.clear() self.assert_(len(arbiter.broks) == 0) r = sl.hook_load_retention(arbiter) print len(old_broks), len(arbiter.broks) #We check we load them :) for b in old_broks.values(): print "Look for good", b finded = False for b2 in arbiter.broks.values(): if b2.id == b.id: finded = True self.assert_(finded) #Ok, we can delete the retention file os.unlink(mod.path)
def test_pickle_retention(self): print self.conf.modules # get our modules mod = pickle_retention_file_generic.Pickle_retention_generic(modconf, 'tmp/retention-test.dat') try: os.unlink(mod.path) except: pass sl = get_instance(mod) print "Instance", sl # Hack here :( sl.properties = {} sl.properties['to_queue'] = None sl.init() l = logger svc = self.sched.services.find_srv_by_name_and_hostname("test_host_0", "test_ok_0") self.scheduler_loop(1, [[svc, 2, 'BAD | value1=0 value2=0']]) self.sched.get_new_broks() # Saving the broks we got old_broks = copy.copy(self.sched.broks) # Now get a real broker object arbiter = Arbiter([''], False, False, False, None, None, None) arbiter.broks = self.sched.broks sl.hook_save_retention(arbiter) #, l) # update the hosts and service in the scheduler in the retention-file # Now we clean the source, like if we restart arbiter.broks.clear() self.assert_(len(arbiter.broks) == 0) r = sl.hook_load_retention(arbiter) print len(old_broks), len(arbiter.broks) # We check we load them :) for b in old_broks.values(): print "Look for good", b finded = False for b2 in arbiter.broks.values(): if b2.id == b.id: finded = True self.assert_(finded) # Ok, we can delete the retention file os.unlink(mod.path)
def test_pickle_retention(self): # get our modules mod = pickle_retention_file_generic.Pickle_retention_generic( modconf, 'tmp/retention-test.dat') try: os.unlink(mod.path) except: pass sl = get_instance(mod) # Hack here :( sl.properties = {} sl.properties['to_queue'] = None sl.init() svc = self.sched.services.find_srv_by_name_and_hostname( "test_host_0", "test_ok_0") self.scheduler_loop(1, [[svc, 2, 'BAD | value1=0 value2=0']]) self.sched.get_new_broks() # Saving the broks we got old_broks = copy.copy(self.sched.broks) # Now get a real broker object broker = Broker('', False, False, False, None) broker.broks = self.sched.broks.values() sl.hook_save_retention(broker) #, l) # update the hosts and service in the scheduler in the retention-file # Now we clean the source, like if we restart broker.broks = [] self.assertEqual(len(broker.broks), 0) r = sl.hook_load_retention(broker) # We check we load them :) for b in old_broks.values(): found = False for b2 in broker.broks: if b2.id == b.id: found = True self.assertTrue(found) # Ok, we can delete the retention file os.unlink(mod.path)