def setUp(self): os.makedirs('/tmp/test_folder') os.chdir('/tmp/test_folder') log.setLevel('CRITICAL') workflow = """ workflow "sample" { resolves = "sample action" } action "sample action" { uses = "sh" args = ["echo", "Hello"] } """ pu.write_file('/tmp/test_folder/a.workflow', workflow) self.wf = Workflow('/tmp/test_folder/a.workflow') self.wf.parse() WorkflowRunner.instantiate_runners('docker', self.wf, '/tmp/test_folder', False, False, '12345')
def setUp(self): os.makedirs('/tmp/test_folder') os.chdir('/tmp/test_folder') log.setLevel('CRITICAL') workflow = """ workflow "sample" { resolves = "sample action" } action "sample action" { uses = "popperized/bin/sh@master" args = ["echo", "Hello"] } """ pu.write_file('/tmp/test_folder/a.workflow', workflow) self.wf = Workflow('/tmp/test_folder/a.workflow') self.wf.parse() WorkflowRunner.download_actions(self.wf, False, False, '12345') WorkflowRunner.instantiate_runners('vagrant', self.wf, '/tmp/test_folder', False, False, '12345') self.runner = self.wf.action['sample action']['runner'] VagrantRunner.setup_vagrant_cache('12345')
def test_instantiate_runners(self): pu.write_file( '/tmp/test_folder/a.workflow', """ workflow "sample" { resolves = "a" } action "a" { uses = "sh" args = "ls" } """) wf = Workflow('/tmp/test_folder/a.workflow') wf.parse() env = WorkflowRunner.get_workflow_env(wf, '/tmp/test_folder') WorkflowRunner.instantiate_runners('docker', wf, '/tmp/test_folder', False, False, '12345') self.assertIsInstance(wf.action['a']['runner'], HostRunner) os.makedirs('/tmp/test_folder/actions/sample') pu.write_file('/tmp/test_folder/actions/sample/entrypoint.sh') pu.write_file('/tmp/test_folder/actions/sample/README.md') pu.write_file( '/tmp/test_folder/a.workflow', """ workflow "sample" { resolves = "a" } action "a" { uses = "./actions/sample" } """) wf = Workflow('/tmp/test_folder/a.workflow') wf.parse() env = WorkflowRunner.get_workflow_env(wf, '/tmp/test_folder') WorkflowRunner.instantiate_runners('singularity', wf, '/tmp/test_folder', False, False, '12345') self.assertIsInstance(wf.action['a']['runner'], HostRunner) pu.write_file( '/tmp/test_folder/a.workflow', """ workflow "sample" { resolves = "a" } action "a" { uses = "popperized/bin/sh@master" } """) wf = Workflow('/tmp/test_folder/a.workflow') wf.parse() env = WorkflowRunner.get_workflow_env(wf, '/tmp/test_folder') WorkflowRunner.instantiate_runners('singularity', wf, '/tmp/test_folder', False, False, '12345') self.assertIsInstance(wf.action['a']['runner'], SingularityRunner) WorkflowRunner.instantiate_runners('docker', wf, '/tmp/test_folder', False, False, '12345') self.assertIsInstance(wf.action['a']['runner'], DockerRunner) WorkflowRunner.instantiate_runners('vagrant', wf, '/tmp/test_folder', False, False, '12345') self.assertIsInstance(wf.action['a']['runner'], VagrantRunner)