Пример #1
0
 def test_job_identity_key_str(self):
     id_key = 'e294e8444453b09d59bdb6efbfec1323'
     test_job_1 = Job(self.method,
                      priority=15,
                      description="Test I am the first one",
                      identity_key=id_key)
     test_job_1.user_id = 1
     test_job_1.store()
     job1 = Job.load(self.env, test_job_1.uuid)
     self.assertEqual(job1.identity_key, id_key)
Пример #2
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)
Пример #3
0
 def test_accented_bytestring(self):
     test_job = Job(self.method,
                    args=('öô¿‽', 'ñě'),
                    kwargs={'c': 'ßø'},
                    priority=15,
                    description="My dé^Wdescription")
     test_job.user_id = 1
     test_job.store()
     job_read = Job.load(self.env, test_job.uuid)
     self.assertEqual(job_read.args, ('öô¿‽', 'ñě'))
     self.assertEqual(job_read.kwargs, {'c': 'ßø'})
     self.assertEqual(job_read.description, "My dé^Wdescription")
Пример #4
0
 def test_accented_bytestring(self):
     test_job = Job(
         self.method,
         args=("öô¿‽", "ñě"),
         kwargs={"c": "ßø"},
         priority=15,
         description="My dé^Wdescription",
     )
     test_job.user_id = 1
     test_job.store()
     job_read = Job.load(self.env, test_job.uuid)
     self.assertEqual(job_read.args, ("öô¿‽", "ñě"))
     self.assertEqual(job_read.kwargs, {"c": "ßø"})
     self.assertEqual(job_read.description, "My dé^Wdescription")
Пример #5
0
 def test_unicode(self):
     test_job = Job(self.method,
                    args=(u'öô¿‽', u'ñě'),
                    kwargs={'c': u'ßø'},
                    priority=15,
                    description=u"My dé^Wdescription")
     test_job.user_id = 1
     test_job.store()
     job_read = Job.load(self.env, test_job.uuid)
     self.assertEqual(test_job.args, job_read.args)
     self.assertEqual(job_read.args, (u'öô¿‽', u'ñě'))
     self.assertEqual(test_job.kwargs, job_read.kwargs)
     self.assertEqual(job_read.kwargs, {'c': u'ßø'})
     self.assertEqual(test_job.description, job_read.description)
     self.assertEqual(job_read.description, u"My dé^Wdescription")
Пример #6
0
 def test_accented_bytestring(self):
     test_job = Job(self.method,
                    args=('öô¿‽', 'ñě'),
                    kwargs={'c': 'ßø'},
                    priority=15,
                    description="My dé^Wdescription")
     test_job.user_id = 1
     test_job.store()
     job_read = Job.load(self.env, test_job.uuid)
     # the job's args and description have been created as bytestring but
     # are decoded to utf8 by the ORM so make them comparable
     self.assertEqual(job_read.args,
                      ('öô¿‽'.decode('utf8'), 'ñě'.decode('utf8')))
     self.assertEqual(job_read.kwargs, {'c': 'ßø'.decode('utf8')})
     self.assertEqual(job_read.description,
                      "My dé^Wdescription".decode('utf8'))
Пример #7
0
 def test_unicode(self):
     test_job = Job(
         self.method,
         args=(u"öô¿‽", u"ñě"),
         kwargs={"c": u"ßø"},
         priority=15,
         description=u"My dé^Wdescription",
     )
     test_job.user_id = 1
     test_job.store()
     job_read = Job.load(self.env, test_job.uuid)
     self.assertEqual(test_job.args, job_read.args)
     self.assertEqual(job_read.args, (u"öô¿‽", u"ñě"))
     self.assertEqual(test_job.kwargs, job_read.kwargs)
     self.assertEqual(job_read.kwargs, {"c": u"ßø"})
     self.assertEqual(test_job.description, job_read.description)
     self.assertEqual(job_read.description, u"My dé^Wdescription")