@har-sdk/oas
![NPM Downloads](https://img.shields.io/npm/dw/@har-sdk/oas?label=NPM%20Downloads)
Transform your Swagger/OAS spec files into a series of HAR request objects.
- Automatically generates fake data for all parameters
- Compatible with Swagger and OAS specifications
- Simple and easy-to-use API
With this library, you can easily generate requests with fake data to test your API using AutoCannon or DevTools.
Setup
To install the library, run the following command:
$ npm i --save @har-sdk/oas
Usage
To covert your specification, use the oas2har
function as follows:
import schema from './swagger.json' assert { type: 'json' };
import { oas2har } from '@har-sdk/oas';
const requests = await oas2har(schema);
console.log(requests);
YAML files can also be loaded using js-yaml, as shown below:
import { oas2har } from '@har-sdk/oas';
import { readFile } from 'node:fs/promises';
import yaml from 'js-yaml';
const content = yaml.load(await readFile('./swagger.yaml', 'utf-8'));
const requests = await oas2har(content);
console.log(requests);
If you have your specification hosted remotely, you can use a library like axios to fetch it and then convert it to a HAR. Here's an example:
import axios from 'axios';
import { oas2har } from '@har-sdk/oas';
const url = 'https://example.com/swagger.json';
const response = await axios.get(url);
const requests = await oas2har(response.data);
console.log(requests);
Some specifications may incorporate example values for parameters provided in vendor extension fields, to include such examples in output use the oas2har
function as follows:
import schema from './swagger.json' assert { type: 'json' };
import { oas2har } from '@har-sdk/oas';
const requests = await oas2har(schema, { includeVendorExamples: true });
console.log(requests);
Notice the includeVendorExamples
option affects Swagger specifications only.
License
Copyright © 2023 Bright Security.
This project is licensed under the MIT License - see the LICENSE file for details.