@syngenta-digital/pdt

[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=syngenta-digital_pdt-node&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=syngenta-digital_pdt-node) [![CircleCI](https://circleci.com/gh/syngenta-digital/pac


Keywords
postman, cicd, documentation-tests, syngenta-digital
License
Apache-2.0
Install
npm install @syngenta-digital/pdt@1.0.7

Documentation

Quality Gate Status CircleCI

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

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

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