Example #1
0
 def _run_job(self, job_id):
     job_obj = self.registry('queue.job')
     job = job_obj.browse(self.cr, self.uid, job_id)
     (func_name, args, kwargs) = _unpickle(job.func)
     runnable_job = Job(func=func_name, args=args, kwargs=kwargs, priority=job.priority, eta=None, job_uuid=job.uuid, description=job.name)
     runnable_job.user_id = self.session.uid
     return runnable_job.perform(self.session)
Example #2
0
 def test_unpickle_not_readable(self):
     with self.assertRaises(NotReadableJobError):
         self.assertEqual(_unpickle('cucumber'))
Example #3
0
 def test_unpickle_whitelist(self):
     """ unpickling function/class that is in the whitelist is allowed """
     arg = datetime(2016, 2, 10)
     pickled = cPickle.dumps(arg)
     self.assertEqual(_unpickle(pickled), arg)
Example #4
0
 def test_unpickle_safe(self):
     """ unpickling function decorated by @job is allowed """
     pickled = cPickle.dumps(pickle_allowed_function)
     self.assertEqual(_unpickle(pickled), pickle_allowed_function)
Example #5
0
 def test_unpickle_unsafe(self):
     """ unpickling function not decorated by @job is forbidden """
     pickled = cPickle.dumps(pickle_forbidden_function)
     with self.assertRaises(NotReadableJobError):
         _unpickle(pickled)
Example #6
0
 def test_unpickle(self):
     pickle = ("S'a small cucumber preserved in vinegar, "
               "brine, or a similar solution.'\np0\n.")
     self.assertEqual(_unpickle(pickle),
                      'a small cucumber preserved in vinegar, '
                      'brine, or a similar solution.')
Example #7
0
 def test_unpickle_not_readable(self):
     with self.assertRaises(NotReadableJobError):
         self.assertEqual(_unpickle('cucumber'))
Example #8
0
 def test_unpickle(self):
     pickle = ("S'a small cucumber preserved in vinegar, "
               "brine, or a similar solution.'\np0\n.")
     self.assertEqual(_unpickle(pickle),
                      'a small cucumber preserved in vinegar, '
                      'brine, or a similar solution.')
 def test_unpickle_whitelist(self):
     """ unpickling function/class that is in the whitelist is allowed """
     arg = datetime(2016, 2, 10)
     pickled = cPickle.dumps(arg)
     self.assertEqual(_unpickle(pickled), arg)
 def test_unpickle_safe(self):
     """ unpickling function decorated by @job is allowed """
     pickled = cPickle.dumps(pickle_allowed_function)
     self.assertEqual(_unpickle(pickled), pickle_allowed_function)
 def test_unpickle_unsafe(self):
     """ unpickling function not decorated by @job is forbidden """
     pickled = cPickle.dumps(pickle_forbidden_function)
     with self.assertRaises(NotReadableJobError):
         _unpickle(pickled)