{"id":30123417,"url":"https://github.com/imrostami/requester","last_synced_at":"2025-08-10T14:41:23.908Z","repository":{"id":305808584,"uuid":"850793424","full_name":"imrostami/Requester","owner":"imrostami","description":"Simple and powerful library for Testing API Endpoints","archived":false,"fork":false,"pushed_at":"2024-09-02T11:44:12.000Z","size":37,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-22T06:21:42.072Z","etag":null,"topics":["api-testing","httpc","request-lib","requests","test","webapi"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/imrostami.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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}},"created_at":"2024-09-01T19:42:46.000Z","updated_at":"2024-09-22T18:43:38.000Z","dependencies_parsed_at":"2025-07-22T06:21:43.904Z","dependency_job_id":"c512f416-e7f5-4211-9ba7-074ece72c0a2","html_url":"https://github.com/imrostami/Requester","commit_stats":null,"previous_names":["imrostami/requester"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/imrostami/Requester","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imrostami%2FRequester","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imrostami%2FRequester/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imrostami%2FRequester/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imrostami%2FRequester/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/imrostami","download_url":"https://codeload.github.com/imrostami/Requester/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imrostami%2FRequester/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269738557,"owners_count":24467542,"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","status":"online","status_checked_at":"2025-08-10T02:00:08.965Z","response_time":71,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["api-testing","httpc","request-lib","requests","test","webapi"],"created_at":"2025-08-10T14:41:23.071Z","updated_at":"2025-08-10T14:41:23.889Z","avatar_url":"https://github.com/imrostami.png","language":"C#","readme":"# Requester\n\nA simple and efficient tool for testing your API endpoints without any hassle. Just create and add your request endpoints, then run the tests.\n\n\n![image](https://github.com/user-attachments/assets/543d6922-f272-4031-a8c6-a2f6503498f0)\n\n\n## Let's get started\nFirst, we create a class that inherits from the base class `RequestEndpoint` \n\nFor example:\n\n```cs\n[Endpoint(\"/todos\")]\ninternal class JsonPlaseholderTest : RequestEndpoint\n{\n\tpublic override async Task\u003cIEndpointResult\u003e Handle(IEndpointResult previousResult)\n\t{\n\t\tvar todos = await GetAsync();\n\t\tif (todos.IsSuccessStatusCode)\n\t\t\treturn TestSucceeded(todos);\n\n\t\treturn TestFailed(todos);\n\t}\n}\n\n```\n\nEach `RequestEndpoint` provides two functions for sending the final response: `TestSucceeded` and `TestFailed`. You send the response generated in the current test as input to these functions so that it remains available for subsequent tests. For example, if you want to retrieve a todo item by its ID, which was created from the response of the previous test, you can access it using the `previousResult` object from parameter\n\nIt also has functions to send requests to specified endpoints such as\n`GetAsync`\n`PostAsync` \nand..\nis\nBut note that entering the functions does not require entering the request address\n\n\nFinally, to set up the request pipeline, you need to add your tests in your console application with `MapFromAssembly` and execute the `RunTests` function\n\n```cs\nvar baseAddress = new Uri(\"https://jsonplaceholder.typicode.com\");\n\nvar builder = new RequesterBuilder(baseAddress)\n\t.MapFromAssembly(typeof(Program).Assembly);\n\n\nvar app = builder.Build();\n\nawait app.RunTests();\n\n```\n\n\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fimrostami%2Frequester","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fimrostami%2Frequester","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fimrostami%2Frequester/lists"}