def test_01_InitPutGet(self): global selector selector = cselector(name="myselector", namespace='unittest', storage=storage) selector.nocache = True _id = selector._id print "Selector Id: %s" % _id dump = selector.dump() ## Put in db storage.put(selector) ## Load selector = cselector(name="myselector", storage=storage) ndump = selector.dump() if dump['_id'] != ndump['_id'] or dump['namespace'] != ndump[ 'namespace'] or dump['mfilter'] != ndump['mfilter'] or dump[ 'aaa_owner'] != ndump['aaa_owner']: print dump print ndump raise Exception('Invalid dump ...')
def load_selectors(self): ## Load selectors self.clean_selectors() ## New selector or modified selector records = self.storage.find({'crecord_type': 'selector', 'loaded': False, 'enable': True}, namespace="object") for record in records: self.logger.debug("Load selector %s: %s" % (record._id, record.name)) _id = record._id # Set loaded self.storage.update(_id, {'loaded': True}) # Del old if self.selectors.get(_id, None): del self.selectors[_id] del self.selectors_events[_id] ## store self.selectors[_id] = cselector(storage=self.storage, record=record, logging_level=self.logging_level) self.selectors_events[_id] = 0 ## Publish state (rk, event) = self.selectors[_id].event() if event: # Set State self.storage.update(_id, {'state': event['state']}) # Publish self.amqp.publish(event, rk, self.amqp.exchange_name_events)
def test_01_Init(self): self.engine.pre_run() selectorTest = cselector(self.storage, name='selectorTest') selectorTest.mfilter = {'test_key': 'value'} selectorTest.load(selectorTest.dump()) self.engine.selectors = [selectorTest] self.engine.work({'test_key': 'not a value'}) self.assertTrue(self.engine.selector_refresh == {}) self.engine.selectors = [selectorTest] self.engine.work({'test_key': 'value'}) self.assertTrue(self.engine.selector_refresh == {'selector.account.root.selectorTest': True}) from camqp import camqp self.engine.amqp = camqp(logging_level=logging.INFO, logging_name="test selector engine") for event_append in xrange(10): self.engine.beat() self.engine.beat() self.engine.post_run()
def test_01_Init(self): self.engine.pre_run() selectorTest = cselector(self.storage, name='selectorTest') selectorTest.mfilter = {'test_key': 'value'} selectorTest.load(selectorTest.dump()) self.engine.selectors = [selectorTest] self.engine.work({'test_key':'not a value'}) self.assertTrue(self.engine.selector_refresh == {}) self.engine.selectors = [selectorTest] self.engine.work({'test_key':'value'}) self.assertTrue(self.engine.selector_refresh == {'selector.account.root.selectorTest': True}) from camqp import camqp self.engine.amqp = camqp(logging_level=logging.INFO, logging_name="test selector engine") for event_append in xrange(10): self.engine.beat() self.engine.beat() self.engine.post_run()
def reload_selectors(self): self.selectors = [] selectorsjson = self.storage.find({'crecord_type': 'selector', 'enable': True}, namespace="object") for selectorjson in selectorsjson: # let say selector is loaded self.storage.update(selectorjson._id, {'loaded': True}) selector = cselector(storage=self.storage, record=selectorjson, logging_level=self.logging_level) self.selectors.append(selector)
def test_01_InitPutGet(self): global selector selector = cselector(name="myselector", namespace='unittest', storage=storage) selector.nocache = True _id = selector._id print "Selector Id: %s" % _id dump = selector.dump() ## Put in db storage.put(selector) ## Load selector = cselector(name="myselector", storage=storage) ndump = selector.dump() if dump['_id'] != ndump['_id'] or dump['namespace'] != ndump['namespace'] or dump['mfilter'] != ndump['mfilter'] or dump['aaa_owner'] != ndump['aaa_owner']: print dump print ndump raise Exception('Invalid dump ...')
def reload_selectors(self): self.selectors = [] selectorsjson = self.storage.find( { 'crecord_type': 'selector', 'enable': True }, namespace="object") for selectorjson in selectorsjson: # let say selector is loaded self.storage.update(selectorjson._id, {'loaded': True}) selector = cselector(storage=self.storage, record=selectorjson, logging_level=self.logging_level) self.selectors.append(selector)
def load_selectors(self): ## Load selectors self.clean_selectors() ## New selector or modified selector records = self.storage.find( { 'crecord_type': 'selector', 'loaded': False, 'enable': True }, namespace="object") for record in records: self.logger.debug("Load selector %s: %s" % (record._id, record.name)) _id = record._id # Set loaded self.storage.update(_id, {'loaded': True}) # Del old if self.selectors.get(_id, None): del self.selectors[_id] del self.selectors_events[_id] ## store self.selectors[_id] = cselector(storage=self.storage, record=record, logging_level=self.logging_level) self.selectors_events[_id] = 0 ## Publish state if self.selectors[_id].dostate: (rk, event) = self.selectors[_id].event() if event: # Set State self.storage.update(_id, {'state': event['state']}) # Publish self.amqp.publish(event, rk, self.amqp.exchange_name_events)