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