def test_run_no_such_job(self):
     script_inv = ScriptInvocation(self.provider_loader, self.config_loader,
                                   self.JOB_ID)
     with TestIO() as io:
         retval = script_inv.run()
     self.assertCommandOutput(io.stdout, ("""
             There is no job called '{job_id}'
             See `plainbox special --list-jobs` for a list of choices
             """).format(job_id=self.JOB_ID))
     self.assertEqual(retval, 126)
 def test_run_job_without_command(self):
     job = make_job(self.JOB_PARTIAL_ID)
     job._provider = self.provider
     self.add_job(job)
     script_inv = ScriptInvocation(self.provider_loader, self.config_loader,
                                   self.JOB_ID)
     with TestIO() as io:
         retval = script_inv.run()
     self.assertCommandOutput(io.stdout, ("""
             Selected job does not have a command
             """))
     self.assertEqual(retval, 125)
 def test_job_with_command(self, mock_check_output):
     job = make_job(self.JOB_PARTIAL_ID, command='echo ok')
     job._provider = self.provider
     self.add_job(job)
     script_inv = ScriptInvocation(self.provider_loader, self.config_loader,
                                   self.JOB_ID)
     with TestIO() as io:
         retval = script_inv.run()
     self.assertCommandOutput(io.stdout, ("""
             (job {job_id}, <stdout:00001>) ok
             job {job_id} returned 0
             command: echo ok
             """).format(job_id=self.JOB_ID))
     self.assertEqual(retval, 0)
 def test_job_with_command_making_directories(self, mock_check_output):
     job = make_job(self.JOB_PARTIAL_ID, command='mkdir dir')
     job._provider = self.provider
     self.add_job(job)
     script_inv = ScriptInvocation(self.provider_loader, self.config_loader,
                                   self.JOB_ID)
     with TestIO() as io:
         retval = script_inv.run()
     self.maxDiff = None
     self.assertCommandOutput(io.stdout, ("""
             Leftover directory detected: 'dir'
             job {job_id} returned 0
             command: mkdir dir
             """).format(job_id=self.JOB_ID))
     self.assertEqual(retval, 0)
 def test_init(self):
     job_id = mock.Mock()
     script_inv = ScriptInvocation(self.provider_loader, self.config_loader,
                                   job_id)
     self.assertIs(script_inv.provider_loader, self.provider_loader)
     self.assertIs(script_inv.config_loader, self.config_loader)
     self.assertIs(script_inv.job_id, job_id)
 def test_job_with_command_making_files(self, mock_check_output):
     job = make_job(self.JOB_PARTIAL_ID,
                    plugin='shell',
                    command='echo ok > file')
     job._provider = self.provider
     self.add_job(job)
     script_inv = ScriptInvocation(self.provider_loader, self.config_loader,
                                   self.JOB_ID)
     with TestIO() as io:
         retval = script_inv.run()
     self.maxDiff = None
     self.assertCommandOutput(io.stdout, ("""
             Leftover file detected: 'file':
               file:1: ok
             job {job_id} returned 0
             command: echo ok > file
             """).format(job_id=self.JOB_ID))
     self.assertEqual(retval, 0)
Exemplo n.º 7
0
 def invoked(self, ns):
     from plainbox.impl.commands.inv_script import ScriptInvocation
     return ScriptInvocation(self.provider_loader, self.config_loader,
                             ns.job_id).run()