{"id":19315183,"url":"https://github.com/leidenheit/itarazzo-client","last_synced_at":"2025-04-12T12:52:30.177Z","repository":{"id":259734592,"uuid":"879249497","full_name":"leidenheit/itarazzo-client","owner":"leidenheit","description":"Client which utilizes Itarazzo library in order to execute an arazzo specification easily","archived":false,"fork":false,"pushed_at":"2024-11-22T09:39:26.000Z","size":48,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"develop","last_synced_at":"2025-04-06T04:30:52.432Z","etag":null,"topics":["api-rest","arazzo","arazzo-specification","openapi","openapi-specification","testing"],"latest_commit_sha":null,"homepage":"https://github.com/leidenheit/itarazzo-library","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/leidenheit.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-10-27T12:14:19.000Z","updated_at":"2025-03-05T08:47:52.000Z","dependencies_parsed_at":"2024-11-18T00:31:02.961Z","dependency_job_id":null,"html_url":"https://github.com/leidenheit/itarazzo-client","commit_stats":null,"previous_names":["leidenheit/itarazzo-client"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leidenheit%2Fitarazzo-client","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leidenheit%2Fitarazzo-client/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leidenheit%2Fitarazzo-client/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leidenheit%2Fitarazzo-client/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/leidenheit","download_url":"https://codeload.github.com/leidenheit/itarazzo-client/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248571608,"owners_count":21126519,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api-rest","arazzo","arazzo-specification","openapi","openapi-specification","testing"],"created_at":"2024-11-10T01:04:59.431Z","updated_at":"2025-04-12T12:52:30.158Z","avatar_url":"https://github.com/leidenheit.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Itarazzo Client\r\nThe *Itarazzo Client* allows for the container-based execution and integration of workflow tests based on the [Arazzo Specification](https://spec.openapis.org/arazzo/latest.html). \r\n\r\n---\r\n\r\n**Note**: This project is developed in my free time alongside family and full-time work. Any feedback or contributions are greatly appreciated as I strive to make this tool as helpful as possible for other developers.\r\n\r\n---\r\n\r\n## Contents\r\n- [Parameters](#parameters)\r\n- [Docker Configuration](#docker-configuration)\r\n- [Building and Running the Docker Image](#building-and-running-docker-image)\r\n- [Using Docker Compose](#using-docker-compose)\r\n- [Execution Notes](#execution-notes)\r\n- [Security](#security-warning)\r\n\r\n---\r\n\r\n## Parameters\r\nTo configure the workflows, two environment variables need to be specified:\r\n\r\n- `ARAZZO_FILE`: Path or URI to the Arazzo specification (e.g., `/itarazzo/specs/pet-store.arazzo.yaml`)\r\n- `ARAZZO_INPUTS_FILE`: Path to a valid JSON file that contains input values for the workflow test (e.g., `/itarazzo/specs/arazzo-inputs.json`)\r\n\r\n---\r\n\r\n## Docker Configuration\r\nThe Itarazzo client runs within a Docker container as a non-root user (`itarazzobot`) in the working directory `/itarazzo`.\r\n\r\n---\r\n\r\n## Building and Running Docker Image\r\nUse the following commands to build and run the Docker image:\r\n\r\n```bash\r\n# Build the Docker image\r\ndocker build -t itarazzo-client .\r\n\r\n# Run the container\r\ndocker run --rm \\\r\n    -e ARAZZO_FILE=/itarazzo/specs/pet-store.arazzo.yaml \\\r\n    -e ARAZZO_INPUTS_FILE=/itarazzo/specs/arazzo-inputs.json \\\r\n    -v /path/to/specsDir:/itarazzo/specs \\\r\n    -v /path/to/reportsDir:/itarazzo/target/reports \\\r\n    itarazzo-client\r\n```\r\n\r\n---\r\n\r\n### Explanation of this command:\r\n- Sets the environment variables `ARAZZO_FILE` and `ARAZZO_INPUTS_FILE`.\r\n- Mounts the local directory `path/to/specsDir` to `/itarazzo/specs`, allowing access to specifications in the container.\r\n- Mounts `path/to/reportsDir` to `/itarazzo/target/reports` so that test reports are available on the host machine.\r\n\r\n---\r\n\r\n## Using docker-compose\r\nThere is also a `docker-compose.yaml` which simplifies starting the container:\r\n\r\n```yaml\r\nservices:\r\n  itarazzo:\r\n    image: leidenheit/itarazzo-client:latest\r\n    environment:\r\n      - ARAZZO_FILE=/itarazzo/specs/pet-store.arazzo.yaml\r\n      - ARAZZO_INPUTS_FILE=/itarazzo/specs/arazzo-inputs.json\r\n    volumes:\r\n      - ./src/test/resources:/itarazzo/specs\r\n      - ./target/reports:/itarazzo/target/reports\r\n    stop_grace_period: 30s\r\n```\r\n### Start the container using docker-compose:\r\n```bash\r\ndocker-compose up --build\r\n```\r\nThis command builds and starts the container, runs the tests, and exits automatically when done.\r\n\r\n---\r\n\r\n## Execution Notes\r\nThe container will automatically exit after completing the tests.\r\n\r\n---\r\n\r\n## Security Warning\r\n*Itarazzo Client makes real API requests. Please take care to avoid unintentionally interacting with production systems.*\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleidenheit%2Fitarazzo-client","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fleidenheit%2Fitarazzo-client","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleidenheit%2Fitarazzo-client/lists"}