2.9.1 • Published 20 days ago

@har-sdk/oas v2.9.1

Weekly downloads
-
License
MIT
Repository
github
Last release
20 days ago

@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.

2.9.1

20 days ago

2.9.0

2 months ago

2.8.1

8 months ago

2.8.3

7 months ago

2.8.2

8 months ago

2.8.4

6 months ago

2.8.0

11 months ago

2.6.0

1 year ago

2.7.4

1 year ago

2.7.3

1 year ago

2.7.6

1 year ago

2.7.5

1 year ago

2.5.14

1 year ago

2.5.15

1 year ago

2.5.16

1 year ago

2.7.0

1 year ago

2.7.2

1 year ago

2.7.1

1 year ago

2.5.13

2 years ago

2.5.12

2 years ago

2.5.10

2 years ago

2.5.11

2 years ago

2.5.9

2 years ago

2.3.0

2 years ago

2.2.0

2 years ago

2.5.0

2 years ago

2.4.0

2 years ago

2.3.1

2 years ago

2.5.2

2 years ago

2.5.1

2 years ago

2.5.4

2 years ago

2.1.8

2 years ago

2.5.3

2 years ago

2.5.6

2 years ago

2.5.5

2 years ago

2.1.9

2 years ago

2.5.8

2 years ago

2.5.7

2 years ago

2.1.10

2 years ago

2.1.11

2 years ago

2.1.2

2 years ago

2.1.4

2 years ago

2.1.3

2 years ago

2.1.6

2 years ago

2.1.5

2 years ago

2.1.7

2 years ago

2.0.3

2 years ago

2.1.1

2 years ago

2.0.2

2 years ago

2.1.0

2 years ago

2.0.1

3 years ago

2.0.0

3 years ago

1.1.1

3 years ago

1.1.0

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago