@har-sdk/oas
TypeScript icon, indicating that this package has built-in type declarations

2.9.0 • Public • Published

@har-sdk/oas

Maintainability Test Coverage Build Status NPM Downloads

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.

Package Sidebar

Install

npm i @har-sdk/oas

Weekly Downloads

33

Version

2.9.0

License

MIT

Unpacked Size

262 kB

Total Files

186

Last publish

Collaborators

  • pmstss
  • derevnjuk