Security News
Fluent Assertions Faces Backlash After Abandoning Open Source Licensing
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
Productivity tools for those who worked on postman collections.
This tool is designed to convert existing JSON (collection) files to YAML format, with a little restructuring of the schema.
Install via npm i -g pm-plus
Then go to the directory with postman collections and then type pm+ -c '*.json'
To run both json and yaml use: pm+ -r "*.{json,yaml}"
Or for development mode, git clone this repo and then run
npm i && npm link
The end result is to have maintainable code which is easy to review and edit, without the need for the Postman App.
name: Sample Postman Collection
description: A sample collection to demonstrate collections as a set of related requests
ver: 1.0.0
steps:
- A simple GET request:
GET: 'https://postman-echo.com/get?source=newman-sample-github-collection'
headers: {}
body: {}
test: |-
pm.test('expect response be 200', function () {
pm.response.to.be.ok
})
pm.test('expect response json contain args', function () {
pm.expect(pm.response.json().args).to.have.property('source')
.and.equal('newman-sample-github-collection')
})
instead of JSON
{
"info": {
"name": "Sample Postman Collection",
"schema": "https://schema.getpostman.com/json/collection/v2.0.0/collection.json"
},
"item": [
{
"name": "A simple GET request",
"event": [
{
"listen": "test",
"script": {
"exec": [
"pm.test('expect response be 200', function () {",
" pm.response.to.be.ok",
"})",
"pm.test('expect response json contain args', function () {",
" pm.expect(pm.response.json().args).to.have.property('source')",
" .and.equal('newman-sample-github-collection')",
"})"
],
"type": "text/javascript"
}
}
],
"request": {
"header": [],
"body": {},
"method": "GET",
"url": {
"raw": "https://postman-echo.com/get?source=newman-sample-github-collection",
"host": [
"https:"
],
"path": [
"",
"postman-echo.com",
"get?source=newman-sample-github-collection"
]
}
}
},...
pm+ --convert pattern.(json|yaml)
convert between JSON and YAML formatpm+ --run pattern.(json|yaml) [-u URL]
run file in newman, optionally providing URL as domain
variablepm+ < curl.txt
convert from curl command to YAMLAlso included some handy macros: set, clear, include
for the YAML file.
List the steps in a test file
pm+ -l file
Run specific steps, not all steps in a file
pm+ -r file -s=[1,2,3]
set()
step
- set(variable=value)
clear()
step - to clear the variable set earlier
- clear() # clears all
- clear(v1, v2) # only clear v1 and v2
include()
steps from another test file
steps:
- include(file[,step,step]) # no need .yaml or .json file extension
# by index, starts with step 1
# Name of step
The include files also is recursive, meaning that the included file may also contain its own include()
steps.
The include function requires the filename, and path is relative to the test file.
Examples:
steps:
- include(shared/login)
# by index, starts with step 1
# Name of step
Tired of writing the same file and postman not allowing to require external files?
We have also added include:
directive support to import scripts. Note that this is not the same as the include()
test files.
steps:
- Login as Admin:
POST: '{{domain}}/api/user/login'
headers:
Content-Type: application/json
include:
- path/file1.js
- path/file2.js
prerequest: ...
The included files must be javascript files which will be added to the prerequest
and test
scripts.
import { convert, run } from 'pm-plus'
convert('*.json').then(...)
run('*.json', { url: 'https://...', exclude: 'string | regex' }).then(...)
FAQs
Postman collection simplified, in YAML
We found that pm-plus demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
Research
Security News
Socket researchers uncover the risks of a malicious Python package targeting Discord developers.
Security News
The UK is proposing a bold ban on ransomware payments by public entities to disrupt cybercrime, protect critical services, and lead global cybersecurity efforts.