def test_insert_if_missing(self):
        # queue1: in confd + in cel + in stat
        # queue2: in confd + not in cel + in stat
        # queue3: in confd + not in cel + not in stat',
        # queue4: in confd + in cel + not in stat',
        # queue5: not in confd + in cel + not in stat',
        # queue6: not in confd + in cel + in stat',
        # queue7: not in confd + not in cel + in stat',
        confd_queues = [
            {
                'id': 1,
                'name': 'queue1',
                'tenant_uuid': 'tenant1',
            },
            {
                'id': 2,
                'name': 'queue2',
                'tenant_uuid': 'tenant2',
            },
            {
                'id': 3,
                'name': 'queue3',
                'tenant_uuid': 'tenant3',
            },
            {
                'id': 4,
                'name': 'queue4',
                'tenant_uuid': 'tenant4',
            },
        ]
        self._insert_queue('queue1', 'tenant1', 1)
        self._insert_queue('queue2', 'tenant2', 2)
        self._insert_queue('queue6', 'tenant6', 6)
        self._insert_queue('queue7', 'tenant7', 7)

        new_queues = ['queue1', 'queue4', 'queue5']
        master_tenant = str(uuid.uuid4())

        with flush_session(self.session):
            stat_queue_dao.insert_if_missing(self.session, new_queues,
                                             confd_queues, master_tenant)

        result = self._fetch_stat_queues()
        assert_that(
            result,
            contains_inanyorder(
                ('queue1', 'tenant1', 1, False),
                ('queue2', 'tenant2', 2, False),
                ('queue3', 'tenant3', 3, False),
                ('queue4', 'tenant4', 4, False),
                ('queue5', master_tenant, None, True),
                ('queue6', 'tenant6', 6, True),
                ('queue7', 'tenant7', 7, True),
            ))
    def test_insert_if_missing(self):
        old_queues = ['queue_%s' % number for number in range(5)]
        for queue_name in old_queues:
            self._insert_queue(queue_name)

        new_queues = ['queue_%s' % number for number in range(5, 10)]

        all_queues = sorted(old_queues + new_queues)

        with flush_session(self.session):
            stat_queue_dao.insert_if_missing(self.session, all_queues)

        result = sorted(r.name for r in self.session.query(StatQueue.name))

        self.assertEqual(result, all_queues)
Example #3
0
    def test_insert_if_missing(self):
        old_queues = ['queue_%s' % number for number in range(5)]
        for queue_name in old_queues:
            self._insert_queue(queue_name)

        new_queues = ['queue_%s' % number for number in range(5, 10)]

        all_queues = sorted(old_queues + new_queues)

        self.session.begin()
        stat_queue_dao.insert_if_missing(self.session, all_queues)
        self.session.commit()

        result = sorted(r.name for r in self.session.query(StatQueue.name))

        self.assertEqual(result, all_queues)
    def test_when_queue_marked_as_deleted_then_new_one_is_created(self):
        confd_queues = [{'id': 1, 'name': 'queue', 'tenant_uuid': 'tenant'}]
        self._insert_queue('queue', 'tenant', queue_id=999, deleted=True)
        new_queues = ['queue']
        master_tenant = str(uuid.uuid4())

        with flush_session(self.session):
            stat_queue_dao.insert_if_missing(self.session, new_queues,
                                             confd_queues, master_tenant)

        result = self._fetch_stat_queues()
        assert_that(
            result,
            contains_inanyorder(
                ('queue', 'tenant', 1, False),
                ('queue_', 'tenant', 999, True),
            ))
Example #5
0
def insert_missing_queues(start, end):
    logger.info('Inserting missing queues...')
    queue_names = queue_log_dao.get_queue_names_in_range(dao_sess, start, end)
    stat_queue_dao.insert_if_missing(dao_sess, queue_names)
Example #6
0
def insert_missing_queues(dao_sess, start, end, confd_queues, master_tenant):
    logger.info('Inserting missing queues...')
    queue_names = queue_log_dao.get_queue_names_in_range(dao_sess, start, end)
    stat_queue_dao.insert_if_missing(dao_sess, queue_names, confd_queues,
                                     master_tenant)