{"id":18141405,"url":"https://github.com/eataborda/api-rest-assured","last_synced_at":"2025-04-06T18:26:30.311Z","repository":{"id":258529207,"uuid":"851663642","full_name":"eataborda/api-rest-assured","owner":"eataborda","description":"REST Assured API automation with Java + Junit5 + Gradle + Allure","archived":false,"fork":false,"pushed_at":"2025-03-27T09:16:43.000Z","size":5332,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-27T10:26:42.169Z","etag":null,"topics":["allure-java","allure-report","allure2","gradle","gradle-java","gradle-kotlin-dsl","gradlew","java","junit-5","junit-jupiter","junit-test","junit5","restful"],"latest_commit_sha":null,"homepage":"https://eataborda.github.io/api-rest-assured/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/eataborda.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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-03T13:59:15.000Z","updated_at":"2025-02-15T15:56:49.000Z","dependencies_parsed_at":"2024-11-07T10:22:37.183Z","dependency_job_id":"8694d3eb-0e4d-4637-a8ba-42dc51e708f7","html_url":"https://github.com/eataborda/api-rest-assured","commit_stats":{"total_commits":6,"total_committers":1,"mean_commits":6.0,"dds":0.0,"last_synced_commit":"3cfe38b8534d8a3add4585d8abd50bf2cd377fe8"},"previous_names":["eataborda/api-rest-assured"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eataborda%2Fapi-rest-assured","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eataborda%2Fapi-rest-assured/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eataborda%2Fapi-rest-assured/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eataborda%2Fapi-rest-assured/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eataborda","download_url":"https://codeload.github.com/eataborda/api-rest-assured/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247528768,"owners_count":20953482,"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":["allure-java","allure-report","allure2","gradle","gradle-java","gradle-kotlin-dsl","gradlew","java","junit-5","junit-jupiter","junit-test","junit5","restful"],"created_at":"2024-11-01T17:06:46.482Z","updated_at":"2025-04-06T18:26:30.295Z","avatar_url":"https://github.com/eataborda.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![test-run](https://github.com/eataborda/api-rest-assured/actions/workflows/api-rest-assured-test-run.yml/badge.svg)](https://github.com/eataborda/api-rest-assured/actions/workflows/api-rest-assured-test-run.yml)\n[![Junit5](https://img.shields.io/badge/Junit5-5.10.3-blue)](https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-engine)\n[![REST-assured](https://img.shields.io/badge/RESTAssured-5.5.0-blue)](https://mvnrepository.com/artifact/io.rest-assured/rest-assured)\n[![Gradle](https://img.shields.io/badge/Gradle-8.9-blue)](https://gradle.org/releases/)\n\n\n# Basic API automation\nAutomation using Java + Junit5 + REST-Assured + Gradle\nused to test the [Restful-Booker](https://restful-booker.herokuapp.com/) service created by Mark Winteringham, current service introduce intentionally errors\non the behavior of the service for study purposes and practice API tests\n\nContains:\n- Basic build.gradle.kts config\n- Basic API automation with general validations for the following request methods: POST, GET, PUT, PATCH, DELETE\n\n## Use sample project locally\n- Verify that you have `Git`\n- Verify that you have `Java` installed, also that you already setup the following environment variables: `$PATH` and `$JAVA_HOME`\n- Clone the repository and move inside that path:\n```shellscript\n$ gh repo clone eataborda/api-rest-assured\n$ cd ./api-rest-assured\n```\n### Before run\nAutomation was setup to get some environment variables from repository to execute the tests on the workflows,\nto execute the tests locally is necessary to set first the following environment variables:\n```\n$  export USER=admin PASSWORD=password123\n```\nValues can be consulted on the following restul-booker [apidoc](https://restful-booker.herokuapp.com/apidoc/index.html)\n\n### Run tests\n- Run all tests on the src:\n```\n$ ./gradlew\n```\n- Run all tests inside class using Junit5 tags (@Tags):\n```\n$ ./gradlew -DincludeTags=\"regression\"\n```\n- Run a specific test method (@Test) inside class using Junit5 tags (@Tag):\n```\n$ ./gradlew -DincludeTags=\"status_code:200\"\n```\nIn this way you can use the following tags depending on the tests you need to run:\n\nhealth_check, workflow, regression, smoke, get-method, post-method, put-method, patch-method,\ndelete-method, status-code:all, status-code:200, status-code:201, status-code:400, status-code:403,\nstatus-code:404, status-code:405, status-code:500\n\n### Generate report\nOnce you have run the tests you can generate the Allure report by running the following command:\n```\n$ allure generate build/allure-results --clean\n```\nAfter running the above command successfully you will be able to find the report in the following path: `your-project-path/allure-report`\n\n### Open the report\nLocally you can open the report in two ways:\n- Using the command:\n```\n$ allure open /your-project-path/allure-report\n```\nThe command starts a local web server and show the report directory's contents. Opens the report in your default browser.\n- Opening the report file `/your-project-path/allure-report/index.html` in the browser of your choice. This shows the static contents of the report directory without starting any local web server.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feataborda%2Fapi-rest-assured","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feataborda%2Fapi-rest-assured","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feataborda%2Fapi-rest-assured/lists"}