{"id":22904064,"url":"https://github.com/whoisdreamer/restest","last_synced_at":"2025-04-01T07:57:08.660Z","repository":{"id":263790425,"uuid":"863822049","full_name":"wHoIsDReAmer/RESTest","owner":"wHoIsDReAmer","description":"The lightweight API-Test CLI tool of REST API","archived":false,"fork":false,"pushed_at":"2024-12-24T08:55:09.000Z","size":22,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-07T04:42:18.143Z","etag":null,"topics":["api-testing","cli","rest-api","testing"],"latest_commit_sha":null,"homepage":"","language":"Rust","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/wHoIsDReAmer.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-09-27T01:26:31.000Z","updated_at":"2024-12-24T08:55:12.000Z","dependencies_parsed_at":"2024-11-20T11:31:26.676Z","dependency_job_id":"af3ad155-6836-46ad-9c34-6598abd01b8c","html_url":"https://github.com/wHoIsDReAmer/RESTest","commit_stats":null,"previous_names":["whoisdreamer/restest"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wHoIsDReAmer%2FRESTest","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wHoIsDReAmer%2FRESTest/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wHoIsDReAmer%2FRESTest/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wHoIsDReAmer%2FRESTest/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wHoIsDReAmer","download_url":"https://codeload.github.com/wHoIsDReAmer/RESTest/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246604618,"owners_count":20804100,"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","cli","rest-api","testing"],"created_at":"2024-12-14T02:40:05.767Z","updated_at":"2025-04-01T07:57:08.639Z","avatar_url":"https://github.com/wHoIsDReAmer.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# RESTest CLI\n[![License](https://img.shields.io/badge/license-MIT-blue)](https://github.com/restest-cli/restest-cli/blob/main/LICENSE)\n\nA simple and intuitive CLI tool for writing and executing HTTP API tests using a DSL (Domain Specific Language)\n\n## ✨ Features\n- Write HTTP API test cases with intuitive syntax\n- Support various request options including HTTP methods, headers, body, and query parameters  \n- Response status code and body validation\n- Configurable timeouts\n\n## 📦 Installation (not yet)\n```\ncargo install restest-cli\n```\n\n## 📖 Usage\n\n### Writing Test Files\nCreate a `.rtest` file:\n```\ntest \"Get User Info\"\nendpoint \"https://api.example.com/users/123\"\nmethod GET\ntimeout 1000\nheaders\n    Authorization \"Bearer your-token-here\"\n    Content-Type \"application/json\"\nexpect\n    status 200\n    body contains \"\\\"username\\\": \\\"john\\\"\"\n\ntest \"Create New User\" \nendpoint \"https://api.example.com/users\"\nmethod POST\nheaders\n    Content-Type \"application/json\"\nbody \"{\\\"username\\\": \\\"john\\\", \\\"email\\\": \\\"john@example.com\\\"}\"\nexpect\n    status 201\n    body equals \"{\\\"message\\\": \\\"User created successfully\\\"}\"\n```\n\n### Running Tests\n```\nrestest test --verbose\n```\n\n## 📚 Syntax\n\n### Basic Structure\n- test: Define a test case (required)\n- endpoint: API endpoint URL (required)  \n- method: HTTP method (GET, POST, PUT, DELETE, PATCH, OPTIONS, HEAD)\n- timeout: Request timeout in milliseconds\n- headers: Define HTTP headers\n- body: Request body\n- expect: Response validation rules\n\n### Response Validation\n- status: Verify HTTP status code\n- body equals: Exact body match\n- body contains: Check if body contains string\n\n## 🔮 TODO Features\n- [ ] JSON schema validation\n- [ ] Variables and environment configuration\n- [ ] Test result metrics\n- [ ] Make applicable to CI/CD pipeline\n- [ ] Support multiple test execution\n\n## 🤝 Contributing\nBug reports, feature suggestions and pull requests are welcome!","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwhoisdreamer%2Frestest","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwhoisdreamer%2Frestest","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwhoisdreamer%2Frestest/lists"}