Пример #1
0
    def test_trigger_get_all_sort_keys_and_dir(self):
        values = [{'id': '001', 'name': 'trigger1', 'type': 'C'},
                  {'id': '002', 'name': 'trigger3', 'type': 'B'},
                  {'id': '003', 'name': 'trigger2', 'type': 'A'}]

        for v in values:
            self._create_trigger(self.ctx, **v)

        triggers = db_api.trigger_get_all(self.ctx, sort_keys=['name', 'type'],
                                          sort_dir='asc')
        self.assertEqual(3, len(triggers))
        # Sorted by name
        self.assertEqual('001', triggers[0].id)
        self.assertEqual('003', triggers[1].id)
        self.assertEqual('002', triggers[2].id)

        triggers = db_api.trigger_get_all(self.ctx, sort_keys=['type', 'name'],
                                          sort_dir='asc')
        self.assertEqual(3, len(triggers))
        # Sorted by levels (ascending)
        self.assertEqual('003', triggers[0].id)
        self.assertEqual('002', triggers[1].id)
        self.assertEqual('001', triggers[2].id)

        triggers = db_api.trigger_get_all(self.ctx, sort_keys=['type', 'name'],
                                          sort_dir='desc')
        self.assertEqual(3, len(triggers))
        # Sorted by statuses (descending)
        self.assertEqual('001', triggers[0].id)
        self.assertEqual('002', triggers[1].id)
        self.assertEqual('003', triggers[2].id)
Пример #2
0
    def test_trigger_get_all_with_filters(self):
        for name in ['trigger1', 'trigger2']:
            self._create_trigger(self.ctx, name=name)

        filters = {'name': ['trigger1', 'triggerx']}
        results = db_api.trigger_get_all(self.ctx, filters=filters)
        self.assertEqual(1, len(results))
        self.assertEqual('trigger1', results[0]['name'])

        filters = {'name': 'trigger1'}
        results = db_api.trigger_get_all(self.ctx, filters=filters)
        self.assertEqual(1, len(results))
        self.assertEqual('trigger1', results[0]['name'])
Пример #3
0
    def test_trigger_get_all_with_filters(self):
        for name in ['trigger1', 'trigger2']:
            self._create_trigger(self.ctx, name=name)

        filters = {'name': ['trigger1', 'triggerx']}
        results = db_api.trigger_get_all(self.ctx, filters=filters)
        self.assertEqual(1, len(results))
        self.assertEqual('trigger1', results[0]['name'])

        filters = {'name': 'trigger1'}
        results = db_api.trigger_get_all(self.ctx, filters=filters)
        self.assertEqual(1, len(results))
        self.assertEqual('trigger1', results[0]['name'])
Пример #4
0
    def test_trigger_get_all_used_sort_keys(self):
        ids = ['trigger1', 'trigger2', 'trigger3']
        for pid in ids:
            self._create_trigger(self.ctx, id=pid)

        mock_paginate = self.patchobject(db_api.utils, 'paginate_query')
        sort_keys = ['created_time', 'id', 'name', 'type', 'updated_time']

        db_api.trigger_get_all(self.ctx, sort_keys=sort_keys)

        args = mock_paginate.call_args[0]
        used_sort_keys = set(args[3])
        expected_keys = set(
            ['id', 'type', 'name', 'created_time', 'updated_time'])
        self.assertEqual(expected_keys, used_sort_keys)
Пример #5
0
    def test_trigger_get_all_used_sort_keys(self):
        ids = ['trigger1', 'trigger2', 'trigger3']
        for pid in ids:
            self._create_trigger(self.ctx, id=pid)

        mock_paginate = self.patchobject(db_api.utils, 'paginate_query')
        sort_keys = ['created_time', 'id', 'name', 'type', 'updated_time']

        db_api.trigger_get_all(self.ctx, sort_keys=sort_keys)

        args = mock_paginate.call_args[0]
        used_sort_keys = set(args[3])
        expected_keys = set(['id', 'type', 'name', 'created_time',
                             'updated_time'])
        self.assertEqual(expected_keys, used_sort_keys)
Пример #6
0
    def test_trigger_get_all_with_empty_filters(self):
        for name in ['trigger1', 'trigger2']:
            self._create_trigger(self.ctx, name=name)

        filters = None
        results = db_api.trigger_get_all(self.ctx, filters=filters)
        self.assertEqual(2, len(results))
Пример #7
0
    def test_trigger_get_all_with_empty_filters(self):
        for name in ['trigger1', 'trigger2']:
            self._create_trigger(self.ctx, name=name)

        filters = None
        results = db_api.trigger_get_all(self.ctx, filters=filters)
        self.assertEqual(2, len(results))
Пример #8
0
    def test_trigger_get_all_with_limit_marker(self):
        ids = ['trigger1', 'trigger2', 'trigger3']
        for pid in ids:
            timestamp = timeutils.utcnow()
            self._create_trigger(self.ctx, id=pid, created_time=timestamp)

        # different limit settings
        triggers = db_api.trigger_get_all(self.ctx, limit=1)
        self.assertEqual(1, len(triggers))

        triggers = db_api.trigger_get_all(self.ctx, limit=2)
        self.assertEqual(2, len(triggers))

        # a large limit
        triggers = db_api.trigger_get_all(self.ctx, limit=5)
        self.assertEqual(3, len(triggers))

        # use marker here
        triggers = db_api.trigger_get_all(self.ctx, marker='trigger1')
        self.assertEqual(2, len(triggers))

        triggers = db_api.trigger_get_all(self.ctx, marker='trigger2')
        self.assertEqual(1, len(triggers))

        triggers = db_api.trigger_get_all(self.ctx, marker='trigger3')
        self.assertEqual(0, len(triggers))

        triggers = db_api.trigger_get_all(self.ctx, limit=1, marker='trigger1')
        self.assertEqual(1, len(triggers))
Пример #9
0
    def test_trigger_get_all_with_limit_marker(self):
        ids = ['trigger1', 'trigger2', 'trigger3']
        for pid in ids:
            timestamp = timeutils.utcnow()
            self._create_trigger(self.ctx, id=pid, created_time=timestamp)

        # different limit settings
        triggers = db_api.trigger_get_all(self.ctx, limit=1)
        self.assertEqual(1, len(triggers))

        triggers = db_api.trigger_get_all(self.ctx, limit=2)
        self.assertEqual(2, len(triggers))

        # a large limit
        triggers = db_api.trigger_get_all(self.ctx, limit=5)
        self.assertEqual(3, len(triggers))

        # use marker here
        triggers = db_api.trigger_get_all(self.ctx, marker='trigger1')
        self.assertEqual(2, len(triggers))

        triggers = db_api.trigger_get_all(self.ctx, marker='trigger2')
        self.assertEqual(1, len(triggers))

        triggers = db_api.trigger_get_all(self.ctx, marker='trigger3')
        self.assertEqual(0, len(triggers))

        triggers = db_api.trigger_get_all(self.ctx, limit=1, marker='trigger1')
        self.assertEqual(1, len(triggers))
Пример #10
0
    def test_trigger_get_all_sort_keys_and_dir(self):
        values = [{
            'id': '001',
            'name': 'trigger1',
            'type': 'C'
        }, {
            'id': '002',
            'name': 'trigger3',
            'type': 'B'
        }, {
            'id': '003',
            'name': 'trigger2',
            'type': 'A'
        }]

        for v in values:
            self._create_trigger(self.ctx, **v)

        triggers = db_api.trigger_get_all(self.ctx,
                                          sort_keys=['name', 'type'],
                                          sort_dir='asc')
        self.assertEqual(3, len(triggers))
        # Sorted by name
        self.assertEqual('001', triggers[0].id)
        self.assertEqual('003', triggers[1].id)
        self.assertEqual('002', triggers[2].id)

        triggers = db_api.trigger_get_all(self.ctx,
                                          sort_keys=['type', 'name'],
                                          sort_dir='asc')
        self.assertEqual(3, len(triggers))
        # Sorted by levels (ascending)
        self.assertEqual('003', triggers[0].id)
        self.assertEqual('002', triggers[1].id)
        self.assertEqual('001', triggers[2].id)

        triggers = db_api.trigger_get_all(self.ctx,
                                          sort_keys=['type', 'name'],
                                          sort_dir='desc')
        self.assertEqual(3, len(triggers))
        # Sorted by statuses (descending)
        self.assertEqual('001', triggers[0].id)
        self.assertEqual('002', triggers[1].id)
        self.assertEqual('003', triggers[2].id)
Пример #11
0
    def test_trigger_get_all_default_sort_dir(self):
        triggers = []
        for x in range(3):
            trigger = self._create_trigger(self.ctx,
                                           created_time=timeutils.utcnow())
            triggers.append(trigger)

        results = db_api.trigger_get_all(self.ctx, sort_dir='asc')
        self.assertEqual(3, len(results))
        self.assertEqual(triggers[0].id, results[0].id)
        self.assertEqual(triggers[1].id, results[1].id)
        self.assertEqual(triggers[2].id, results[2].id)
Пример #12
0
    def test_trigger_get_all_default_sort_dir(self):
        triggers = []
        for x in range(3):
            trigger = self._create_trigger(self.ctx,
                                           created_time=timeutils.utcnow())
            triggers.append(trigger)

        results = db_api.trigger_get_all(self.ctx, sort_dir='asc')
        self.assertEqual(3, len(results))
        self.assertEqual(triggers[0].id, results[0].id)
        self.assertEqual(triggers[1].id, results[1].id)
        self.assertEqual(triggers[2].id, results[2].id)
Пример #13
0
    def test_trigger_get_all(self):
        ids = ['trigger1', 'trigger2']

        for pid in ids:
            self._create_trigger(self.ctx, id=pid)

        triggers = db_api.trigger_get_all(self.ctx)
        self.assertEqual(2, len(triggers))
        trigger_ids = [p.id for p in triggers]
        for pid in ids:
            self.assertIn(pid, trigger_ids)

        # test show_deleted here
        db_api.trigger_delete(self.ctx, triggers[1].id)

        # after delete one of them
        triggers = db_api.trigger_get_all(self.ctx)
        self.assertEqual(1, len(triggers))

        triggers = db_api.trigger_get_all(self.ctx, show_deleted=False)
        self.assertEqual(1, len(triggers))

        triggers = db_api.trigger_get_all(self.ctx, show_deleted=True)
        self.assertEqual(2, len(triggers))

        # after delete both triggers
        db_api.trigger_delete(self.ctx, triggers[0].id)

        triggers = db_api.trigger_get_all(self.ctx)
        self.assertEqual(0, len(triggers))
        triggers = db_api.trigger_get_all(self.ctx, show_deleted=True)
        self.assertEqual(2, len(triggers))
Пример #14
0
    def test_trigger_get_all(self):
        ids = ['trigger1', 'trigger2']

        for pid in ids:
            self._create_trigger(self.ctx, id=pid)

        triggers = db_api.trigger_get_all(self.ctx)
        self.assertEqual(2, len(triggers))
        trigger_ids = [p.id for p in triggers]
        for pid in ids:
            self.assertIn(pid, trigger_ids)

        # test show_deleted here
        db_api.trigger_delete(self.ctx, triggers[1].id)

        # after delete one of them
        triggers = db_api.trigger_get_all(self.ctx)
        self.assertEqual(1, len(triggers))

        triggers = db_api.trigger_get_all(self.ctx, show_deleted=False)
        self.assertEqual(1, len(triggers))

        triggers = db_api.trigger_get_all(self.ctx, show_deleted=True)
        self.assertEqual(2, len(triggers))

        # after delete both triggers
        db_api.trigger_delete(self.ctx, triggers[0].id)

        triggers = db_api.trigger_get_all(self.ctx)
        self.assertEqual(0, len(triggers))
        triggers = db_api.trigger_get_all(self.ctx, show_deleted=True)
        self.assertEqual(2, len(triggers))
Пример #15
0
    def test_trigger_get_all_project_safe(self):
        self._create_trigger(self.ctx, id='ID1', project='P1')
        triggers = db_api.trigger_get_all(self.ctx)
        self.assertEqual(0, len(triggers))
        triggers = db_api.trigger_get_all(self.ctx, project_safe=True)
        self.assertEqual(0, len(triggers))
        triggers = db_api.trigger_get_all(self.ctx, project_safe=False)
        self.assertEqual(1, len(triggers))

        self.ctx.project = 'P1'
        triggers = db_api.trigger_get_all(self.ctx)
        self.assertEqual(1, len(triggers))
        triggers = db_api.trigger_get_all(self.ctx, project_safe=True)
        self.assertEqual(1, len(triggers))
        triggers = db_api.trigger_get_all(self.ctx, project_safe=False)
        self.assertEqual(1, len(triggers))
Пример #16
0
    def test_trigger_get_all_project_safe(self):
        self._create_trigger(self.ctx, id='ID1', project='P1')
        triggers = db_api.trigger_get_all(self.ctx)
        self.assertEqual(0, len(triggers))
        triggers = db_api.trigger_get_all(self.ctx, project_safe=True)
        self.assertEqual(0, len(triggers))
        triggers = db_api.trigger_get_all(self.ctx, project_safe=False)
        self.assertEqual(1, len(triggers))

        self.ctx.project = 'P1'
        triggers = db_api.trigger_get_all(self.ctx)
        self.assertEqual(1, len(triggers))
        triggers = db_api.trigger_get_all(self.ctx, project_safe=True)
        self.assertEqual(1, len(triggers))
        triggers = db_api.trigger_get_all(self.ctx, project_safe=False)
        self.assertEqual(1, len(triggers))
Пример #17
0
 def test_trigger_get_all_sort_keys_wont_change(self):
     sort_keys = ['id']
     db_api.trigger_get_all(self.ctx, sort_keys=sort_keys)
     self.assertEqual(['id'], sort_keys)
Пример #18
0
 def test_trigger_get_all_sort_keys_wont_change(self):
     sort_keys = ['id']
     db_api.trigger_get_all(self.ctx, sort_keys=sort_keys)
     self.assertEqual(['id'], sort_keys)