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)
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), ))
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)
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)