コード例 #1
0
ファイル: test_jobs.py プロジェクト: Anonymike/quark
    def test_delete_job_with_children(self):
        job_body = dict(tenant_id=self.tenant_id, action=self.action,
                        completed=False)
        job_body = dict(job=job_body)
        parent_job = job_api.create_job(self.admin_context, job_body)
        parent_job = job_api.get_job(self.admin_context, parent_job['id'])
        self.assertIsNotNone(parent_job)
        job_body = dict(tenant_id=self.tenant_id, action=self.action,
                        completed=False, parent_id=parent_job['id'])
        job_body = dict(job=job_body)
        job = job_api.create_job(self.admin_context, job_body)
        job = job_api.get_job(self.admin_context, job['id'])
        self.assertIsNotNone(job)

        job_body = dict(tenant_id=self.tenant_id, action=self.action,
                        completed=False, parent_id=job['id'])
        job_body = dict(job=job_body)
        subjob = job_api.create_job(self.admin_context, job_body)
        subjob = job_api.get_job(self.admin_context, subjob['id'])
        self.assertIsNotNone(job)

        job_api.delete_job(self.admin_context, parent_job['id'])

        with self.assertRaises(q_exc.JobNotFound):
            job_api.get_job(self.admin_context, parent_job['id'])

        with self.assertRaises(q_exc.JobNotFound):
            job_api.get_job(self.admin_context, job['id'])

        with self.assertRaises(q_exc.JobNotFound):
            job_api.get_job(self.admin_context, subjob['id'])
コード例 #2
0
ファイル: test_jobs.py プロジェクト: roaet/quark
    def test_get_jobs(self):
        job_body = dict(tenant_id=self.tenant_id, action=self.action,
                        completed=False)
        job_body = dict(job=job_body)
        job1 = job_api.create_job(self.admin_context, job_body)
        self.assertIsNotNone(job1)

        job_body = dict(tenant_id=self.tenant_id2, action=self.action,
                        completed=True)
        job_body = dict(job=job_body)
        job2 = job_api.create_job(self.admin_context, job_body)
        self.assertIsNotNone(job2)

        jobs = job_api.get_job(self.admin_context, job1['id'])
        self.assertFalse(type(jobs) in [list, tuple])
        job = jobs
        self.assertFalse(job['completed'])
        self.assertEqual(self.tenant_id, job['tenant_id'])
        self.assertEqual(self.action, job['action'])

        job = job_api.get_job(self.admin_context, job2['id'])
        self.assertTrue(job['completed'])
        self.assertEqual(self.tenant_id2, job['tenant_id'])
        self.assertEqual(self.action, job['action'])

        with self.assertRaises(q_exc.JobNotFound):
            job_api.get_job(self.admin_context, 'derp')

        jobs = job_api.get_jobs(self.admin_context)
        self.assertTrue(type(jobs) in [list, tuple])
        self.assertEqual(2, len(jobs))

        jobs = job_api.get_jobs(self.admin_context, completed=True)
        self.assertTrue(type(jobs) in [list, tuple])
        self.assertEqual(1, len(jobs))

        jobs = job_api.get_jobs(self.admin_context, completed=False)
        self.assertTrue(type(jobs) in [list, tuple])
        self.assertEqual(1, len(jobs))

        jobs = job_api.get_jobs(self.admin_context, completed='hello')
        self.assertTrue(type(jobs) in [list, tuple])
        self.assertEqual(0, len(jobs))

        jobs = job_api.get_jobs(self.admin_context, tenant_id=self.tenant_id)
        self.assertTrue(type(jobs) in [list, tuple])
        self.assertEqual(1, len(jobs))

        jobs = job_api.get_jobs(self.admin_context, tenant_id='derp')
        self.assertTrue(type(jobs) in [list, tuple])
        self.assertEqual(0, len(jobs))
コード例 #3
0
ファイル: test_jobs.py プロジェクト: Anonymike/quark
    def test_delete_job_fail_non_admin(self):
        with self.assertRaises(n_exc.NotAuthorized):
            job_api.delete_job(self.context, 'derp')

        job_body = dict(tenant_id=self.tenant_id, action=self.action,
                        completed=False)
        job_body = dict(job=job_body)
        job1 = job_api.create_job(self.admin_context, job_body)
        self.assertIsNotNone(job1)

        job = job_api.get_job(self.admin_context, job1['id'])
        self.assertFalse(job['completed'])

        with self.assertRaises(n_exc.NotAuthorized):
            job_api.delete_job(self.context, job1['id'])

        job_api.delete_job(self.admin_context, job1['id'])

        with self.assertRaises(q_exc.JobNotFound):
            job_api.get_job(self.context, job1['id'])
コード例 #4
0
    def test_delete_job_fail_non_admin(self):
        with self.assertRaises(n_exc.NotAuthorized):
            job_api.delete_job(self.context, 'derp')

        job_body = dict(tenant_id=self.tenant_id,
                        action=self.action,
                        completed=False)
        job_body = dict(job=job_body)
        job1 = job_api.create_job(self.admin_context, job_body)
        self.assertIsNotNone(job1)

        job = job_api.get_job(self.admin_context, job1['id'])
        self.assertFalse(job['completed'])

        with self.assertRaises(n_exc.NotAuthorized):
            job_api.delete_job(self.context, job1['id'])

        job_api.delete_job(self.admin_context, job1['id'])

        with self.assertRaises(q_exc.JobNotFound):
            job_api.get_job(self.context, job1['id'])
コード例 #5
0
ファイル: test_jobs.py プロジェクト: Anonymike/quark
    def test_update_job_fail_non_admin(self):
        update_body = dict(completed=True)
        update_body = dict(job=update_body)

        job_body = dict(tenant_id=self.tenant_id, action=self.action,
                        completed=False)
        job_body = dict(job=job_body)
        job1 = job_api.create_job(self.admin_context, job_body)
        self.assertIsNotNone(job1)

        job = job_api.get_job(self.admin_context, job1['id'])
        self.assertFalse(job['completed'])

        with self.assertRaises(n_exc.NotAuthorized):
            job_api.update_job(self.context, job1['id'], update_body)

        updated_job = job_api.update_job(self.admin_context, job1['id'],
                                         update_body)
        self.assertTrue(updated_job['completed'])

        job = job_api.get_job(self.admin_context, job1['id'])
        self.assertTrue(job['completed'])
コード例 #6
0
ファイル: test_jobs.py プロジェクト: Anonymike/quark
    def test_update_jobs(self):
        update_body = dict(completed=True)
        update_body = dict(job=update_body)

        with self.assertRaises(q_exc.JobNotFound):
            job_api.update_job(self.admin_context, 'derp', update_body)

        job_body = dict(tenant_id=self.tenant_id, action=self.action,
                        completed=False)
        job_body = dict(job=job_body)
        job1 = job_api.create_job(self.admin_context, job_body)
        self.assertIsNotNone(job1)

        job = job_api.get_job(self.admin_context, job1['id'])
        self.assertFalse(job['completed'])

        updated_job = job_api.update_job(self.admin_context, job1['id'],
                                         update_body)
        self.assertTrue(updated_job['completed'])

        job = job_api.get_job(self.admin_context, job1['id'])
        self.assertTrue(job['completed'])
コード例 #7
0
    def test_update_job_fail_non_admin(self):
        update_body = dict(completed=True)
        update_body = dict(job=update_body)

        job_body = dict(tenant_id=self.tenant_id,
                        action=self.action,
                        completed=False)
        job_body = dict(job=job_body)
        job1 = job_api.create_job(self.admin_context, job_body)
        self.assertIsNotNone(job1)

        job = job_api.get_job(self.admin_context, job1['id'])
        self.assertFalse(job['completed'])

        with self.assertRaises(n_exc.NotAuthorized):
            job_api.update_job(self.context, job1['id'], update_body)

        updated_job = job_api.update_job(self.admin_context, job1['id'],
                                         update_body)
        self.assertTrue(updated_job['completed'])

        job = job_api.get_job(self.admin_context, job1['id'])
        self.assertTrue(job['completed'])
コード例 #8
0
    def test_update_jobs(self):
        update_body = dict(completed=True)
        update_body = dict(job=update_body)

        with self.assertRaises(q_exc.JobNotFound):
            job_api.update_job(self.admin_context, 'derp', update_body)

        job_body = dict(tenant_id=self.tenant_id,
                        action=self.action,
                        completed=False)
        job_body = dict(job=job_body)
        job1 = job_api.create_job(self.admin_context, job_body)
        self.assertIsNotNone(job1)

        job = job_api.get_job(self.admin_context, job1['id'])
        self.assertFalse(job['completed'])

        updated_job = job_api.update_job(self.admin_context, job1['id'],
                                         update_body)
        self.assertTrue(updated_job['completed'])

        job = job_api.get_job(self.admin_context, job1['id'])
        self.assertTrue(job['completed'])
コード例 #9
0
    def test_transaction_completion_percent(self):
        job_body = dict(tenant_id=self.tenant_id,
                        action=self.action,
                        completed=False)
        job_body = dict(job=job_body)
        parent_job = job_api.create_job(self.admin_context, job_body)
        parent_job = job_api.get_job(self.admin_context, parent_job['id'])
        self.assertIsNotNone(parent_job)
        job_body = dict(tenant_id=self.tenant_id,
                        action=self.action,
                        completed=False,
                        parent_id=parent_job['id'])
        job_body = dict(job=job_body)
        job = job_api.create_job(self.admin_context, job_body)
        job = job_api.get_job(self.admin_context, job['id'])
        self.assertIsNotNone(job)

        job_body = dict(tenant_id=self.tenant_id,
                        action=self.action,
                        completed=False,
                        parent_id=job['id'])
        job_body = dict(job=job_body)
        subjob = job_api.create_job(self.admin_context, job_body)
        subjob = job_api.get_job(self.admin_context, subjob['id'])
        self.assertIsNotNone(job)

        parent_job = job_api.get_job(self.admin_context, parent_job['id'])
        self.assertTrue('transaction_percent' in parent_job)
        self.assertEqual(0, parent_job['transaction_percent'])
        self.assertEqual(2, parent_job['subtransactions'])
        self.assertEqual(0, parent_job['completed_subtransactions'])

        update_body = dict(completed=True)
        update_body = dict(job=update_body)

        subjob = job_api.update_job(self.admin_context, subjob['id'],
                                    update_body)
        self.assertTrue(subjob['completed'])

        parent_job = job_api.get_job(self.admin_context, parent_job['id'])
        self.assertEqual(50, parent_job['transaction_percent'])
        self.assertEqual(2, parent_job['subtransactions'])
        self.assertEqual(1, parent_job['completed_subtransactions'])

        job = job_api.update_job(self.admin_context, job['id'], update_body)
        self.assertTrue(subjob['completed'])

        parent_job = job_api.get_job(self.admin_context, parent_job['id'])
        self.assertEqual(100, parent_job['transaction_percent'])
        self.assertEqual(2, parent_job['subtransactions'])
        self.assertEqual(2, parent_job['completed_subtransactions'])
        self.assertEqual(True, parent_job['completed'])
コード例 #10
0
    def test_delete_job_with_children(self):
        job_body = dict(tenant_id=self.tenant_id,
                        action=self.action,
                        completed=False)
        job_body = dict(job=job_body)
        parent_job = job_api.create_job(self.admin_context, job_body)
        parent_job = job_api.get_job(self.admin_context, parent_job['id'])
        self.assertIsNotNone(parent_job)
        job_body = dict(tenant_id=self.tenant_id,
                        action=self.action,
                        completed=False,
                        parent_id=parent_job['id'])
        job_body = dict(job=job_body)
        job = job_api.create_job(self.admin_context, job_body)
        job = job_api.get_job(self.admin_context, job['id'])
        self.assertIsNotNone(job)

        job_body = dict(tenant_id=self.tenant_id,
                        action=self.action,
                        completed=False,
                        parent_id=job['id'])
        job_body = dict(job=job_body)
        subjob = job_api.create_job(self.admin_context, job_body)
        subjob = job_api.get_job(self.admin_context, subjob['id'])
        self.assertIsNotNone(job)

        job_api.delete_job(self.admin_context, parent_job['id'])

        with self.assertRaises(q_exc.JobNotFound):
            job_api.get_job(self.admin_context, parent_job['id'])

        with self.assertRaises(q_exc.JobNotFound):
            job_api.get_job(self.admin_context, job['id'])

        with self.assertRaises(q_exc.JobNotFound):
            job_api.get_job(self.admin_context, subjob['id'])
コード例 #11
0
ファイル: test_jobs.py プロジェクト: Anonymike/quark
 def test_create_job_with_parent_job(self):
     job_body = dict(tenant_id=self.tenant_id, action=self.action,
                     completed=False)
     job_body = dict(job=job_body)
     parent_job = job_api.create_job(self.admin_context, job_body)
     job_body = dict(tenant_id=self.tenant_id, action=self.action,
                     completed=False, parent_id=parent_job['id'])
     job_body = dict(job=job_body)
     job = job_api.create_job(self.admin_context, job_body)
     self.assertIsNotNone(job)
     self.assertFalse(job['completed'])
     self.assertEqual(self.tenant_id, job['tenant_id'])
     self.assertEqual(self.action, job['action'])
     self.assertEqual(parent_job['id'], job['parent_id'])
     self.assertEqual(parent_job['id'], job['transaction_id'],
                      "transaction id should be outer most parent id")
     tx_job = job_api.get_job(self.admin_context, parent_job['id'])
     self.assertEqual(1, tx_job['subtransactions'])
     self.assertEqual(0, tx_job['completed_subtransactions'])
コード例 #12
0
ファイル: test_jobs.py プロジェクト: Anonymike/quark
    def test_transaction_completion_percent(self):
        job_body = dict(tenant_id=self.tenant_id, action=self.action,
                        completed=False)
        job_body = dict(job=job_body)
        parent_job = job_api.create_job(self.admin_context, job_body)
        parent_job = job_api.get_job(self.admin_context, parent_job['id'])
        self.assertIsNotNone(parent_job)
        job_body = dict(tenant_id=self.tenant_id, action=self.action,
                        completed=False, parent_id=parent_job['id'])
        job_body = dict(job=job_body)
        job = job_api.create_job(self.admin_context, job_body)
        job = job_api.get_job(self.admin_context, job['id'])
        self.assertIsNotNone(job)

        job_body = dict(tenant_id=self.tenant_id, action=self.action,
                        completed=False, parent_id=job['id'])
        job_body = dict(job=job_body)
        subjob = job_api.create_job(self.admin_context, job_body)
        subjob = job_api.get_job(self.admin_context, subjob['id'])
        self.assertIsNotNone(job)

        parent_job = job_api.get_job(self.admin_context, parent_job['id'])
        self.assertTrue('transaction_percent' in parent_job)
        self.assertEqual(0, parent_job['transaction_percent'])
        self.assertEqual(2, parent_job['subtransactions'])
        self.assertEqual(0, parent_job['completed_subtransactions'])

        update_body = dict(completed=True)
        update_body = dict(job=update_body)

        subjob = job_api.update_job(self.admin_context, subjob['id'],
                                    update_body)
        self.assertTrue(subjob['completed'])

        parent_job = job_api.get_job(self.admin_context, parent_job['id'])
        self.assertEqual(50, parent_job['transaction_percent'])
        self.assertEqual(2, parent_job['subtransactions'])
        self.assertEqual(1, parent_job['completed_subtransactions'])

        job = job_api.update_job(self.admin_context, job['id'], update_body)
        self.assertTrue(subjob['completed'])

        parent_job = job_api.get_job(self.admin_context, parent_job['id'])
        self.assertEqual(100, parent_job['transaction_percent'])
        self.assertEqual(2, parent_job['subtransactions'])
        self.assertEqual(2, parent_job['completed_subtransactions'])
        self.assertEqual(True, parent_job['completed'])
コード例 #13
0
 def test_create_job_with_parent_job(self):
     job_body = dict(tenant_id=self.tenant_id,
                     action=self.action,
                     completed=False)
     job_body = dict(job=job_body)
     parent_job = job_api.create_job(self.admin_context, job_body)
     job_body = dict(tenant_id=self.tenant_id,
                     action=self.action,
                     completed=False,
                     parent_id=parent_job['id'])
     job_body = dict(job=job_body)
     job = job_api.create_job(self.admin_context, job_body)
     self.assertIsNotNone(job)
     self.assertFalse(job['completed'])
     self.assertEqual(self.tenant_id, job['tenant_id'])
     self.assertEqual(self.action, job['action'])
     self.assertEqual(parent_job['id'], job['parent_id'])
     self.assertEqual(parent_job['id'], job['transaction_id'],
                      "transaction id should be outer most parent id")
     tx_job = job_api.get_job(self.admin_context, parent_job['id'])
     self.assertEqual(1, tx_job['subtransactions'])
     self.assertEqual(0, tx_job['completed_subtransactions'])
コード例 #14
0
ファイル: test_jobs.py プロジェクト: Anonymike/quark
 def test_create_deep_job_list(self):
     parent_job = None
     transaction = None
     for i in xrange(4):
         job_body = dict(tenant_id=self.tenant_id, action=self.action,
                         completed=False)
         if parent_job:
             job_body['parent_id'] = parent_job
         job_body = dict(job=job_body)
         job = job_api.create_job(self.admin_context, job_body)
         self.assertIsNotNone(job)
         if parent_job:
             self.assertEqual(parent_job, job['parent_id'])
         if transaction is None:
             self.assertIsNotNone(job['transaction_id'])
             transaction = job['id']
         else:
             self.assertEqual(transaction, job['transaction_id'])
         parent_job = job['id']
     tx_job = job_api.get_job(self.admin_context, transaction)
     self.assertEqual(3, tx_job['subtransactions'])
     self.assertEqual(0, job['completed_subtransactions'])
コード例 #15
0
 def test_create_deep_job_list(self):
     parent_job = None
     transaction = None
     for i in xrange(4):
         job_body = dict(tenant_id=self.tenant_id,
                         action=self.action,
                         completed=False)
         if parent_job:
             job_body['parent_id'] = parent_job
         job_body = dict(job=job_body)
         job = job_api.create_job(self.admin_context, job_body)
         self.assertIsNotNone(job)
         if parent_job:
             self.assertEqual(parent_job, job['parent_id'])
         if transaction is None:
             self.assertIsNotNone(job['transaction_id'])
             transaction = job['id']
         else:
             self.assertEqual(transaction, job['transaction_id'])
         parent_job = job['id']
     tx_job = job_api.get_job(self.admin_context, transaction)
     self.assertEqual(3, tx_job['subtransactions'])
     self.assertEqual(0, job['completed_subtransactions'])
コード例 #16
0
    def test_get_jobs(self):
        job_body = dict(tenant_id=self.tenant_id,
                        action=self.action,
                        completed=False,
                        resource_id='foo')
        job_body = dict(job=job_body)
        job1 = job_api.create_job(self.admin_context, job_body)
        self.assertIsNotNone(job1)

        job_body = dict(tenant_id=self.tenant_id2,
                        action=self.action,
                        completed=False,
                        resource_id='bar')
        job_body = dict(job=job_body)
        job2 = job_api.create_job(self.admin_context, job_body)
        self.assertIsNotNone(job2)

        job_body = dict(tenant_id=self.tenant_id2,
                        action=self.action,
                        completed=False,
                        resource_id='bar',
                        parent_id=job2['id'])
        job_body = dict(job=job_body)
        job3 = job_api.create_job(self.admin_context, job_body)
        self.assertIsNotNone(job3)

        jobs = job_api.get_job(self.admin_context, job1['id'])
        self.assertFalse(type(jobs) in [list, tuple])
        job = jobs
        self.assertFalse(job['completed'])
        self.assertEqual(self.tenant_id, job['tenant_id'])
        self.assertEqual(self.action, job['action'])

        job = job_api.get_job(self.admin_context, job2['id'])
        self.assertFalse(job['completed'])
        self.assertEqual(self.tenant_id2, job['tenant_id'])
        self.assertEqual(self.action, job['action'])

        with self.assertRaises(q_exc.JobNotFound):
            job_api.get_job(self.admin_context, 'derp')

        jobs = job_api.get_jobs(self.admin_context)
        self.assertTrue(type(jobs) in [list, tuple])
        self.assertEqual(3, len(jobs))

        jobs = job_api.get_jobs(self.admin_context, transaction_id=job2['id'])
        self.assertTrue(type(jobs) in [list, tuple])
        self.assertEqual(2, len(jobs))

        jobs = job_api.get_jobs(self.admin_context, completed=True)
        self.assertTrue(type(jobs) in [list, tuple])
        self.assertEqual(0, len(jobs))

        jobs = job_api.get_jobs(self.admin_context, completed=False)
        self.assertTrue(type(jobs) in [list, tuple])
        self.assertEqual(3, len(jobs))

        jobs = job_api.get_jobs(self.admin_context, completed='hello')
        self.assertTrue(type(jobs) in [list, tuple])
        self.assertEqual(0, len(jobs))

        jobs = job_api.get_jobs(self.admin_context, tenant_id=self.tenant_id)
        self.assertTrue(type(jobs) in [list, tuple])
        self.assertEqual(1, len(jobs))

        jobs = job_api.get_jobs(self.admin_context, tenant_id='derp')
        self.assertTrue(type(jobs) in [list, tuple])
        self.assertEqual(0, len(jobs))

        jobs = job_api.get_jobs(self.admin_context, resource_id='foo')
        self.assertTrue(type(jobs) in [list, tuple])
        self.assertEqual(1, len(jobs))

        jobs = job_api.get_jobs(self.admin_context, resource_id='bar')
        self.assertTrue(type(jobs) in [list, tuple])
        self.assertEqual(2, len(jobs))

        jobs = job_api.get_jobs(self.admin_context, resource_id='asdf')
        self.assertTrue(type(jobs) in [list, tuple])
        self.assertEqual(0, len(jobs))
コード例 #17
0
ファイル: plugin.py プロジェクト: Anonymike/quark
 def get_job(self, context, id):
     return jobs.get_job(context, id)
コード例 #18
0
ファイル: plugin.py プロジェクト: MultipleCrashes/quark
 def get_job(self, context, id):
     return jobs.get_job(context, id)