{"id":20106714,"url":"https://github.com/abhimanyu003/probe","last_synced_at":"2025-05-06T09:32:04.052Z","repository":{"id":65974307,"uuid":"603074538","full_name":"abhimanyu003/probe","owner":"abhimanyu003","description":"Simplified Integration Testing Using YAML and JQ","archived":false,"fork":false,"pushed_at":"2023-03-17T07:39:51.000Z","size":5190,"stargazers_count":34,"open_issues_count":2,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-09T11:05:18.146Z","etag":null,"topics":["api-testing","assertions","cli","contract-testing","developer-tools","devutils","e2e-testing","end-to-end-testing","go","golang","http","integration-testing","rest-api-test","test-automation","test-framework","testing","testing-tools"],"latest_commit_sha":null,"homepage":"https://abhimanyu003.github.io/probe/","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/abhimanyu003.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":"2023-02-17T15:08:18.000Z","updated_at":"2025-03-15T23:21:41.000Z","dependencies_parsed_at":null,"dependency_job_id":"8e35a1e2-947a-4dd3-9d7b-e96ee655b854","html_url":"https://github.com/abhimanyu003/probe","commit_stats":{"total_commits":18,"total_committers":1,"mean_commits":18.0,"dds":0.0,"last_synced_commit":"ac8f146f92e91d051e0700fa0269517db48aec79"},"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abhimanyu003%2Fprobe","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abhimanyu003%2Fprobe/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abhimanyu003%2Fprobe/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abhimanyu003%2Fprobe/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/abhimanyu003","download_url":"https://codeload.github.com/abhimanyu003/probe/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252657321,"owners_count":21783799,"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-testing","assertions","cli","contract-testing","developer-tools","devutils","e2e-testing","end-to-end-testing","go","golang","http","integration-testing","rest-api-test","test-automation","test-framework","testing","testing-tools"],"created_at":"2024-11-13T17:52:27.615Z","updated_at":"2025-05-06T09:32:03.588Z","avatar_url":"https://github.com/abhimanyu003.png","language":"Go","readme":"# Probe\n\nSimplified End-to-End Testing Using YAML and JQ.\n\n**Full documentation is available on the official website: https://abhimanyu003.github.io/probe/**\n\n\n![](./media/banner-compressed.png)\n\n## All Features\n\n* **Cross-platform:** Runs on windows, mac and linux.\n* **JQ:** Full in-built [JQ](https://stedolan.github.io/jq/) support ( no need to install JQ ).\n* **Parallel:** Fast parallel testing for multiple tests\n* **Multi-Stages:** Call multiple systems and services in single test.\n* **Variables:** Supports env and user defined variables.\n* **Setup and Teardown:** Run things beforeEach, afterEach, beforeAll, afterAll, stages.\n* **Logs:** powerful logs that, dump the complete request and response content.\n* **Request Builder:** Easy request builder that allows you to set:\n  * Allow Insecure\n  * Basic Auth\n  * Bearer Auth Token\n  * Body\n  * Form Data\n  * Headers\n  * Json\n  * Query Param\n  * Sleep\n  * Timeout\n  * User-Agent\n  * Upload\n\n\n## Documentation\n\nDocumentation is available at [https://abhimanyu003.github.io/probe/](https://abhimanyu003.github.io/probe/)\n\n* [Getting Started](https://abhimanyu003.github.io/probe/docs/writing-tests/overview/)\n* [Asserts](https://abhimanyu003.github.io/probe/docs/writing-tests/assertions/)\n* [Install](https://abhimanyu003.github.io/probe/docs/prologue/install/)\n\n#### Tutorials and examples\n\n* [How to Auth and Get User](https://abhimanyu003.github.io/probe/docs/examples/auth-and-get-user/)\n* [How to set Form Data](https://abhimanyu003.github.io/probe/docs/examples/form-data/)\n* [How to use JQ functions](https://abhimanyu003.github.io/probe/docs/examples/jq-example/)\n* [How to get JSON keys using JQ](https://abhimanyu003.github.io/probe/docs/examples/json-keys/)\n\n\n\n## :battery: Install Probe\n\nProbe support wide variety of OS\n* linux, darwin, windows\n* 386, amd64, arm64\n\n#### Auto Install\n\n```\ncurl -L https://raw.githubusercontent.com/abhimanyu003/probe/main/install.sh | bash\n```\n\n*This script installs the latest release by default.*\n\n#### Brew\n\n```\nbrew install abhimanyu003/tap/probe\n```\n\n#### Scoop\n\n```\nscoop bucket add probe https://github.com/abhimanyu003/scoop-bucket.git\nscoop install probe\n```\n\n#### Arch Linux\n\n```\nyay -S probe-bin\n```\n\n#### Snap\n\n\u003e At this point we have to alias while using snap\n\n```\nsudo snap install go-probe\nsudo snap alias go-probe.probe probe\n```\n\n#### Go Install\n\n```\ngo install github.com/abhimanyu003/probe@latest\n```\n\n#### Wget\n\nUse wget to download, gzipped pre-compiled binaries.\n\nFor instance, `VERSION=v0.0.1` and `BINARY=probe_0.0.1_linux_amd64`\n\n```\nwget https://github.com/abhimanyu003/probe/releases/download/${VERSION}/${BINARY}.tar.gz -O - |\\\n  tar xz \u0026\u0026 mv probe /usr/bin/probe\n```\n\nYou can find list of binary and release over [Release Page!](https://github.com/abhimanyu003/probe/releases)\n\n#### Manually\n\nDownload the pre-compiled binaries from the [Release!](https://github.com/abhimanyu003/probe/releases) page and copy them\nto the desired location.\n\nYou can download\n* DEB\n* RPM\n* Pre-compiled binary\n\nVisit [Release!](https://github.com/abhimanyu003/probe/releases)\n\n## :boom: Usages\n\n**Full documentation is available on the official website: https://abhimanyu003.github.io/probe/**\n\n\n**Quick Example**\n\n* Create `main.yaml` file\n\n```yaml\nname: Writing Test\nstages:\n  - name: first stage\n    request:\n      url: \"https://httpbin.org/get\"\n      method: GET\n    assert:\n      status: 200\n```\n\n* Run\n```\nprobe run main.yaml\n```\n\n## Examples\n\nHere are some quick example that shows how you can use probe with YAML + JQ.\nThis will help you get some quick idea on how you can write your API tests\n\n#### JQ Example\n\n```yaml\nname: JQ Example\nstages:\n  - name: get products request\n    request:\n      url: \"https://dummyjson.com/products\"\n      method: GET\n    assert:\n      status: 200\n      body:\n        - select: .products | length\n          want: 50\n\n        - select: .products[0].id | isnormal\n          want: true\n\n        - select: .products[0].images | length\n          want: 5\n\n        - select: .products[] | select(.title == \"iPhone 9\") | .id\n          want: 1\n```\n\n\n\n#### Form Data\n\n\n```yaml\nname: Form Data\nstages:\n  - name: add product\n    request:\n      url: \"https://dummyjson.com/products/add\"\n      method: POST\n      headers:\n        Content-Type: 'application/json'\n      formData:\n        title: 'BMW Pencil'\n    assert:\n      status: 200\n      body:\n        - select: .id\n          want: 101\n```\n\n\n## Contribution\n\nThis project welcomes your PR and issues. For example, refactoring, adding features, correcting English, etc. \n\nA quick development guide can be found on. [Developer-Guides](https://github.com/abhimanyu003/probe/wiki/Developer-Guides) wiki page.\n\nIf you need any help, you can contact me on [Twitter](https://twitter.com/abhimanyu003).\n\nThanks to all the people who already contributed and libraries imported in [go.mod](./go.mod)\n\n\u003ca href=\"https://github.com/abhimanyu003/probe/graphs/contributors\"\u003e\n  \u003cimg src=\"https://contributors-img.web.app/image?repo=abhimanyu003/probe\" /\u003e\n\u003c/a\u003e\n\n## License\n\n[MIT](./LICENSE)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabhimanyu003%2Fprobe","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fabhimanyu003%2Fprobe","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabhimanyu003%2Fprobe/lists"}