GitHub - nock/openapi: @nock/openapi is a library for mocking HTTP requests based on OpenAPI 3.x specifications. It ensures your mocks align with your API contract, providing type safety and schema validation for both requests and responses. Inspired by OpenAPI-msw.
@nock/openapi is a library for mocking HTTP requests based on OpenAPI 3.x specifications. It simplifies testing by ensuring your mocks align with your API contract.
Inspired by OpenAPI-msw
Features
- Mock HTTP requests using OpenAPI definitions.
- Validate request against the schema.
- Type safety
Installation
pnpm install @nock/openapi
Usage
import { loadOpenApiSpec } from "@nock/openapi"; import type { paths } from './fixtures/schema.ts'; // Generated wit openapi-typescript it('should mock a response body according to OpenAPI spec', async () => { const spec = await loadOpenApiSpec<paths>(exampleSwagger, 'https://petstore3.swagger.io') spec.get('/store/order/123') .reply(200, { id: 123 }, { 'Content-Type': 'application/json' }); const response = await fetch('https://petstore3.swagger.io/store/order/123') expect(response.status).toBe(200) expect(await response.json()).toEqual({ id: 123, petId: 198772, quantity: 7, shipDate: "2019-08-24T14:15:22Z", status: "approved", complete: true, }) })
License
This project is licensed under the MIT License.