@syngenta-digital/pdt
Version:
[](https://sonarcloud.io/summary/new_code?id=syngenta-digital_pdt-node) [ • 3.94 kB
Markdown
[](https://sonarcloud.io/summary/new_code?id=syngenta-digital_pdt-node) [](https://circleci.com/gh/syngenta-digital/package-node-pdt)
# Postman Documentation Tester (pdt)
The postman documentation tester is simple tool to test your openapi or swagger docs to ensure your APIs do what you say they do.
## Requirements
- [Node.js](https://nodejs.org/en/download/)
- [Postman](https://www.postman.com/)
- [newman](https://learning.postman.com/docs/running-collections/using-newman-cli/command-line-integration-with-newman/)
- [Postman API Key](https://learning.postman.com/docs/developer/intro-api/)
## Features
- Will work with both OpenAPI and Swagger docs
- Able to push changes up to remote collection
- Able to work with multiple collections and openapi/swagger files
- Don't need to go searching for collection ids and environment ids, just use the names
- Able to invoke newman directly from this script
## Installation & Usage
```bash
npx @syngenta-digital/pdt --workspace-name "Some Workspace" --collection-name "Some Collection" --environment-name "some environment" --doc-path openapi.yml --api-key $POSTMAN_API_KEY --push --clean-up --run-newman --bail
# or if you have a specific collection id already
$ npx @syngenta-digital/pdt --collection-id some-collection-id --doc-path test/mock/openapi.yml --api-key $POSTMAN_API_KEY --push -clean-up
# or if you have the collection locally exported
$ npx @syngenta-digital/pdt --collection-file test/mock/mock.postman_collection.json --doc-path test/mock/openapi.yml
# then use postman cli tool (newman) to test your collection
newman run "https://api.getpostman.com/collections/$POSTMAN_COLLECTION_ID?apikey=$POSTMAN_API_KEY" -e "https://api.getpostman.com/environments/$POSTMAN_ENVIRONMENT_ID?apikey=$POSTMAN_API_KEY"
```
| Flag Name | Short | Required | Description |
| :----------------- | :---- | :--------------------- | :------------------------------------------------------------------------------ |
| `workspace-name` | wn | no | The name of the workspace (case sensitive) |
| `environment-name` | en | if run-newman provided | The name of the environment (case sensitive) |
| `collection-name` | cn | if workspace provided | The name of collection (case sensitive) |
| `collection-id` | ci | if no file provided | The collection uid from Postman |
| `collection-file` | cf | if no id provided | File path to the collection json |
| `doc-path` | d | yes | File path to swagger or openapi doc |
| `api-key` | k | if id provided | Postman API Key |
| `proxy-server` | ps | no | Proxy-Server URL (protocol and port required) |
| `push` | p | no | Push updated collection back to postman cloud |
| `clean-up` | c | no | Delete artifacts created during process; only works with push and collection id |
| `run-newman` | rn | no | Will run newman right after up applying tests |
| `bail` | b | use with run newman | Will fail if newman tests fail |