예제 #1
0
    def test_get_queue_abandoned_call_following_transfer_at_hour_border(self):
        queue_logs = [
            # New call in queue2
            ('2015-05-06 11:59:52.991930', '1430927991.36', 'queue2', 'NONE',
             'ENTERQUEUE', '', '0612345678', '1', '', ''),
            ('2015-05-06 12:00:02.110492', '1430927991.36', 'queue2',
             'Agent/1002', 'CONNECT', '10', '1430927992.37', '9', '', ''),
            ('2015-05-06 12:00:10.804470', '1430927991.36', 'queue2',
             'Agent/1002', 'COMPLETECALLER', '10', '8', '1', '', ''),
            # Agent/1002 blind txfer the call to queue1
            ('2015-05-06 12:00:10.883332', '1430927991.36', 'queue1', 'NONE',
             'ENTERQUEUE', '', '0612345678', '1', '', ''),
            ('2015-05-06 12:00:25.887220', '1430927991.36', 'queue1',
             'Agent/1001', 'RINGNOANSWER', '15000', '', '', '', ''),
            ('2015-05-06 12:00:29.197769', '1430927991.36', 'queue1', 'NONE',
             'ABANDON', '1', '1', '19', '', ''),
        ]
        for queue_log in queue_logs:
            queue_log_dao.insert_entry(*queue_log)

        abandoned_at_11_oclock = list(
            queue_log_dao.get_queue_abandoned_call(
                self.session, datetime(2015, 5, 6, 11, tzinfo=UTC),
                datetime(2015, 5, 6, 11, 59, 59, 999999, tzinfo=UTC)))
        abandoned_at_12_oclock = list(
            queue_log_dao.get_queue_abandoned_call(
                self.session, datetime(2015, 5, 6, 12, tzinfo=UTC),
                datetime(2015, 5, 6, 12, 59, 59, 999999, tzinfo=UTC)))

        assert_that(abandoned_at_11_oclock, empty())
        assert_that(abandoned_at_12_oclock, has_length(1))
예제 #2
0
    def test_get_queue_abandoned_call(self):
        start = datetime(2012, 01, 01, 01, 00, 00)
        expected = self._insert_abandon(start, [-1, 0, 10, 30, 59, 60, 120])

        result = queue_log_dao.get_queue_abandoned_call(self.session, start, start + ONE_HOUR - ONE_MICROSECOND)

        self.assertEqual(sorted(result), sorted(expected))
예제 #3
0
    def test_get_queue_abandoned_call(self):
        start = datetime(2012, 01, 01, 01, 00, 00)
        expected = self._insert_abandon(start, [-1, 0, 10, 30, 59, 60, 120])

        result = queue_log_dao.get_queue_abandoned_call(
            self.session, start, start + ONE_HOUR - ONE_MICROSECOND)

        self.assertEqual(sorted(result), sorted(expected))
예제 #4
0
파일: queue.py 프로젝트: jaunis/xivo-stat
def fill_abandoned_call(dao_sess, start, end):
    abandoned_calls = queue_log_dao.get_queue_abandoned_call(dao_sess, start, end)
    for call in abandoned_calls:
        stat_call_on_queue_dao.add_abandoned_call(dao_sess,
                                                  call['callid'],
                                                  call['time'],
                                                  call['queue_name'],
                                                  call['waittime'])
예제 #5
0
def fill_abandoned_call(dao_sess, start, end):
    abandoned_calls = queue_log_dao.get_queue_abandoned_call(
        dao_sess, start, end)
    for call in abandoned_calls:
        stat_call_on_queue_dao.add_abandoned_call(dao_sess, call['callid'],
                                                  call['time'],
                                                  call['queue_name'],
                                                  call['waittime'])
예제 #6
0
    def test_get_queue_abandoned_call(self):
        start = datetime(2012, 1, 1, 1, 0, 0, tzinfo=UTC)
        expected = self._insert_abandon(start, [-1, 0, 10, 30, 59, 60, 120])

        result = queue_log_dao.get_queue_abandoned_call(
            self.session, start, start + ONE_HOUR - ONE_MICROSECOND)

        assert_that(result, contains_inanyorder(*expected))
예제 #7
0
    def test_get_queue_abandoned_call_following_transfer_at_hour_border(self):
        queue_logs = [
            # New call in queue2
            ('2015-05-06 11:59:52.991930', '1430927991.36', 'queue2', 'NONE', 'ENTERQUEUE', '', '0612345678', '1', '', ''),
            ('2015-05-06 12:00:02.110492', '1430927991.36', 'queue2', 'Agent/1002', 'CONNECT', '10', '1430927992.37', '9', '', ''),
            ('2015-05-06 12:00:10.804470', '1430927991.36', 'queue2', 'Agent/1002', 'COMPLETECALLER', '10', '8', '1', '', ''),
            # Agent/1002 blind txfer the call to queue1
            ('2015-05-06 12:00:10.883332', '1430927991.36', 'queue1', 'NONE', 'ENTERQUEUE', '', '0612345678', '1', '', ''),
            ('2015-05-06 12:00:25.887220', '1430927991.36', 'queue1', 'Agent/1001', 'RINGNOANSWER', '15000', '', '', '', ''),
            ('2015-05-06 12:00:29.197769', '1430927991.36', 'queue1', 'NONE', 'ABANDON', '1', '1', '19', '', ''),
        ]
        for queue_log in queue_logs:
            queue_log_dao.insert_entry(*queue_log)

        abandoned_at_11_oclock = list(queue_log_dao.get_queue_abandoned_call(self.session, datetime(2015, 5, 6, 11), datetime(2015, 5, 6, 11, 59, 59, 999999)))
        abandoned_at_12_oclock = list(queue_log_dao.get_queue_abandoned_call(self.session, datetime(2015, 5, 6, 12), datetime(2015, 5, 6, 12, 59, 59, 999999)))

        assert_that(abandoned_at_11_oclock, empty())
        assert_that(abandoned_at_12_oclock, has_length(1))
예제 #8
0
    def test_get_queue_abandoned_call_no_enterqueue(self):
        queue_logs = [
            ('2015-05-06 12:00:10', '1', 'queue1', 'NONE', 'ENTERQUEUE', '', '0612345678', '1', '', ''),
            ('2015-05-06 12:00:11', '1', 'queue1', 'NONE', 'ABANDON', '1', '1', '19', '', ''),
            ('2015-05-06 12:00:12', '2', 'queue1', 'NONE', 'ABANDON', '1', '1', '30', '', ''),
        ]
        for queue_log in queue_logs:
            queue_log_dao.insert_entry(*queue_log)

        abandoned_at_12_oclock = list(queue_log_dao.get_queue_abandoned_call(self.session, datetime(2015, 5, 6, 12), datetime(2015, 5, 6, 12, 59, 59, 999999)))

        assert_that(abandoned_at_12_oclock, has_length(1))
예제 #9
0
    def test_get_queue_abandoned_call_no_enterqueue(self):
        queue_logs = [
            ('2015-05-06 12:00:10', '1', 'queue1', 'NONE', 'ENTERQUEUE', '',
             '0612345678', '1', '', ''),
            ('2015-05-06 12:00:11', '1', 'queue1', 'NONE', 'ABANDON', '1', '1',
             '19', '', ''),
            ('2015-05-06 12:00:12', '2', 'queue1', 'NONE', 'ABANDON', '1', '1',
             '30', '', ''),
        ]
        for queue_log in queue_logs:
            queue_log_dao.insert_entry(*queue_log)

        abandoned_at_12_oclock = list(
            queue_log_dao.get_queue_abandoned_call(
                self.session, datetime(2015, 5, 6, 12, tzinfo=UTC),
                datetime(2015, 5, 6, 12, 59, 59, 999999, tzinfo=UTC)))

        assert_that(abandoned_at_12_oclock, has_length(1))