Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support Arazzo specs as input files #152

Open
73 tasks
hawkeyexl opened this issue Jun 5, 2024 · 1 comment
Open
73 tasks

Support Arazzo specs as input files #152

hawkeyexl opened this issue Jun 5, 2024 · 1 comment
Labels
enhancement New feature or request

Comments

@hawkeyexl
Copy link
Contributor

hawkeyexl commented Jun 5, 2024

https://spec.openapis.org/arazzo/latest.html

"The Arazzo Specification provides a mechanism that can define sequences of calls and their dependencies to be woven together and expressed in the context of delivering a particular outcome or set of outcomes when dealing with API descriptions (such as OpenAPI descriptions)."

This is useful for validating API-based procedures defined in a standardized format.

Current support (by Arazzo object):

Arazzo Specification Object

  • arazzo
  • info
  • sourceDescriptions
  • workflows
  • components

Info Object

  • title
  • summary
  • description
  • version

Source Description Object

  • name
  • url
  • type

Workflow Object

  • workflowId
  • summary
  • description
  • inputs
  • dependsOn
  • steps
  • successActions
  • failureActions
  • outputs
  • parameters

Step Object

  • description
  • stepId
  • operationId
  • operationPath
  • workflowId
  • parameters
  • requestBody
  • successCriteria
  • onSuccess
  • onFailure
  • outputs

Parameter Object

  • name
  • in
  • value

Success Action Object

  • name
  • type
  • workflowId
  • stepId
  • criteria

Failure Action Object

  • name
  • type
  • workflowId
  • stepId
  • retryAfter
  • retryLimit
  • criteria

Components Object

  • inputs
  • parameters
  • successActions
  • failureActions

Reusable Object

  • reference
  • value

Criterion Object

  • context
  • condition
  • type

Request Body Object

Payload Replacement Object

  • target
  • value

Runtime Expressions

  • HTTP Method
  • Requested media type
  • Request parameter
  • Request body property
  • Request URL
  • Response value
  • Response header
  • Workflow input
  • Step output value
  • Workflow output value
  • Components parameter
@hawkeyexl
Copy link
Contributor Author

hawkeyexl commented Oct 9, 2024

Beginning Arazzo support work. This will be a long-term effort. Arazzo workflows are parallel to blueprints for tests, so it will be possible to specify an reference to a workflow as an item in a spec's tests array, along with the necessary inputs:

{
  "tests": [
    {
      "arazzoDescriptionPath": "workflow.yaml",
      "workflowId": "addUser",
      "inputs": {
        "string": "foobar"
      }
    }
  ]
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant