def remove_between(dao_sess, start, end): logger.info('Removing queue cache between %s - %s', start, end) callids = stat_call_on_queue_dao.find_all_callid_between_date( dao_sess, start, end) if callids: stat_call_on_queue_dao.remove_callids(dao_sess, callids) stat_queue_periodic_dao.remove_after(dao_sess, start)
def test_remove_callid_before(self): callid1 = 'callid1' callid2 = 'callid2' callid3 = 'callid3' queue_name, _ = self._insert_queue_to_stat_queue() stat_call_on_queue_dao.add_full_call( self.session, callid1, dt(2012, 1, 1, 9, 34, 32, tzinfo=UTC), queue_name) stat_call_on_queue_dao.add_full_call( self.session, callid1, dt(2012, 1, 1, 10, 11, 12, tzinfo=UTC), queue_name) stat_call_on_queue_dao.add_full_call( self.session, callid1, dt(2012, 1, 1, 10, 59, 59, tzinfo=UTC), queue_name) stat_call_on_queue_dao.add_full_call( self.session, callid2, dt(2012, 1, 1, 10, 11, 12, tzinfo=UTC), queue_name) stat_call_on_queue_dao.add_full_call( self.session, callid3, dt(2012, 1, 1, 11, 22, 59, tzinfo=UTC), queue_name) stat_call_on_queue_dao.remove_callids(self.session, [callid1, callid2, callid3]) callids = self.session.query(StatCallOnQueue.callid) self.assertEqual(callids.count(), 0)
def test_remove_callid_before(self): callid1 = 'callid1' callid2 = 'callid2' callid3 = 'callid3' queue_name, _ = self._insert_queue_to_stat_queue() stat_call_on_queue_dao.add_full_call(self.session, callid1, datetime.datetime(2012, 1, 1, 9, 34, 32), queue_name) stat_call_on_queue_dao.add_full_call(self.session, callid1, datetime.datetime(2012, 1, 1, 10, 11, 12), queue_name) stat_call_on_queue_dao.add_full_call(self.session, callid1, datetime.datetime(2012, 1, 1, 10, 59, 59), queue_name) stat_call_on_queue_dao.add_full_call(self.session, callid2, datetime.datetime(2012, 1, 1, 10, 11, 12), queue_name) stat_call_on_queue_dao.add_full_call(self.session, callid3, datetime.datetime(2012, 1, 1, 11, 22, 59), queue_name) stat_call_on_queue_dao.remove_callids(self.session, [callid1, callid2, callid3]) callids = self.session.query(StatCallOnQueue.callid) self.assertEqual(callids.count(), 0)
def test_that_completed_calls_cannot_be_added_twice(self): # Given the same time boundaries, a call should be added and deleted to avoid duplicate calls # this test case shows an example with a call starting at 10 and ending at 11 that will only # be generated at 11 but that will not be deleted at 11 begin, end = t(2014, 7, 3, 11, 0, 0), t(2014, 7, 3, 11, 59, 59, 999999) self.add_me_all([self.enterqueue_event, self.connect_event, self.complete_agent_event]) stat_dao.fill_answered_calls(self.session, begin, end) callids = stat_call_on_queue_dao.find_all_callid_between_date(self.session, begin, end) stat_call_on_queue_dao.remove_callids(self.session, callids) stat_dao.fill_answered_calls(self.session, begin, end) count = self.session.query( func.count(StatCallOnQueue.callid) ).filter(StatCallOnQueue.callid == self.callid).scalar() assert_that(count, equal_to(1))
def remove_between(dao_sess, start, end): logger.info('Removing queue cache between %s - %s', start, end) callids = stat_call_on_queue_dao.find_all_callid_between_date(dao_sess, start, end) if callids: stat_call_on_queue_dao.remove_callids(dao_sess, callids) stat_queue_periodic_dao.remove_after(dao_sess, start)