{"id":13454892,"url":"https://github.com/openapi-library/OpenAPIValidators","last_synced_at":"2025-03-24T07:32:13.341Z","repository":{"id":39630504,"uuid":"199614125","full_name":"openapi-library/OpenAPIValidators","owner":"openapi-library","description":"Use Jest or Chai to assert that HTTP responses satisfy an OpenAPI spec","archived":false,"fork":false,"pushed_at":"2023-03-04T14:59:50.000Z","size":2627,"stargazers_count":192,"open_issues_count":48,"forks_count":35,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-03-12T15:47:45.094Z","etag":null,"topics":["chai","chai-plugin","jest","jest-tests","openapi","openapi-specification","openapi-validation","openapi3"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/openapi-library.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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":"2019-07-30T08:56:01.000Z","updated_at":"2025-03-02T01:35:09.000Z","dependencies_parsed_at":"2024-06-18T13:42:15.639Z","dependency_job_id":"03ed8e99-405c-42da-af02-d9fe100d95fe","html_url":"https://github.com/openapi-library/OpenAPIValidators","commit_stats":{"total_commits":216,"total_committers":18,"mean_commits":12.0,"dds":0.5694444444444444,"last_synced_commit":"9511b66efb9f03a923caffd86eb66ede015defc3"},"previous_names":[],"tags_count":27,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openapi-library%2FOpenAPIValidators","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openapi-library%2FOpenAPIValidators/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openapi-library%2FOpenAPIValidators/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openapi-library%2FOpenAPIValidators/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openapi-library","download_url":"https://codeload.github.com/openapi-library/OpenAPIValidators/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244207719,"owners_count":20416105,"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":["chai","chai-plugin","jest","jest-tests","openapi","openapi-specification","openapi-validation","openapi3"],"created_at":"2024-07-31T08:00:59.050Z","updated_at":"2025-03-24T07:32:12.945Z","avatar_url":"https://github.com/openapi-library.png","language":"TypeScript","readme":"# OpenAPI Validators\n\n![build status](https://github.com/openapi-library/OpenAPIValidators/actions/workflows/ci.yml/badge.svg)\n![style](https://img.shields.io/badge/code%20style-airbnb-ff5a5f.svg)\n[![codecov](https://codecov.io/gh/openapi-library/OpenAPIValidators/branch/master/graph/badge.svg)](https://codecov.io/gh/openapi-library/OpenAPIValidators)\n[![MIT License](https://img.shields.io/npm/l/openapi-validator.svg?style=flat-square)](https://github.com/openapi-library/OpenAPIValidators/blob/master/LICENSE)\n[![contributions welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat)](https://github.com/openapi-library/OpenAPIValidators/blob/master/CONTRIBUTING.md)\n\nUse Jest or Chai to assert that HTTP responses satisfy an OpenAPI spec.\n\n## Problem 😕\n\nIf your server's behaviour doesn't match your API documentation, then you need to correct your server, your documentation, or both. The sooner you know the better.\n\n## Solution 😄\n\nThese test plugins let you automatically test whether your server's behaviour and documentation match. They extend Jest and Chai to support the [OpenAPI standard](https://swagger.io/docs/specification/about/) for documenting REST APIs. In your JavaScript tests, you can simply assert `expect(responseObject).toSatisfyApiSpec()`\n\n### [jest-openapi](https://github.com/openapi-library/OpenAPIValidators/tree/master/packages/jest-openapi#readme)\n\n[![downloads](https://img.shields.io/npm/dm/jest-openapi)](https://www.npmjs.com/package/jest-openapi)\n[![npm](https://img.shields.io/npm/v/jest-openapi.svg)](https://www.npmjs.com/package/jest-openapi)\n\n### [Chai OpenAPI Response Validator](https://github.com/openapi-library/OpenAPIValidators/tree/master/packages/chai-openapi-response-validator#readme)\n\n[![downloads](https://img.shields.io/npm/dm/chai-openapi-response-validator)](https://www.npmjs.com/package/chai-openapi-response-validator)\n[![npm](https://img.shields.io/npm/v/chai-openapi-response-validator.svg)](https://www.npmjs.com/package/chai-openapi-response-validator)\n\n## Contributors ✨\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --\u003e\n\u003c!-- prettier-ignore-start --\u003e\n\u003c!-- markdownlint-disable --\u003e\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/rwalle61\"\u003e\u003cimg src=\"https://avatars1.githubusercontent.com/u/18170169?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eRichard Waller\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#maintenance-rwalle61\" title=\"Maintenance\"\u003e🚧\u003c/a\u003e \u003ca href=\"https://github.com/openapi-library/OpenAPIValidators/commits?author=rwalle61\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/openapi-library/OpenAPIValidators/commits?author=rwalle61\" title=\"Documentation\"\u003e📖\u003c/a\u003e \u003ca href=\"https://github.com/openapi-library/OpenAPIValidators/pulls?q=is%3Apr+reviewed-by%3Arwalle61\" title=\"Reviewed Pull Requests\"\u003e👀\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/JonnySpruce\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/30812276?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eJonny Spruce\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/openapi-library/OpenAPIValidators/commits?author=JonnySpruce\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/openapi-library/OpenAPIValidators/commits?author=JonnySpruce\" title=\"Documentation\"\u003e📖\u003c/a\u003e \u003ca href=\"https://github.com/openapi-library/OpenAPIValidators/pulls?q=is%3Apr+reviewed-by%3AJonnySpruce\" title=\"Reviewed Pull Requests\"\u003e👀\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/AlexDobeck\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/10519388?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eAlex Dobeck\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/openapi-library/OpenAPIValidators/commits?author=AlexDobeck\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/openapi-library/OpenAPIValidators/issues?q=author%3AAlexDobeck\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/BenGu3\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/7105857?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eBen Guthrie\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/openapi-library/OpenAPIValidators/commits?author=BenGu3\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/openapi-library/OpenAPIValidators/issues?q=author%3ABenGu3\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://martijnvegter.com/\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/25134477?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMartijn Vegter\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/openapi-library/OpenAPIValidators/commits?author=mvegter\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/ludeknovy\"\u003e\u003cimg src=\"https://avatars1.githubusercontent.com/u/13610612?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eLudek\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/openapi-library/OpenAPIValidators/commits?author=ludeknovy\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/openapi-library/OpenAPIValidators/issues?q=author%3Aludeknovy\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/tgiardina\"\u003e\u003cimg src=\"https://avatars1.githubusercontent.com/u/37459104?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eTommy Giardina\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/openapi-library/OpenAPIValidators/commits?author=tgiardina\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/openapi-library/OpenAPIValidators/issues?q=author%3Atgiardina\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://xotabu4.github.io/\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/3033972?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eOleksandr Khotemskyi\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/openapi-library/OpenAPIValidators/commits?author=Xotabu4\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/amitkeinan9\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/16577335?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eAmit Keinan\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/openapi-library/OpenAPIValidators/commits?author=amitkeinan9\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/DetachHead\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/57028336?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eDetachHead\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/openapi-library/OpenAPIValidators/issues?q=author%3ADetachHead\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"http://karlssonkristoffer.com/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/20490202?v=4?s=100\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eKristoffer Karlsson\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/openapi-library/OpenAPIValidators/commits?author=kristofferkarlsson93\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n\u003c!-- markdownlint-restore --\u003e\n\u003c!-- prettier-ignore-end --\u003e\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:END --\u003e\n","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenapi-library%2FOpenAPIValidators","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenapi-library%2FOpenAPIValidators","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenapi-library%2FOpenAPIValidators/lists"}