{"id":15174174,"url":"https://github.com/ozandonder/rest-assured-java-cucumber-json-server-api-test","last_synced_at":"2026-02-02T14:09:49.382Z","repository":{"id":237570307,"uuid":"794776433","full_name":"ozandonder/rest-assured-java-cucumber-json-server-api-test","owner":"ozandonder","description":"Java, Rest Assured, Junit5, Cucumber, Json-server","archived":false,"fork":false,"pushed_at":"2024-05-11T23:49:59.000Z","size":23,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-12T04:28:51.800Z","etag":null,"topics":["cucumber","cucumber-java","java","json-server","junit5","lombok","maven","page-object-model","rest-assured"],"latest_commit_sha":null,"homepage":"","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/ozandonder.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-05-01T23:38:26.000Z","updated_at":"2024-05-11T23:50:02.000Z","dependencies_parsed_at":"2024-05-12T00:28:22.264Z","dependency_job_id":null,"html_url":"https://github.com/ozandonder/rest-assured-java-cucumber-json-server-api-test","commit_stats":{"total_commits":4,"total_committers":3,"mean_commits":"1.3333333333333333","dds":0.5,"last_synced_commit":"40f9873b5c46ca847e43d652a7e37a186371c142"},"previous_names":["ozandonder/rest-assured-java-cucumber-json-server-api-test"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ozandonder%2Frest-assured-java-cucumber-json-server-api-test","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ozandonder%2Frest-assured-java-cucumber-json-server-api-test/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ozandonder%2Frest-assured-java-cucumber-json-server-api-test/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ozandonder%2Frest-assured-java-cucumber-json-server-api-test/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ozandonder","download_url":"https://codeload.github.com/ozandonder/rest-assured-java-cucumber-json-server-api-test/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241367910,"owners_count":19951445,"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":["cucumber","cucumber-java","java","json-server","junit5","lombok","maven","page-object-model","rest-assured"],"created_at":"2024-09-27T11:40:23.404Z","updated_at":"2026-02-02T14:09:44.343Z","avatar_url":"https://github.com/ozandonder.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Api Test Automation with Rest Assured-Cucumber\n\n## Tools\n\n* **Java17** - Lang\n* **Intellij IDE** - IDE\n* **Rest Assured** - API\n* **Cucumber7** - Gherkin Lang Framework\n* **Junit5** - Assertion \u0026 Validation Framework\n* **Allure** - Raporting\n* **Logback** - Logging\n* **Json-server** - Database \n\n## Json Server Setup\n\n* Installing JSON Server: https://www.digitalocean.com/community/tutorials/json-server\n\n\n* Go to project path on terminal and run command\n* Version 0.17.4 must be installed `npm install -g json-server@0.17.4`\n\n  ```\n  json-server --port 7000 --routes routes.json --watch db.json\n  ```\n\n## Test Run\n\n1. It can be run based on scenario or feature by pressing the green RUN button on the IDE\n\n\n2. Run with mvn command\n\n\u003e **Note:** allure must be setup\n\n* Run with tags\n\n  ```\n  mvn clean test -Dtest=\"CucumberRunnerTest\" -D\"cucumber.filter.tags=@verify_user_deleted\" -DthreadCount=1\n  ```\n  \n* Run with groups\n\n  ```\n  mvn clean test -Dgroups=\"smoke\"\n  ```\n  \n* System env\n\n  ```\n  mvn clean test -Denv=\"local\"\n  ```\n\n## Allure\n\n\n* Run command \n\n`allure serve target/allure-results `\n\n## Project Structure\n\n```                   \n├── src\n│   ├── test                      \n│   │   ├── java\n│   │   │  ├── api  \n│   │   │  │  ├──callers\n│   │   │  │      └── user              \n│   │   │  │  ├── models\n│   │   │  │      └── user      \n│   │   │  │  ├── requests\n│   │   │  ├── configs\n│   │   │  ├── globals                 \n│   │   │  ├── steps  \n│   │   │  │   └── user\n│   │   │  ├── utils              \n│   │   │  └── CucumberRunnerTest      \n│   │   ├── resources\n│   │   │  ├── features  \n│   │   │  │  └── user\n│   │   │  │      └── create_user.feature \n│   │   │  ├── allure.properties  \n│   │   │  ├── logback.xml  \n├── db.json\n├── routes.json\n├── pom.xml\n└── README.md\n```\n\n## Naming Convention\n\n```\npackage name = my_package\n\nfile name = MyFile\n\nfeature file name = my_feature_file.feature\n\nclass name = MyClass\n\nmethod name = myMethodName\n\nvariable name = myVariable\n\nenum = ALL_CAPITAL\n\ntag name = @my_tag \n\napi caller class = MyClassApiCaller \n\napi request class = MyClassApiRequest \n\napi request model json = myModel.json\n```\n\n## Tagging\n\n* When tagging scenarios snake_case should be used\n\n```  \n@smoke = A scenario/feature which is expected to run in the smoke scope\n@prod  = Scenarios to be run on prod environment\n@regression  = Cases to be run during regression\n@feature_tag = Tag name to be given to each feature file. Example: @feature_login\n@scenario_tag = The unique tag to be given to each scenario. Example: @success_login   \n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fozandonder%2Frest-assured-java-cucumber-json-server-api-test","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fozandonder%2Frest-assured-java-cucumber-json-server-api-test","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fozandonder%2Frest-assured-java-cucumber-json-server-api-test/lists"}