def test1stTriggerActivation(self): '1st trigger activation' self.updateTriggersWrapper.wait() checkData = self.channelServerObj.check( CheckQuery(1, "1", time2orb(self.checkTimeStamp), [], False)) self.assertEqual(self.checkTimeStamp, orb2time(checkData.master_stamp)) result = self.channelServerObj.update_triggers([13, 14]) tlog(10, "ChannelServer.update_triggers([13,14]): %s" % result) self.assertEqual(1, len(result.channels), 'channel size') self.assertEqual(13, result.channels[0].channel_id, 'channel#1.id') self.assertNotEqual(None, orb2time(result.channels[0].stamp), 'channel#1.stamp') self.assertNotEqual(1, len(result.channels[0].words), 'channel#1.triggers') self.updateTriggersWrapper.proceed() self.checkCallSequence(expCalls=['ChannelProxy_update_triggers'], timeout=10)
def testDelayedSimpleChannels(self): 'CampaignServer simple_channels delayed' tlog(10, "Calls: %s" % self.calls.queue) self.checkLastCall('CampaignServer_chsv_simple_channels', timeout=2) checkData = self.channelServerObj.check( CheckQuery(1, "1", time2orb(), [], False)) self.assertNotEqual(self.checkTimeStamp, orb2time(checkData.master_stamp), 'CheckData.master_stamp') self.checkTimeStamp = orb2time(checkData.master_stamp) self.assertEqual(False, checkData.special_track, 'CheckData.special_track') self.assertEqual(False, checkData.special_adv, 'CheckData.special_adv') result = self.channelServerObj.update_triggers([13, 14]) self.assertEqual(0, len(result.channels), 'channel size') self.simpleChannelWrapper.proceed() tlog(10, "Calls: %s" % self.calls.queue)
def testDelayedUpdate(self): 'ChannelProxy update delayed' self.updateTriggersWrapper.wait() checkData = self.channelServerObj.check( CheckQuery(1, "1", time2orb(self.checkTimeStamp), [], False)) self.assertEqual(self.checkTimeStamp, orb2time(checkData.master_stamp)) result = self.channelServerObj.update_triggers([13, 14]) self.assertEqual(0, len(result.channels), 'channel size') self.updateTriggersWrapper.proceed() self.checkCallSequence(expCalls=['ChannelProxy_update_triggers'], timeout=10)
def test2ndTriggerActivation(self): '2nd trigger activation' self.checkCallSequence( expCalls=[CallSequence('CampaignServer_chsv_simple_channels', 20)], timeout=10) checkData = self.channelServerObj.check( CheckQuery(1, "1", time2orb(self.checkTimeStamp), [], False)) self.assertNotEqual(self.checkTimeStamp, orb2time(checkData.master_stamp)) self.channelServerObj.update_triggers([13, 14]) result = self.channelServerObj.update_triggers([13, 14]) tlog(10, "ChannelServer.update_triggers([13,14]): %s" % result) self.assertEqual(2, len(result.channels), 'channel size') self.assertEqual(13, result.channels[0].channel_id, 'channel#1.id') self.assertEqual(14, result.channels[1].channel_id, 'channel#2.id') self.assertNotEqual(None, orb2time(result.channels[0].stamp), 'channel#1.stamp') self.assertNotEqual(None, orb2time(result.channels[1].stamp), 'channel#2.stamp') self.assertNotEqual(1, len(result.channels[0].words), 'channel#1.triggers') self.assertNotEqual(1, len(result.channels[1].words), 'channel#2.triggers')
def testPrepare(self): '1st full update withot delays' self.checkCallSequence(expCalls=[ CallSequence('CampaignServer_chsv_simple_channels', 20), 'ChannelProxy_check', 'ChannelProxy_update_all_ccg', 'ChannelProxy_update_triggers' ], timeout=2) self.ChannelServer.waitReady() checkData = self.channelServerObj.check( CheckQuery(1, "1", time2orb(), [], False)) self.assertNotEqual(None, orb2time(checkData.master_stamp)) result = self.channelServerObj.update_triggers([12]) self.assertEqual(1, len(result.channels), 'channel size') self.assertEqual(12, result.channels[0].channel_id, 'channel#1.id') self.assertNotEqual(None, orb2time(result.channels[0].stamp), 'channel#1.stamp') self.assertNotEqual(1, len(result.channels[0].words), 'channel#1.triggers') self.__prepareDelay() tlog(10, "Calls: %s" % self.calls.queue)
def testDelayedCheck(self): 'ChannelProxy check delayed' self.checkWrapper.wait() checkData = self.channelServerObj.check( CheckQuery(1, "1", time2orb(self.checkTimeStamp), [], False)) self.assertEqual(self.checkTimeStamp, orb2time(checkData.master_stamp), 'CheckData.master_stamp') self.assertEqual(False, checkData.special_track, 'CheckData.special_track') self.assertEqual(False, checkData.special_adv, 'CheckData.special_adv') result = self.channelServerObj.update_triggers([13, 14]) self.assertEqual(0, len(result.channels), 'channel size') self.checkWrapper.proceed() self.checkCallSequence(expCalls=[ CallSequence('CampaignServer_chsv_simple_channels', 19), 'ChannelProxy_check', 'ChannelProxy_update_all_ccg' ]) tlog(10, "Calls: %s" % self.calls.queue)
def ChannelProxy_check(self, query): tlog(10, "ChannelProxy.check(colo=%d, version='%s', timestamp='%s', new_ids=%s)" % \ (query.colo_id, query.version, time2str(orb2time(query.master_stamp)), query.new_ids)) def channel2version(channel): return ChannelVersion( channel.channel_id, reduce(lambda x, y: x+y, map(lambda x: len(x.trigger), channel.words), 0) - \ (len(channel.words) * 3), channel.stamp) return CheckData( time2orb(self.first_stamp), # first_stamp time2orb(currentTime()), # master_stamp # versions (trigger versions sequence) map(channel2version, self.channelById), self.specialTrack, # special_track self.specialAdv, # special_adv self.SourceID, # source_id time2orb(currentTime()) # max_time )
def ChannelProxy_update_all_ccg(self, query): tlog(10, "ChannelProxy.update_all_ccg(timestamp='%s', start=%d, limit=%d)" % \ (time2str(orb2time(query.master_stamp)), query.start, query.limit)) return PosCCGResult(query.start, [], [], 1)
def CampaignServer_detectors(self, request_timestamp): tlog( 10, "CampaignServer.search_engines %s" % time2str(orb2time(request_timestamp))) return DetectorsConfig(time2orb(currentTime()), self.search_engines, self.web_browsers, self.platforms)