# swagger-smktest

> Create smoke test from swagger api

Latest version **0.2.5** (published 2021-07-15) · ISC license · 0 weekly downloads

## Install

```sh
npm install swagger-smktest
pnpm add swagger-smktest
yarn add swagger-smktest
bun add swagger-smktest
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.2.5 |
| Published | 2021-07-15 |
| First published | 2021-04-01 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 6 |
| Unpacked size | 110.7 KB |
| Known vulnerabilities | 0 (+23 in 1 direct dependencies) |
| Install scripts | no |
| Author | cecilio.cannav |
| Maintainers | cecilio.cannav |
| Keywords | swagger, automatic, smoke, test, scann |

## Links

- npm: https://www.npmjs.com/package/swagger-smktest
- Repository: https://github.com/cannavit/swagger-smktest
- Homepage: https://github.com/cannavit/swagger-smktest#readme
- Issues: https://github.com/cannavit/swagger-smktest/issues
- npm.io page: https://npm.io/package/swagger-smktest

## Dependencies (6)

- [axios](https://npm.io/package/axios.md) ^0.21.1
- [dotenv](https://npm.io/package/dotenv.md) ^10.0.0
- [shelljs](https://npm.io/package/shelljs.md) ^0.8.4
- [tty-table](https://npm.io/package/tty-table.md) ^4.1.3
- [node-fetch](https://npm.io/package/node-fetch.md) ^2.6.1
- [axios-curlirize](https://npm.io/package/axios-curlirize.md) ^1.3.7

## Alternatives

- [duck](https://npm.io/package/duck.md) — 4.2M weekly downloads
- [ava](https://npm.io/package/ava.md) — 560.2K weekly downloads
- [storybook-addon-module-mock](https://npm.io/package/storybook-addon-module-mock.md) — 71.7K weekly downloads
- [@ethereum-waffle/mock-contract](https://npm.io/package/@ethereum-waffle/mock-contract.md) — 40.0K weekly downloads
- [aws-elasticsearch-connector](https://npm.io/package/aws-elasticsearch-connector.md) — 37.4K weekly downloads

## Recent versions

- 0.2.5 (latest) — 2021-07-15
- 0.2.4 — 2021-07-15
- 0.2.3 — 2021-07-15
- 0.2.2 — 2021-07-14
- 0.2.1 — 2021-07-14
- 0.2.0 — 2021-07-14
- 0.1.9 — 2021-06-27
- 0.1.8 — 2021-06-24
- 0.1.7 — 2021-06-24
- 0.1.5 — 2021-06-23
- 0.1.3 — 2021-05-24
- 0.1.2 — 2021-05-22
- 0.1.1 — 2021-05-22
- 0.1.0 — 2021-05-22
- 0.0.47 — 2021-05-19
- … 19 more at https://npm.io/package/swagger-smktest/versions

## README

[![Kubernetes](https://img.shields.io/badge/-kubernetes-3875A0?style=flat-square&logo=kubernetes&logoColor=white&link=https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/)](https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/)
[![NodeJS](https://img.shields.io/badge/-NodeJs-3CA80B?style=flat-square&logo=nodejs&logoColor=white&link=https://nodejs.org/en/)](https://nodejs.org/en/)
[![GitHub](https://img.shields.io/badge/-github-black?style=flat-square&labelColor=black&logo=github&logoColor=white&link)](https://github.com/cecilio-cannav/zipi-smkTest)
[![GitHub](https://img.shields.io/badge/-mongodb-43A617?style=flat-square&labelColor=43A617&logo=mongodb&logoColor=white&link)](https://www.mongodb.com/developer-tools)

<p align="left" src="https://cecilio-cannav.github.io/zipi-smkTest/">
  <img src="https://raw.githubusercontent.com/cecilio-cannav/zipi-smkTest/master/docs/zipi.png" width="256" title="Smoke-Test">
</p>

# swagger-smktest:

This is a library to facilitate the extraction of apis from the URL of the SWAGGER documentation and to be able to apply smoke testing techniques. It will help you in automation and fault detection issues.
Smoke tests: It is a type of stability test that must be applied before starting the rest of the deep tests. It is generally maintenance-free and can help detect stability issues in your architecture early.
Keyworld: Smoke Test, Sporadic failures, automatic, test

# Content:

- [Smoke Test Commands](#markdown-header-span-elements)
- [General Commands](#markdown-header-span-elements)

# Smoke Test Commands :

| Command library | Level | Scann API Type | Parameters |
| :-------------- | :---- | :------------: | :--------: |
| smokeTest       | Basic |      GET       |     NO     |

# General Commands

| Command library                             | Description                                               |
| :------------------------------------------ | :-------------------------------------------------------- |
| swaggerSmktest.getPreview(urlSwagger)       | Get swagger object of the apis from swagger documentation |
| swaggerSmktest.getBasicApi(urlSwagger)      | Get list of the apis from swagger documentation           |
| swaggerSmktest.getBasicResponse(urlSwagger) | Create basic request using "axios.get "                   |

## Use Example (getBasicApi)

    const swaggerSmktest = require("swagger-smktest");

    async function example_getBasicApi(urlSwagger) {

      const urlSwagger = "https://petstore.swagger.io/v2/swagger.json";

      let simpleApis = await swaggerSmktest.getBasicApi(urlSwagger);


    }

### Output console:

      pathsForTest: [
        '/pet/findByStatus',
        '/pet/findByTags',
        '/store/inventory',
        '/user/login',
        '/user/logout'
      ]

     responseList: [
       { '200': [Object], '400': [Object] },
       { '200': [Object], '400': [Object] },
       { '200': [Object] },
       { '200': [Object], '400': [Object] },
       { default: [Object] }
    ],
     apiList: [ 'GET', 'GET', 'GET', 'GET', 'GET' ]

## Example of use with Jest:

1.  Install Jest
2.  Create jest file: basicSmktest_JestExample.test

3.  Example of basic smokeTest:

### Test example with Jest:

      const swaggerSmktest = require("swagger-smktest");

      let urlSwagger = "https://petstore.swagger.io/v2/swagger.json";

      let {
        responseOfRequest,
        coverage,
        successSmokeTest,
        report,
        abstractReport,
      } = await swaggerSmktest.smokeTest(urlSwagger);

      // Render the APIs SmokeTest report
      console.log(report.render());

      // Render the General report:
      console.log(abstractReport.render());

      // Jest
      expect(successSmokeTest).toBe(false);

      });

Console output:

![toolss_200px](/src/documentation/swagger-smktest.png)

### Referents

https://app.swaggerhub.com/

---
_Source: https://npm.io/package/swagger-smktest · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
