{"id":22435050,"url":"https://github.com/abra1193/swaggerpetstoreautomation","last_synced_at":"2026-03-11T14:07:22.773Z","repository":{"id":165516555,"uuid":"345493734","full_name":"abra1193/SwaggerPetStoreAutomation","owner":"abra1193","description":"Swagger PetStore automation tests(C# - RestSharp)","archived":false,"fork":false,"pushed_at":"2025-05-31T16:26:07.000Z","size":58,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-18T05:18:11.928Z","etag":null,"topics":["csharp","restshap","xunit"],"latest_commit_sha":null,"homepage":"","language":"C#","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/abra1193.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-03-08T01:13:10.000Z","updated_at":"2025-05-31T16:26:10.000Z","dependencies_parsed_at":null,"dependency_job_id":"35f21fc9-4480-4fcb-aa33-e85b7a5f3286","html_url":"https://github.com/abra1193/SwaggerPetStoreAutomation","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/abra1193/SwaggerPetStoreAutomation","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abra1193%2FSwaggerPetStoreAutomation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abra1193%2FSwaggerPetStoreAutomation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abra1193%2FSwaggerPetStoreAutomation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abra1193%2FSwaggerPetStoreAutomation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/abra1193","download_url":"https://codeload.github.com/abra1193/SwaggerPetStoreAutomation/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abra1193%2FSwaggerPetStoreAutomation/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30383297,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-11T13:58:07.161Z","status":"ssl_error","status_checked_at":"2026-03-11T13:58:06.476Z","response_time":84,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["csharp","restshap","xunit"],"created_at":"2024-12-05T23:12:19.299Z","updated_at":"2026-03-11T14:07:22.756Z","avatar_url":"https://github.com/abra1193.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# Swagger PetStore automation tests\n\n# Test Approach\n\u003cdiv style=\"text-align: justify\"\u003e\nThe tests were created with a functional testing approach,on every test run some checks and validation are done with certain inputs to verify that data is inserted,displayed,updated and deleted correctly.\n\u003c/div\u003e\n\n# Project Solution\n\u003cdiv style=\"text-align: justify\"\u003e\nThis project is divided in one class library(SwaggerPetStoreAutomationAPI) where are located Actions(Endpoint raw call and responses),Controller(Rest client and Rest Request),Entities(Json converted to Objects),Handlers(Json Serialize and Parse),JsonModels(Json Models for each api entity),Resources(miscellaneous files to test file uplad on endpoints) and Helpers(LoggingHelper)folders and in one test class(SwaggerPetStoreAutomationTests) where are located BaseTests(Base Class),Test(Test to be executed in this project) and TestSharedSteps(Object initialization and endpoint calls abstracted on methods) folders,each of this folders \nrepresent an abstraction layer.\n\u003c/div\u003e\n\n\u003cdiv style=\"text-align: justify\"\u003e\nThis type of solution was used for better code reusability,maintainability of the testing framework.\n\u003c/div\u003e\n\n# Framework / Libraries / Tech Stack \n\n* C#\n* .NET Core\n* RestSharp\n* XUnit\n\u003cdiv style=\"text-align: justify\"\u003e\nThis project is developed using C# with .NET Core,XUnit as the testing framework and RestSharp as my .NET client for the APIs.\n\u003c/div\u003e\n\n\u003cdiv style=\"text-align: justify\"\u003e\nI decided to utilize C# along with Restsharp because this library it's one of the best and easy to use libraries to handle REST api in .NET,it allows you to serialize/deserialize Json as Objects easily and also RestSharp support all the HTTP methods(GET, PUT, HEAD, POST, DELETE and OPTIONS).\n\u003c/div\u003e\n\n\u003cdiv style=\"text-align: justify\"\u003e\nI also utilized .NET Core so this project can have the Ability to run on Windows, macOS, and Linux and Xunit since this is one of the .NET Frameworks that is far more flexible and extensible than others .Net Unit test frameworks.\n\u003c/div\u003e\n\n# Scenarios covered on the solution\n\n**The following scenarios are cover by the automation test suite:**\n\u003cdiv style=\"text-align: justify\"\u003e\n\n*  **Verify Order Status are updated on the Pet Inventory endpoint(OrderTests.cs).**\n\n*  **Verify Order can be created/Updated/Deleted(OrderTests.cs).**\n  \n* **Verify pets can be created/Updated/Deleted(PetsTests.cs).**\n\n* **Verify pets can be search by status(available,pending and sold)(PetsTests.cs).**\n  \n* **Verify pets can be search by different tags(PetsTests.cs).**\n\n* **Verify images can be uploaded to pet entities(PetsTests.cs).**\n\n* **Verify users can logIn/logOut(UserTests.cs).**\n\n* **Verify users can be created(UserTests.cs).**\n\n* **Verify users can be created/Updated/Deleted(UserTests.cs).**\n\u003c/div\u003e\n\n\n# How to execute the tests\n\n### Windows/Mac/Linux CLI test execution ###\n\nStep 1:\n\nSet up your environment as explained in [here](https://github.com/swagger-api/swagger-petstore)\n\nStep 2:\n\nInstall .NET Core SDK on your machine\n\nFollow instructions [here](https://dotnet.microsoft.com/download)\n\n## How to execute the tests cases via CLI\n\n1. Clone/Download the project from this github repository to a path in your machine\n\n2. Navigate to the project folder **abraham-mejia** using your OS CLI\n\n3. For execute the test suite,run the following command on the terminal:\n\n    `dotnet test`\n\n\n### Windows/Mac Visual Studio test execution ###\n\nStep 1:\n\nSet up your environment as explained in [here](https://github.com/swagger-api/swagger-petstore)\n\nStep 2:\n\nInstall Visual Studio Comunnity on your machine\n\nFollow instructions [here](https://visualstudio.microsoft.com/downloads/)\n\n## How to execute the tests cases via Visual Studio\n\n\u003cdiv style=\"text-align: justify\"\u003e\n\n1. Clone/Download the project from this github repository to a path in your machine\n\n2. Open Visual Studio and Click on Open A project or Solution/Clone or checkout Code \n\n3. Wait for the solution to download all dependencies and the test explorer to discover all test\n\n4. Navigate to Test Explorer and hit left click inside the test solution and hit run.\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabra1193%2Fswaggerpetstoreautomation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fabra1193%2Fswaggerpetstoreautomation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabra1193%2Fswaggerpetstoreautomation/lists"}