def test_cancel_workflow_if_definition_deleted(self):
        workflow = """
        version: '2.0'

        wf:
          type: direct
          tasks:
            task1:
              action: std.echo output="foo"
              wait-before: 5
        """

        wf = wf_service.create_workflows(workflow)[0]

        wf_ex = self.engine.start_workflow('wf')

        with db_api.transaction():
            db_api.delete_workflow_definition(wf.id)

        self.engine.stop_workflow(
            wf_ex.id,
            states.CANCELLED,
            "Cancelled by user."
        )

        self.await_workflow_cancelled(wf_ex.id)
Example #2
0
    def delete(self, identifier):
        """Delete a workflow."""
        acl.enforce('workflows:delete', context.ctx())
        LOG.info("Delete workflow [identifier=%s]", identifier)

        with db_api.transaction():
            db_api.delete_workflow_definition(identifier)
Example #3
0
    def delete(self, identifier):
        """Delete a workflow."""
        acl.enforce('workflows:delete', context.ctx())
        LOG.info("Delete workflow [identifier=%s]" % identifier)

        with db_api.transaction():
            db_api.delete_workflow_definition(identifier)
Example #4
0
    def delete(self, name):
        """Delete the named workflow."""
        LOG.info("Delete workflow [name=%s]" % name)

        with db_api.transaction():
            wf_db = db_api.get_workflow_definition(name)

            if wf_db.is_system:
                msg = "Attempt to delete a system workflow: %s" % name
                raise exc.DataAccessException(msg)

            db_api.delete_workflow_definition(name)
Example #5
0
    def delete(self, identifier, namespace=''):
        """Delete a workflow.

        :param identifier: Name or ID of workflow to delete.
        :param namespace: Optional. Namespace of the workflow to delete.
        """
        acl.enforce('workflows:delete', context.ctx())

        LOG.info("Delete workflow [identifier=%s, namespace=%s]", identifier,
                 namespace)

        with db_api.transaction():
            db_api.delete_workflow_definition(identifier, namespace)
Example #6
0
    def test_cancel_workflow_if_definition_deleted(self):
        workflow = """
        version: '2.0'

        wf:
          type: direct
          tasks:
            task1:
              action: std.echo output="foo"
              wait-before: 5
        """

        wf = wf_service.create_workflows(workflow)[0]

        wf_ex = self.engine.start_workflow('wf', {})

        with db_api.transaction():
            db_api.delete_workflow_definition(wf.id)

        self.engine.stop_workflow(wf_ex.id, states.CANCELLED,
                                  "Cancelled by user.")

        self.await_workflow_cancelled(wf_ex.id)
Example #7
0
 def _delete_workflow_definition():
     with db_api.transaction():
         db_api.delete_workflow_definition(identifier, namespace)
Example #8
0
 def _delete_workflow_definition():
     with db_api.transaction():
         db_api.delete_workflow_definition(identifier, namespace)
Example #9
0
    def delete(self, identifier):
        """Delete a workflow."""
        LOG.info("Delete workflow [identifier=%s]" % identifier)

        with db_api.transaction():
            db_api.delete_workflow_definition(identifier)
Example #10
0
    def delete(self, name):
        """Delete the named workflow."""
        LOG.info("Delete workflow [name=%s]" % name)

        db_api.delete_workflow_definition(name)
Example #11
0
    def delete(self, identifier):
        """Delete a workflow."""
        LOG.info("Delete workflow [identifier=%s]" % identifier)

        with db_api.transaction():
            db_api.delete_workflow_definition(identifier)