Esempio n. 1
0
    def test_read(self):
        eta = datetime.now() + timedelta(hours=5)
        test_job = Job(
            self.method,
            args=("o", "k"),
            kwargs={"c": "!"},
            priority=15,
            eta=eta,
            description="My description",
        )
        test_job.user_id = 1
        test_job.worker_pid = 99999  # normally set on "set_start"
        test_job.company_id = self.env.ref("base.main_company").id
        test_job.store()
        job_read = Job.load(self.env, test_job.uuid)
        self.assertEqual(test_job.uuid, job_read.uuid)
        self.assertEqual(test_job.model_name, job_read.model_name)
        self.assertEqual(test_job.func, job_read.func)
        self.assertEqual(test_job.args, job_read.args)
        self.assertEqual(test_job.kwargs, job_read.kwargs)
        self.assertEqual(test_job.method_name, job_read.method_name)
        self.assertEqual(test_job.description, job_read.description)
        self.assertEqual(test_job.state, job_read.state)
        self.assertEqual(test_job.priority, job_read.priority)
        self.assertEqual(test_job.exc_info, job_read.exc_info)
        self.assertEqual(test_job.result, job_read.result)
        self.assertEqual(test_job.user_id, job_read.user_id)
        self.assertEqual(test_job.company_id, job_read.company_id)
        self.assertEqual(test_job.worker_pid, 99999)
        delta = timedelta(seconds=1)  # DB does not keep milliseconds
        self.assertAlmostEqual(test_job.date_created,
                               job_read.date_created,
                               delta=delta)
        self.assertAlmostEqual(test_job.date_started,
                               job_read.date_started,
                               delta=delta)
        self.assertAlmostEqual(test_job.date_enqueued,
                               job_read.date_enqueued,
                               delta=delta)
        self.assertAlmostEqual(test_job.date_done,
                               job_read.date_done,
                               delta=delta)
        self.assertAlmostEqual(test_job.eta, job_read.eta, delta=delta)

        test_date = datetime(2015, 3, 15, 21, 7, 0)
        job_read.date_enqueued = test_date
        job_read.date_started = test_date
        job_read.date_done = test_date
        job_read.store()

        job_read = Job.load(self.env, test_job.uuid)
        self.assertAlmostEqual(job_read.date_started, test_date, delta=delta)
        self.assertAlmostEqual(job_read.date_enqueued, test_date, delta=delta)
        self.assertAlmostEqual(job_read.date_done, test_date, delta=delta)
Esempio n. 2
0
 def test_company_simple(self):
     company = self.env.ref("base.main_company")
     eta = datetime.now() + timedelta(hours=5)
     test_job = Job(
         self.method,
         args=("o", "k"),
         kwargs={"return_context": 1},
         priority=15,
         eta=eta,
         description="My description",
     )
     test_job.worker_pid = 99999  # normally set on "set_start"
     test_job.company_id = company.id
     test_job.store()
     job_read = Job.load(self.env, test_job.uuid)
     self.assertEqual(test_job.func, job_read.func)
     result_ctx = test_job.func(*tuple(test_job.args), **test_job.kwargs)
     self.assertEqual(result_ctx.get("allowed_company_ids"), company.ids)
Esempio n. 3
0
 def test_company_complex(self):
     company1 = self.env.ref("base.main_company")
     company2 = company1.create({"name": "Queue job company"})
     companies = company1 | company2
     self.env.user.write({"company_ids": [(6, False, companies.ids)]})
     # Ensure the main company still the first
     self.assertEqual(self.env.user.company_id, company1)
     eta = datetime.now() + timedelta(hours=5)
     test_job = Job(
         self.method,
         args=("o", "k"),
         kwargs={"return_context": 1},
         priority=15,
         eta=eta,
         description="My description",
     )
     test_job.worker_pid = 99999  # normally set on "set_start"
     test_job.company_id = company2.id
     test_job.store()
     job_read = Job.load(self.env, test_job.uuid)
     self.assertEqual(test_job.func, job_read.func)
     result_ctx = test_job.func(*tuple(test_job.args), **test_job.kwargs)
     self.assertEqual(result_ctx.get("allowed_company_ids"), company2.ids)