def post_data(self):
     return {
         'webhooks': {
             'running': ['http://localhost/example/webhook', 'http://localhost/example/webhook'],
         },
         'tasks': {
             'input connector': {
                 'methods': [
                     {
                         'name': 'execute',
                         'service': 'job',
                         'serviceUrl': shell_command_url(),
                         'parameters': {
                             'commandLine': ['cat'],
                             'user': '******',
                             'workingDirectory': '/test/working/directory'
                         }
                     }
                 ]
             },
             'A': {
                 'methods': [
                     {
                         'name': 'execute',
                         'service': 'job',
                         'serviceUrl': shell_command_url(),
                         'parameters': {
                             'commandLine': ['cat'],
                             'user': '******',
                             'workingDirectory': '/test/working/directory'
                         }
                     }
                 ]
             },
         },
         'links': [
             {
                 'source': 'input connector',
                 'destination': 'A',
                 'dataFlow': {
                     'in_a': 'param'
                     }
             }, {
                 'source': 'A',
                 'destination': 'output connector',
                 'dataFlow': {
                     'result': 'out_a'
                     }
             },
         ],
         'inputs': {
             'in_a': 'kittens',
         },
     }
 def post_data(self):
     return {
         'tasks': {
             'Bad Job Task': {
                 'methods': [{
                     'name': 'Bad Job',
                     'service': 'job',
                     'serviceUrl': util.shell_command_url(),
                     'parameters': {
                         # should be commandLine (capital L)
                         'commandline': ['true'],
                         "user": util.user(),
                         "workingDirectory": util.working_directory(),
                         "environment": util.environment_dict(),
                     },
                     'webhooks': {
                         'errored': self.errored_listener.url,
                     }
                 }]
             },
         },
         'links': [
             {
                 'source': 'input connector',
                 'destination': 'Bad Job Task',
             },
             {
                 'source': 'Bad Job Task',
                 'destination': 'output connector',
             },
         ],
         'inputs': {},
     }
 def sleeper_workflow(self, running_webhook_url, canceled_webhook_url):
     return {
         "tasks": {
             "Sleeper": {
                 "methods": [{
                     "name": "execute",
                     "service": "job",
                     "serviceUrl": util.shell_command_url(),
                     "parameters": {
                         "commandLine": ["sleep", "12345"],
                         "user": util.user(),
                         "workingDirectory": util.working_directory(),
                         "environment": {},
                     },
                     "webhooks": {
                         "running": running_webhook_url,
                         "canceled": canceled_webhook_url,
                     }
                 }]
             }
         },
         "links": [{
             "source": "input connector",
             "destination": "Sleeper"
         }, {
             "source": "Sleeper",
             "destination": "output connector"
         }],
         "inputs": {},
     }
Beispiel #4
0
 def post_data(self):
     return {
         'tasks': {
             'A': {
                 'methods': [{
                     'name': 'execute',
                     'service': 'job',
                     'serviceUrl': util.shell_command_url(),
                     'serviceDataToSave': ['exitCode'],
                     'parameters': {
                         'commandLine':
                         ['echo', 'saving_service_data_test'],
                         "user": util.user(),
                         "workingDirectory": util.working_directory(),
                         "environment": util.environment_dict(),
                     },
                     'webhooks': {
                         'ended': self.ended_listener.url,
                     }
                 }]
             },
         },
         'links': [
             {
                 'source': 'input connector',
                 'destination': 'A',
             },
             {
                 'source': 'A',
                 'destination': 'output connector',
             },
         ],
         'inputs': {},
     }
 def post_data(self, running_webhook_url, canceled_webhook_url):
     return {
         "tasks": {
             "Spawner": {
                 "methods": [{
                     "name": "execute",
                     "service": "job",
                     "serviceUrl": util.shell_command_url(),
                     "parameters": {
                         "commandLine": ["./spawn_workflow_command"],
                         "user": util.user(),
                         "workingDirectory": util.working_directory(),
                         "environment": util.environment_dict(),
                     }
                 }]
             }
         },
         "links": [{
             "source": "input connector",
             "destination": "Spawner",
             "dataFlow": {
                 "workflow_data": "workflow_data"
             }
         }, {
             "source": "Spawner",
             "destination": "output connector"
         }],
         "inputs": {
             "workflow_data":
             self.sleeper_workflow(running_webhook_url,
                                   canceled_webhook_url),
         }
     }
    def _template_data(self):
        template_data = {
            'user': util.user(),
            'workingDirectory': util.working_directory(),
            'environment': util.environment(),
            'shellCommandServiceUrl': util.shell_command_url(),
        }

        if os.environ.get('PTERO_LSF_HOST') is not None:
            template_data.update({
                'lsfServiceUrl': util.lsf_url(),
                'lsfOutputsDirectory':
                os.environ['PTERO_WORKFLOW_TEST_LSF_OUTPUTS_DIR'],
            })

        return template_data
Beispiel #7
0
    def _template_data(self):
        template_data = {
            'user': util.user(),
            'workingDirectory': util.working_directory(),
            'environment': util.environment(),
            'shellCommandServiceUrl': util.shell_command_url(),
        }

        if os.environ.get('PTERO_LSF_HOST') is not None:
            template_data.update({
                'lsfServiceUrl':
                util.lsf_url(),
                'lsfOutputsDirectory':
                os.environ['PTERO_WORKFLOW_TEST_LSF_OUTPUTS_DIR'],
            })

        return template_data
 def post_data(self):
     return {
             'tasks': {
                 'A': {
                     'methods': [
                         {
                             'name': 'execute',
                             'service': 'job',
                             'serviceUrl': util.shell_command_url(),
                             'parameters': {
                                 'commandLine': ['true'],
                                 "user": util.user(),
                                 "workingDirectory": util.working_directory(),
                                 "environment": util.environment_dict(),
                                 'webhooks': {
                                     'canceled': self.canceled_listener.url,
                                     }
                                 },
                             'webhooks': {
                                 'running': self.running_listener.url,
                                 }
                             }
                         ]
                     },
                 },
             'links': [
                 {
                     'source': 'input connector',
                     'destination': 'A',
                     'dataFlow': {
                         'in_a': 'param'
                         }
                     },
                 {
                     'source': 'A',
                     'destination': 'output connector',
                     'dataFlow': {
                         'result': 'out_a'
                         }
                     },
                 ],
             'inputs': {
                 'in_a': 'kittens',
                 },
             }
 def post_data(self):
     return {
         'tasks': {
             'A': {
                 'methods': [{
                     'name': 'execute',
                     'service': 'job',
                     'serviceUrl': util.shell_command_url(),
                     'parameters': {
                         'commandLine': ['true'],
                         "user": util.user(),
                         "workingDirectory": util.working_directory(),
                         "environment": util.environment_dict(),
                         'webhooks': {
                             'canceled': self.canceled_listener.url,
                         }
                     },
                     'webhooks': {
                         'running': self.running_listener.url,
                     }
                 }]
             },
         },
         'links': [
             {
                 'source': 'input connector',
                 'destination': 'A',
                 'dataFlow': {
                     'in_a': 'param'
                 }
             },
             {
                 'source': 'A',
                 'destination': 'output connector',
                 'dataFlow': {
                     'result': 'out_a'
                 }
             },
         ],
         'inputs': {
             'in_a': 'kittens',
         },
     }
    def post_data(self, running_webhook_url, canceled_webhook_url):
        return {
            "tasks": {
                "Spawner": {
                    "methods": [
                        {
                            "name": "execute",
                            "service": "job",
                            "serviceUrl": util.shell_command_url(),
                            "parameters": {
                                "commandLine": ["./spawn_workflow_command"],
                                "user": util.user(),
                                "workingDirectory": util.working_directory(),
                                "environment": util.environment_dict(),
                                }
                            }
                        ]
                    }
                },

            "links": [
                {
                    "source": "input connector",
                    "destination": "Spawner",
                    "dataFlow": {
                        "workflow_data": "workflow_data"
                        }
                    },
                {
                    "source": "Spawner",
                    "destination": "output connector"
                    }
                ],

            "inputs": {
                "workflow_data": self.sleeper_workflow(running_webhook_url,
                    canceled_webhook_url),
                }
            }
 def post_data(self):
     return {
             'tasks': {
                 'A': {
                     'methods': [
                         {
                             'name': 'execute',
                             'service': 'job',
                             'serviceUrl': util.shell_command_url(),
                             'serviceDataToSave': ['exitCode'],
                             'parameters': {
                                 'commandLine': ['echo', 'saving_service_data_test'],
                                 "user": util.user(),
                                 "workingDirectory": util.working_directory(),
                                 "environment": util.environment_dict(),
                                 },
                             'webhooks': {
                                 'ended': self.ended_listener.url,
                                 }
                             }
                         ]
                     },
                 },
             'links': [
                 {
                     'source': 'input connector',
                     'destination': 'A',
                     },
                 {
                     'source': 'A',
                     'destination': 'output connector',
                     },
                 ],
             'inputs': {
                 },
             }
 def sleeper_workflow(self, running_webhook_url, canceled_webhook_url):
     return {
         "tasks": {
             "Sleeper": {
                 "methods": [
                     {
                         "name": "execute",
                         "service": "job",
                         "serviceUrl": util.shell_command_url(),
                         "parameters": {
                             "commandLine": ["sleep", "12345"],
                             "user": util.user(),
                             "workingDirectory": util.working_directory(),
                             "environment": {},
                         },
                         "webhooks": {
                             "running": running_webhook_url,
                             "canceled": canceled_webhook_url,
                             }
                         }
                     ]
                 }
             },
         "links": [
             {
                 "source": "input connector",
                 "destination": "Sleeper"
                 },
             {
                 "source": "Sleeper",
                 "destination": "output connector"
                 }
             ],
         "inputs": {
             },
         }
 def post_data(self):
     return {
             'tasks': {
                 'Bad Job Task': {
                     'methods': [
                         {
                             'name': 'Bad Job',
                             'service': 'job',
                             'serviceUrl': util.shell_command_url(),
                             'parameters': {
                                 # should be commandLine (capital L)
                                 'commandline': ['true'],
                                 "user": util.user(),
                                 "workingDirectory": util.working_directory(),
                                 "environment": util.environment_dict(),
                                 },
                             'webhooks': {
                                 'errored': self.errored_listener.url,
                                 }
                             }
                         ]
                     },
                 },
             'links': [
                 {
                     'source': 'input connector',
                     'destination': 'Bad Job Task',
                     },
                 {
                     'source': 'Bad Job Task',
                     'destination': 'output connector',
                     },
                 ],
             'inputs': {
                 },
             }
Beispiel #14
0
 def post_data(self):
     return {
         'tasks': {
             'A': {
                 'methods': [{
                     'name': 'execute',
                     'service': 'job',
                     'serviceUrl': shell_command_url(),
                     'parameters': {
                         'commandLine': ['cat'],
                         'user': '******',
                         'workingDirectory': '/test/working/directory'
                     }
                 }]
             },
         },
         'links': [
             {
                 'source': 'A',
                 'destination': 'output connector',
                 'dataFlow': {
                     'result': 'out_a',
                 },
             },
             {
                 'source': 'input connector',
                 'destination': 'A',
                 'dataFlow': {
                     'in_a': 'param',
                 },
             },
         ],
         'inputs': {
             'in_a': 'kittens',
         },
     }
    def post_data(self):
        return {
                'webhooks': {
                    'scheduled': self.webhook_server.url,
                    'running': [self.webhook_server.url, self.webhook_server.url],
                    'succeeded': self.webhook_server.url,
                    'failed': self.webhook_server.url,
                    'errored': self.webhook_server.url,
                    'canceled': self.webhook_server.url,
                    'ended': self.webhook_server.url,
                    },
                'tasks': {
                    'Inner': {
                        'webhooks': {
                            'scheduled': self.webhook_server.url,
                            'running': [self.webhook_server.url, self.webhook_server.url],
                            'succeeded': self.webhook_server.url,
                            'failed': self.webhook_server.url,
                            'errored': self.webhook_server.url,
                            'canceled': self.webhook_server.url,
                            'ended': self.webhook_server.url,
                            },
                        'methods': [{
                            'name': 'some_workflow',
                            'webhooks': {
                                'scheduled': self.webhook_server.url,
                                'running': [self.webhook_server.url, self.webhook_server.url],
                                'succeeded': self.webhook_server.url,
                                'failed': self.webhook_server.url,
                                'errored': self.webhook_server.url,
                                'canceled': self.webhook_server.url,
                                'ended': self.webhook_server.url,
                                },
                            'parameters': {
                                'tasks': {
                                    'A': {
                                        'webhooks': {
                                            'scheduled': self.webhook_server.url,
                                            'running': [self.webhook_server.url, self.webhook_server.url],
                                            'succeeded': self.webhook_server.url,
                                            'failed': self.webhook_server.url,
                                            'errored': self.webhook_server.url,
                                            'canceled': self.webhook_server.url,
                                            'ended': self.webhook_server.url,
                                            },
                                        'methods': [
                                            {
                                                'name': 'execute',
                                                'service': 'job',
                                                'serviceUrl': shell_command_url(),
                                                'webhooks': {
                                                    'scheduled': self.webhook_server.url,
                                                    'running': [self.webhook_server.url, self.webhook_server.url],
                                                    'succeeded': self.webhook_server.url,
                                                    'failed': self.webhook_server.url,
                                                    'errored': self.webhook_server.url,
                                                    'canceled': self.webhook_server.url,
                                                    'ended': self.webhook_server.url,
                                                    },
                                                'parameters': {
                                                    'commandLine': ['./echo_command'],
                                                    'environment': dict(os.environ),
                                                    'user': self.user,
                                                    'workingDirectory': self.working_directory,
                                                    }
                                                }
                                            ]
                                        },
                                    },
                                'links': [
                                    {
                                        'source': 'A',
                                        'destination': 'output connector',
                                        'dataFlow': {
                                            'param': 'inner_output'
                                            }
                                        }, {
                                            'source': 'input connector',
                                            'destination': 'A',
                                            'dataFlow': {
                                                'inner_input': 'param'
                                                }
                                            },
                                        ],
                                },
                        'service': 'workflow',
                    }]
                },
            },

            'links': [
                    {
                        'source': 'Inner',
                        'destination': 'output connector',
                        'dataFlow': {
                            'inner_output': 'outer_output'
                            }
                        }, {
                            'source': 'input connector',
                            'destination': 'Inner',
                            'dataFlow': {
                                'outer_input': 'inner_input'
                                }
                            },
                        ],
            'inputs': {
                    'outer_input': 'kittens',
                    },
            }
Beispiel #16
0
 def post_data(self):
     return {
         'webhooks': {
             'scheduled': self.webhook_server.url,
             'running': [self.webhook_server.url, self.webhook_server.url],
             'succeeded': self.webhook_server.url,
             'failed': self.webhook_server.url,
             'errored': self.webhook_server.url,
             'canceled': self.webhook_server.url,
             'ended': self.webhook_server.url,
         },
         'tasks': {
             'Inner': {
                 'webhooks': {
                     'scheduled':
                     self.webhook_server.url,
                     'running':
                     [self.webhook_server.url, self.webhook_server.url],
                     'succeeded':
                     self.webhook_server.url,
                     'failed':
                     self.webhook_server.url,
                     'errored':
                     self.webhook_server.url,
                     'canceled':
                     self.webhook_server.url,
                     'ended':
                     self.webhook_server.url,
                 },
                 'methods': [{
                     'name': 'some_workflow',
                     'webhooks': {
                         'scheduled':
                         self.webhook_server.url,
                         'running':
                         [self.webhook_server.url, self.webhook_server.url],
                         'succeeded':
                         self.webhook_server.url,
                         'failed':
                         self.webhook_server.url,
                         'errored':
                         self.webhook_server.url,
                         'canceled':
                         self.webhook_server.url,
                         'ended':
                         self.webhook_server.url,
                     },
                     'parameters': {
                         'tasks': {
                             'A': {
                                 'webhooks': {
                                     'scheduled':
                                     self.webhook_server.url,
                                     'running': [
                                         self.webhook_server.url,
                                         self.webhook_server.url
                                     ],
                                     'succeeded':
                                     self.webhook_server.url,
                                     'failed':
                                     self.webhook_server.url,
                                     'errored':
                                     self.webhook_server.url,
                                     'canceled':
                                     self.webhook_server.url,
                                     'ended':
                                     self.webhook_server.url,
                                 },
                                 'methods': [{
                                     'name':
                                     'execute',
                                     'service':
                                     'job',
                                     'serviceUrl':
                                     shell_command_url(),
                                     'webhooks': {
                                         'scheduled':
                                         self.webhook_server.url,
                                         'running': [
                                             self.webhook_server.url,
                                             self.webhook_server.url
                                         ],
                                         'succeeded':
                                         self.webhook_server.url,
                                         'failed':
                                         self.webhook_server.url,
                                         'errored':
                                         self.webhook_server.url,
                                         'canceled':
                                         self.webhook_server.url,
                                         'ended':
                                         self.webhook_server.url,
                                     },
                                     'parameters': {
                                         'commandLine': ['./echo_command'],
                                         'environment':
                                         dict(os.environ),
                                         'user':
                                         self.user,
                                         'workingDirectory':
                                         self.working_directory,
                                     }
                                 }]
                             },
                         },
                         'links': [
                             {
                                 'source': 'A',
                                 'destination': 'output connector',
                                 'dataFlow': {
                                     'param': 'inner_output'
                                 }
                             },
                             {
                                 'source': 'input connector',
                                 'destination': 'A',
                                 'dataFlow': {
                                     'inner_input': 'param'
                                 }
                             },
                         ],
                     },
                     'service': 'workflow',
                 }]
             },
         },
         'links': [
             {
                 'source': 'Inner',
                 'destination': 'output connector',
                 'dataFlow': {
                     'inner_output': 'outer_output'
                 }
             },
             {
                 'source': 'input connector',
                 'destination': 'Inner',
                 'dataFlow': {
                     'outer_input': 'inner_input'
                 }
             },
         ],
         'inputs': {
             'outer_input': 'kittens',
         },
     }
Beispiel #17
0
 def post_data(self):
     return {
         'webhooks': {
             'running':
             self.webhook_url('outer_dag'),
             'errored': [
                 self.webhook_url('outer_dag'),
                 self.webhook_url('outer_dag_2')
             ]
         },
         'tasks': {
             'Inner': {
                 'webhooks': {
                     'running':
                     self.webhook_url('outer_task'),
                     'errored': [
                         self.webhook_url('outer_task'),
                         self.webhook_url('outer_task_2')
                     ]
                 },
                 'methods': [{
                     'name': 'some_workflow',
                     'webhooks': {
                         'running':
                         self.webhook_url('inner_dag'),
                         'errored': [
                             self.webhook_url('inner_dag'),
                             self.webhook_url('inner_dag_2')
                         ]
                     },
                     'parameters': {
                         'tasks': {
                             'A': {
                                 'webhooks': {
                                     'running':
                                     self.webhook_url('inner_task'),
                                     'errored': [
                                         self.webhook_url('inner_task'),
                                         self.webhook_url('inner_task_2')
                                     ]
                                 },
                                 'methods': [{
                                     'name':
                                     'execute',
                                     'service':
                                     'job',
                                     'serviceUrl':
                                     shell_command_url(),
                                     'parameters': {
                                         'commandLine': ['cat'],
                                         'user': '******',
                                         'workingDirectory':
                                         '/test/working/directory',
                                         'webhooks': {
                                             'running':
                                             self.webhook_url(
                                                 'shell_command'),
                                             'errored': [
                                                 self.webhook_url(
                                                     'shell_command'),
                                                 self.webhook_url(
                                                     'shell_command_2')
                                             ]
                                         },
                                     }
                                 }]
                             },
                         },
                         'links': [
                             {
                                 'source': 'A',
                                 'destination': 'output connector',
                                 'dataFlow': {
                                     'result': 'inner_output',
                                 },
                             },
                             {
                                 'source': 'input connector',
                                 'destination': 'A',
                                 'dataFlow': {
                                     'inner_input': 'param',
                                 },
                             },
                         ],
                     },
                     'service': 'workflow',
                 }]
             },
         },
         'links': [
             {
                 'source': 'Inner',
                 'destination': 'output connector',
                 'dataFlow': {
                     'inner_output': 'outer_output',
                 },
             },
             {
                 'source': 'input connector',
                 'destination': 'Inner',
                 'dataFlow': {
                     'outer_input': 'inner_input',
                 },
             },
         ],
         'inputs': {
             'outer_input': 'kittens',
         },
     }
    def post_data(self):
        return {
                'tasks': {
                    'Inner': {
                        'methods': [{
                            'name': 'some_workflow',
                            'parameters': {
                                'tasks': {
                                    'A': {
                                        'methods': [
                                            {
                                                'name': 'execute',
                                                'service': 'job',
                                                'serviceUrl': shell_command_url(),
                                                'parameters': {
                                                    'commandLine': ['cat'],
                                                    'user': '******',
                                                    'workingDirectory': '/test/working/directory'
                                                    }
                                                }
                                            ]
                                        },
                                    },
                                'links': [
                                    {
                                        'source': 'A',
                                        'destination': 'output connector',
                                        'dataFlow': {
                                            'result': 'inner_output',
                                            },
                                        }, {
                                            'source': 'input connector',
                                            'destination': 'A',
                                            'dataFlow': {
                                                'inner_input': 'param',
                                                },
                                            },
                                        ],
                                },
                            'service': 'workflow',
                            }],
                        },
                    },

                'links': [
                    {
                        'source': 'Inner',
                        'destination': 'output connector',
                        'dataFlow': {
                            'inner_output': 'outer_output',
                            },
                        }, {
                            'source': 'input connector',
                            'destination': 'Inner',
                            'dataFlow': {
                                'outer_input': 'inner_input',
                                },
                            },
                        ],
                'inputs': {
                        'outer_input': 'kittens',
                        },
                }