{"id":15291989,"url":"https://github.com/vamsi1810/testsmartapiautomation","last_synced_at":"2026-05-03T19:34:44.451Z","repository":{"id":254678895,"uuid":"847209416","full_name":"Vamsi1810/TestSmartAPIAutomation","owner":"Vamsi1810","description":"This repository is about performing API testing through Rest Assured automation framework on the api's provided AngelOne","archived":false,"fork":false,"pushed_at":"2024-08-25T08:59:15.000Z","size":41,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-29T15:12:33.840Z","etag":null,"topics":["gson","jackson-databind","java-21","json-path","json-schema-validator","maven","objectmapper","okhttp3","rest-assured-framework","testng-framework","validation-api"],"latest_commit_sha":null,"homepage":"https://smartapi.angelbroking.com/docs","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/Vamsi1810.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-08-25T06:51:20.000Z","updated_at":"2024-08-25T09:02:53.000Z","dependencies_parsed_at":"2024-08-25T10:06:09.881Z","dependency_job_id":null,"html_url":"https://github.com/Vamsi1810/TestSmartAPIAutomation","commit_stats":null,"previous_names":["vamsi1810/testsmartapiautomationapi"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Vamsi1810%2FTestSmartAPIAutomation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Vamsi1810%2FTestSmartAPIAutomation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Vamsi1810%2FTestSmartAPIAutomation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Vamsi1810%2FTestSmartAPIAutomation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Vamsi1810","download_url":"https://codeload.github.com/Vamsi1810/TestSmartAPIAutomation/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245247419,"owners_count":20584347,"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":["gson","jackson-databind","java-21","json-path","json-schema-validator","maven","objectmapper","okhttp3","rest-assured-framework","testng-framework","validation-api"],"created_at":"2024-09-30T16:15:27.624Z","updated_at":"2026-05-03T19:34:44.420Z","avatar_url":"https://github.com/Vamsi1810.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Smart API Automation Project\n\n\u003cp\u003eThis project implements API automation for \u003ca href=\"https://smartapi.angelbroking.com/docs\"\u003eAngel One's Smart API\u003c/a\u003e using the \u003cstrong\u003eREST Assured framework\u003c/strong\u003e in Java. The goal of this project is to ensure that the API responses conform to the expected standards, including validating response codes, verifying the schema, and ensuring that data types are correctly mapped.\u003c/p\u003e\n\n## Project Overview\n\n\u003cp\u003eThe API testing in this project focuses on the following key aspects:\u003c/p\u003e\n\u003cul\u003e\n    \u003cli\u003e\u003cstrong\u003eRequest Validation:\u003c/strong\u003e Hitting APIs based on their respective request types and verifying if the response contains the expected status codes.\u003c/li\u003e\n    \u003cli\u003e\u003cstrong\u003eResponse Validation:\u003c/strong\u003e Ensuring that the response data conforms to the expected schema and checking that each field adheres to the correct data types (e.g., \u003ccode\u003eString\u003c/code\u003e, \u003ccode\u003elong\u003c/code\u003e, \u003ccode\u003eint\u003c/code\u003e, \u003ccode\u003eDate\u003c/code\u003e, etc.).\u003c/li\u003e\n    \u003cli\u003e\u003cstrong\u003eSchema Validation:\u003c/strong\u003e Verifying the API responses against predefined JSON schemas using the \u003ccode\u003ejson-schema-validator\u003c/code\u003e library.\u003c/li\u003e\n    \u003cli\u003e\u003cstrong\u003eData Management:\u003c/strong\u003e Test data is fetched from JSON files and supplied to the API requests using \u003cstrong\u003eTestNG's DataProviders\u003c/strong\u003e. The data is converted to the supported schema types before being passed into the request object, ensuring that no invalid data is processed.\u003c/li\u003e\n\u003c/ul\u003e\n\n## Dependencies\n\n\u003cp\u003eThe following dependencies are used in the project:\u003c/p\u003e\n\u003cul\u003e\n    \u003cli\u003e\u003cstrong\u003eREST Assured:\u003c/strong\u003e For API testing and validation.\u003c/li\u003e\n    \u003cli\u003e\u003cstrong\u003eTestNG:\u003c/strong\u003e For managing test cases, assertions, and DataProviders.\u003c/li\u003e\n    \u003cli\u003e\u003cstrong\u003eGson:\u003c/strong\u003e For JSON parsing and serialization.\u003c/li\u003e\n    \u003cli\u003e\u003cstrong\u003eMaven:\u003c/strong\u003e For dependency management and project build.\u003c/li\u003e\n    \u003cli\u003e\u003cstrong\u003eJSON-Path:\u003c/strong\u003e For extracting data from JSON responses.\u003c/li\u003e\n    \u003cli\u003e\u003cstrong\u003eOkHttp3:\u003c/strong\u003e For making HTTP requests.\u003c/li\u003e\n    \u003cli\u003e\u003cstrong\u003eJSON-Schema-Validator:\u003c/strong\u003e For validating API responses against predefined schemas.\u003c/li\u003e\n    \u003cli\u003e\u003cstrong\u003eJackson-Bind:\u003c/strong\u003e For handling JSON data binding.\u003c/li\u003e\n\u003c/ul\u003e\n\n## Project Workflow\n\n\u003cp\u003eThe project workflow consists of the following steps:\u003c/p\u003e\n\u003cul\u003e\n    \u003cli\u003e\u003cstrong\u003eRequest Execution:\u003c/strong\u003e API requests are sent based on the appropriate HTTP methods, with data retrieved from external JSON files. These requests are structured to ensure compliance with the Smart API's documented formats.\u003c/li\u003e\n    \u003cli\u003e\u003cstrong\u003eResponse Handling:\u003c/strong\u003e The received API responses are evaluated to ensure that the status codes match the expected outcomes. Further validation checks are conducted on the response body to ensure compliance with the predefined JSON schema.\u003c/li\u003e\n    \u003cli\u003e\u003cstrong\u003eData Type Mapping:\u003c/strong\u003e The fields in the response object are checked to ensure they are correctly mapped to their expected data types, such as \u003ccode\u003eString\u003c/code\u003e, \u003ccode\u003eint\u003c/code\u003e, \u003ccode\u003elong\u003c/code\u003e, \u003ccode\u003eDate\u003c/code\u003e, etc.\u003c/li\u003e\n    \u003cli\u003e\u003cstrong\u003eAssertion and Validation:\u003c/strong\u003e Using \u003cstrong\u003eTestNG\u003c/strong\u003e assertions and \u003cstrong\u003eHamcrest Matchers\u003c/strong\u003e, we validate that the API responses meet the expected conditions.\u003c/li\u003e\n\u003c/ul\u003e\n\n## How to Use\n\n\u003cp\u003eFollow these steps to run the project:\u003c/p\u003e\n\u003cul\u003e\n    \u003cli\u003eClone the repository.\u003c/li\u003e\n    \u003cli\u003eEnsure you have the following installed:\u003c/li\u003e\n    \u003cul\u003e\n        \u003cli\u003eJava (JDK)\u003c/li\u003e\n        \u003cli\u003eMaven\u003c/li\u003e\n    \u003c/ul\u003e\n    \u003cli\u003eRun \u003ccode\u003emvn clean install\u003c/code\u003e to install dependencies and build the project.\u003c/li\u003e\n    \u003cli\u003eExecute the test suite using TestNG to run the API tests.\u003c/li\u003e\n    \u003cli\u003eReview the test results for validation of the API responses.\u003c/li\u003e\n\u003c/ul\u003e\n\n## Conclusion\n\n\u003cp\u003eThis automation project ensures the reliability and accuracy of API responses by combining data-driven testing with extensive schema and data type validations. The use of REST Assured and other supporting libraries helps maintain a robust testing framework, ensuring that the Smart API is functioning as expected.\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvamsi1810%2Ftestsmartapiautomation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvamsi1810%2Ftestsmartapiautomation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvamsi1810%2Ftestsmartapiautomation/lists"}