{"_id":"@blossomfinance/rest-ez","_rev":"8-bd95a212829374c5830da43cbc2a2bac","name":"@blossomfinance/rest-ez","dist-tags":{"latest":"1.6.0"},"versions":{"1.5.0":{"name":"@blossomfinance/rest-ez","version":"1.5.0","description":"Easy, spec based API test framework for HTTP APIs (REST, GraphQL)","homepage":"https://matmar10.github.io/rest-ez/","keywords":["API","mocha","REST","GraphQL","testing","test","restful","rest","http","webservice","microservice","yaml","testrunner","QA","api","automation","testreporter"],"author":{"name":"Kiran Mandadi","email":"kiran.6d.hex@gmail.com"},"contributors":[{"name":"Kiran Mandadi","email":"kiran.6d.hex@gmail.com","url":"https://github.com/kiranz"},{"name":"Matthew Martin","email":"matthew.mar10@gmail.com","url":"https://github.com/matmar10"}],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/matmar10/rest-ez.git"},"engines":{"node":">=7.10.0","npm":">=4.5.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"scripts":{"build":"npm run clean && npm run transpile && npm run dist:files","transpile":"babel 'lib/**/*.js' --out-dir .tmp/dist && mv .tmp/dist/lib src","dist:files":"npm run dist:files:json && npm run dist:files:css","dist:files:json":"mkdir -p src/schema/yaml && cp -r lib/schema/yaml/*.json src/schema/yaml/","dist:files:css":"mkdir -p src/reporters/html-src/assets && cp -r lib/reporters/html-src/assets/*.css src/reporters/html-src/assets/","clean":"npm run clean:src && npm run clean:test-logs","clean:src":"rm -rf src","clean:test-logs":"rm -rf test/cli/src/logs && mkdir test/cli/src/logs","test-api":"npm run test-api:install && npm run test-api:start","test-api:install":"cd test/api && npm install && cp db_original.json db.json","test-api:start":"npm run test-api:install && cd test/api && node server.js","test":"npm run clean:test-logs  && mocha --timeout 10000 test/cli/*.spec.js","release":"release-it"},"dependencies":{"@apidevtools/json-schema-ref-parser":"^9.0.9","chai":"4.1.2","chalk":"2.4.1","commander":"2.11.0","debug":"3.1.0","error-ex":"1.3.1","esprima":"4.0.0","glob":"7.1.2","he":"1.1.1","js-yaml":"3.11.0","jsonpath":"1.0.0","jsonschema":"1.2.2","lodash":"4.17.10","mkdirp":"0.5.1","pretty-ms":"3.1.0","request":"2.85.0","request-cookies":"1.1.0","semver":"5.5.0","serialize-error":"2.1.0","string-template":"1.0.0","url-parse":"1.4.3"},"devDependencies":{"@release-it/conventional-changelog":"^3.0.1","babel-cli":"^6.24.1","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-array-includes":"^2.0.3","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-es2015-modules-commonjs":"^6.24.1","babel-plugin-transform-es2015-parameters":"^6.24.1","babel-plugin-transform-es2015-spread":"^6.22.0","babel-plugin-transform-object-rest-spread":"^6.23.0","babel-plugin-transform-react-jsx":"^6.24.1","babel-register":"^6.24.1","chai":"4.1.2","cross-spawn":"6.0.5","del":"3.0.0","mocha":"5.2.0","release-it":"^14.10.1"},"bin":{"rest-ez":"bin/rest-ez"},"release-it":{"hooks":{"before:init":"npm run build"},"plugins":{"@release-it/conventional-changelog":{"infile":"CHANGELOG.md","preset":{"name":"conventionalcommits","types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"perf","section":"Performance Improvements"},{"type":"revert","section":"Reverts"},{"type":"docs","section":"Documentation"},{"type":"style","section":"Styles"},{"type":"refactor","section":"Code Refactoring"},{"type":"test","section":"Tests"},{"type":"build","section":"Build System"},{"type":"ci","section":"Continuous Integration"}]}}},"git":{"commit":true,"requireUpstream":false,"tag":true,"push":true},"github":{"release":true},"npm":{"publish":true}},"gitHead":"2fd4c78ee156a43cc11d4b5220e98a15b66fc5a7","bugs":{"url":"https://github.com/matmar10/rest-ez/issues"},"_id":"@blossomfinance/rest-ez@1.5.0","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-+kSKmc0jB/vTNWn/ncZPHZ4oHVhErRsf4qHz67V65De5FGDxb7TlrWblL8ywl2s/PHSDMSzYrERbbH36mKvCkw==","shasum":"a9f4c7eeaacc36a91dd2da9e38bf7fa03b827e76","tarball":"https://registry.npmjs.org/@blossomfinance/rest-ez/-/rest-ez-1.5.0.tgz","fileCount":27,"unpackedSize":177727,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCEDU6sZrPoKgREtPKy7Ilk1XnZ3gP1SbPVsJNrlgpzsQIgfk3kJQQnjx9DOJe7qCSC4RqCEc+J6mzYZ8TkInRwSZk="}]},"_npmUser":{"name":"matmar10","email":"matthew@blossomfinance.com"},"directories":{},"maintainers":[{"name":"matmar10","email":"matthew@blossomfinance.com"},{"name":"chairul","email":"chairul@blossomfinance.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rest-ez_1.5.0_1636522534925_0.914459845425005"},"_hasShrinkwrap":false},"1.5.1":{"name":"@blossomfinance/rest-ez","version":"1.5.1","description":"Easy, spec based API test framework for HTTP APIs (REST, GraphQL)","homepage":"https://blossomfinance.github.io/rest-ez/","keywords":["API","mocha","REST","GraphQL","testing","test","restful","rest","http","webservice","microservice","yaml","testrunner","QA","api","automation","testreporter"],"author":{"name":"Kiran Mandadi","email":"kiran.6d.hex@gmail.com"},"contributors":[{"name":"Kiran Mandadi","email":"kiran.6d.hex@gmail.com","url":"https://github.com/kiranz"},{"name":"Matthew Martin","email":"matthew.mar10@gmail.com","url":"https://github.com/matmar10"}],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/blossomfinance/rest-ez.git"},"engines":{"node":">=7.10.0","npm":">=4.5.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"scripts":{"build":"npm run clean && npm run transpile && npm run dist:files","transpile":"babel 'lib/**/*.js' --out-dir .tmp/dist && mv .tmp/dist/lib src","dist:files":"npm run dist:files:json && npm run dist:files:css","dist:files:json":"mkdir -p src/schema/yaml && cp -r lib/schema/yaml/*.json src/schema/yaml/","dist:files:css":"mkdir -p src/reporters/html-src/assets && cp -r lib/reporters/html-src/assets/*.css src/reporters/html-src/assets/","clean":"npm run clean:src && npm run clean:test-logs","clean:src":"rm -rf src","clean:test-logs":"rm -rf test/cli/src/logs && mkdir test/cli/src/logs","test-api":"npm run test-api:install && npm run test-api:start","test-api:install":"cd test/api && npm install && cp db_original.json db.json","test-api:start":"npm run test-api:install && cd test/api && node server.js","test":"npm run clean:test-logs  && mocha --timeout 10000 test/cli/*.spec.js","release":"release-it"},"dependencies":{"@apidevtools/json-schema-ref-parser":"^9.0.9","chai":"4.1.2","chalk":"2.4.1","commander":"2.11.0","debug":"3.1.0","error-ex":"1.3.1","esprima":"4.0.0","glob":"7.1.2","he":"1.1.1","js-yaml":"3.11.0","jsonpath":"1.0.0","jsonschema":"1.2.2","lodash":"4.17.10","mkdirp":"0.5.1","pretty-ms":"3.1.0","request":"2.85.0","request-cookies":"1.1.0","semver":"5.5.0","serialize-error":"2.1.0","string-template":"1.0.0","url-parse":"1.4.3"},"devDependencies":{"@release-it/conventional-changelog":"^3.0.1","babel-cli":"^6.24.1","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-array-includes":"^2.0.3","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-es2015-modules-commonjs":"^6.24.1","babel-plugin-transform-es2015-parameters":"^6.24.1","babel-plugin-transform-es2015-spread":"^6.22.0","babel-plugin-transform-object-rest-spread":"^6.23.0","babel-plugin-transform-react-jsx":"^6.24.1","babel-register":"^6.24.1","chai":"4.1.2","cross-spawn":"6.0.5","del":"3.0.0","mocha":"5.2.0","release-it":"^14.10.1"},"bin":{"rest-ez":"bin/rest-ez"},"release-it":{"hooks":{"before:init":"npm run build"},"plugins":{"@release-it/conventional-changelog":{"infile":"CHANGELOG.md","preset":{"name":"conventionalcommits","types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"perf","section":"Performance Improvements"},{"type":"revert","section":"Reverts"},{"type":"docs","section":"Documentation"},{"type":"style","section":"Styles"},{"type":"refactor","section":"Code Refactoring"},{"type":"test","section":"Tests"},{"type":"build","section":"Build System"},{"type":"ci","section":"Continuous Integration"}]}}},"git":{"commit":true,"requireUpstream":false,"tag":true,"push":true},"github":{"release":true},"npm":{"publish":true}},"gitHead":"e0e6f0b0ecbe7fa6077aff292065194d8a4786d0","bugs":{"url":"https://github.com/blossomfinance/rest-ez/issues"},"_id":"@blossomfinance/rest-ez@1.5.1","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-CuKWqenfhx79meE9dlXzxAFmq/Iv4/ZX2Um6h1fdNLnA4zusIjNb5oZrQ8Zs+391URBzFsBLGBlk+k00lvvP4A==","shasum":"23557c98086823b4fcff60a7ee6712e27dba5fc1","tarball":"https://registry.npmjs.org/@blossomfinance/rest-ez/-/rest-ez-1.5.1.tgz","fileCount":27,"unpackedSize":178018,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG08JnfNkgZdgwDQOlBUaUl4bZz7x87zGt68G/9N5XFmAiEAvRIRxdqu9LnC7BH0vlj492vEWRDmah61ZPdfbZdbDk4="}]},"_npmUser":{"name":"matmar10","email":"matthew@blossomfinance.com"},"directories":{},"maintainers":[{"name":"matmar10","email":"matthew@blossomfinance.com"},{"name":"chairul","email":"chairul@blossomfinance.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rest-ez_1.5.1_1636522842012_0.10522056699553217"},"_hasShrinkwrap":false},"1.5.2":{"name":"@blossomfinance/rest-ez","version":"1.5.2","description":"Easy, spec based API test framework for HTTP APIs (REST, GraphQL)","homepage":"https://blossomfinance.github.io/rest-ez/","keywords":["API","mocha","REST","GraphQL","testing","test","restful","rest","http","webservice","microservice","yaml","testrunner","QA","api","automation","testreporter"],"author":{"name":"Kiran Mandadi","email":"kiran.6d.hex@gmail.com"},"contributors":[{"name":"Kiran Mandadi","email":"kiran.6d.hex@gmail.com","url":"https://github.com/kiranz"},{"name":"Matthew Martin","email":"matthew.mar10@gmail.com","url":"https://github.com/matmar10"}],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/blossomfinance/rest-ez.git"},"engines":{"node":">=7.10.0","npm":">=4.5.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"scripts":{"start":"npm run docs","build":"npm run clean && npm run transpile && npm run dist:files","transpile":"babel 'lib/**/*.js' --out-dir .tmp/dist && mv .tmp/dist/lib src","docs":"npm run clean:docs && npm run docs:serve","docs:build":"codedoc build","docs:serve":"codedoc serve","dist:files":"npm run dist:files:json && npm run dist:files:css","dist:files:json":"mkdir -p src/schema/yaml && cp -r lib/schema/yaml/*.json src/schema/yaml/","dist:files:css":"mkdir -p src/reporters/html-src/assets && cp -r lib/reporters/html-src/assets/*.css src/reporters/html-src/assets/","clean":"npm run clean:src && npm run clean:test-logs","clean:src":"rm -rf src","clean:test-logs":"rm -rf test/cli/src/logs && mkdir test/cli/src/logs","clean:docs":"find docs -type f -name '*.html' -delete","test-api":"npm run test-api:install && npm run test-api:start","test-api:install":"cd test/api && npm install && cp db_original.json db.json","test-api:start":"npm run test-api:install && cd test/api && node server.js","test":"npm run clean:test-logs  && mocha --timeout 10000 test/cli/*.spec.js","release":"release-it"},"dependencies":{"@apidevtools/json-schema-ref-parser":"^9.0.9","chai":"4.1.2","chalk":"2.4.1","commander":"2.11.0","debug":"3.1.0","error-ex":"1.3.1","esprima":"4.0.0","glob":"7.1.2","he":"1.1.1","js-yaml":"3.11.0","jsonpath":"1.0.0","jsonschema":"1.2.2","lodash":"4.17.10","mkdirp":"0.5.1","pretty-ms":"3.1.0","request":"2.85.0","request-cookies":"1.1.0","semver":"5.5.0","serialize-error":"2.1.0","string-template":"1.0.0","url-parse":"1.4.3"},"devDependencies":{"@adobe/jsonschema2md":"^6.1.4","@codedoc/cli":"^0.2.8","@release-it/conventional-changelog":"^3.3.0","babel-cli":"^6.24.1","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-array-includes":"^2.0.3","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-es2015-modules-commonjs":"^6.24.1","babel-plugin-transform-es2015-parameters":"^6.24.1","babel-plugin-transform-es2015-spread":"^6.22.0","babel-plugin-transform-object-rest-spread":"^6.23.0","babel-plugin-transform-react-jsx":"^6.24.1","babel-register":"^6.24.1","chai":"4.1.2","cross-spawn":"6.0.5","del":"3.0.0","mocha":"5.2.0","release-it":"^14.10.1","yamljs":"^0.3.0"},"bin":{"rest-ez":"bin/rest-ez"},"release-it":{"hooks":{"before:init":"npm run build"},"plugins":{"@release-it/conventional-changelog":{"infile":"CHANGELOG.md","preset":{"name":"conventionalcommits","types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"perf","section":"Performance Improvements"},{"type":"revert","section":"Reverts"},{"type":"docs","section":"Documentation"},{"type":"style","section":"Styles"},{"type":"refactor","section":"Code Refactoring"},{"type":"test","section":"Tests"},{"type":"build","section":"Build System"},{"type":"ci","section":"Continuous Integration"}]}}},"git":{"commit":true,"requireUpstream":false,"tag":true,"push":true},"github":{"release":true},"npm":{"publish":true}},"gitHead":"14a9a5adfc8acbe116e9d78ddc4d94aff9fb7adb","bugs":{"url":"https://github.com/blossomfinance/rest-ez/issues"},"_id":"@blossomfinance/rest-ez@1.5.2","_nodeVersion":"16.3.0","_npmVersion":"7.15.1","dist":{"integrity":"sha512-fbB220L0MI3haGii1nYnZNhEgn/UYdoz+OhM+3xzjUexOPyTq7nq/gB2M1+xHIUev/RjlSkr0RzbCQg/isw+jw==","shasum":"4ce9c3293e58966f80c46566219ad24fb1f7eaa1","tarball":"https://registry.npmjs.org/@blossomfinance/rest-ez/-/rest-ez-1.5.2.tgz","fileCount":26,"unpackedSize":172198,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhmsOXCRA9TVsSAnZWagAAP/8P/3UNDuvshRnGSjnD4LAW\nerxqm7bo17l3JaZGchAIavFbtLsoJ4WI+3Poath6zAbxVQP+tgDMtLHR5GAL\nkQXW2JW3YQ8SQcF41DoPU68VvoOb5wjZKC7gJNlr7TVspGnuVhX4Lmt2IAzX\ng3LBoZwf16AcPkQiNE1gk8E4fGv9Sdmh3Td17WOKx36wLRNzGtX82Q6KROhs\nfFjDUQDW8zVgXYkEyiWgaPkHY11V4v/DT/MZIwWp62ywgAgM6GTwd2POUwWY\nagGfJmTcGIJL1WPVjvwBFYEBdnkitiLu8dl/kiKFUiFSvuhk2c939553glJy\njonrkOlUCc3S7KbLp5CLcYIrXj7HamZyyez487YfXeO333Cp0rfqxU9AI+Bq\nnsL82NajX7Vvmw29X0uZJwiSOCwnEqFJxsh5gNdMSaK9xH4BKwb6k83UZkpR\nSIYwkp0XX9F2yiNwjwfLBebg5XjyOXCtsVWEz29v5ae35bAQFYhYFTa/503z\nNxpAZJ2n+Cv7MSfrL9BGFjYT/QjLxb7D5vEjl2wqFFUgYi6e+vWQPcNT8eah\nbujN3iCXErGrdHIZOtLrDrMWVvox7dAoAFighOSyT/oE4/fYzUF3UbmzHDlV\ncB6lHR9xFkMw4pP8V8JXOFhCymyDEm9o4wwK/S+Nhg3OewBmKFrIoJfSQGGL\nP3u+\r\n=zKS/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCcLWQJ+6XOZLso63aQLlWr7M3ktFXIUEwPxpBHJA4t/AIhAJR//CeOJJmsL/+cIz/fGWDF9PXen/n/qJvgLHqLtQoN"}]},"_npmUser":{"name":"matmar10","email":"matthew@blossomfinance.com"},"directories":{},"maintainers":[{"name":"matmar10","email":"matthew@blossomfinance.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rest-ez_1.5.2_1637532567037_0.05090336598966072"},"_hasShrinkwrap":false},"1.5.3":{"name":"@blossomfinance/rest-ez","version":"1.5.3","description":"Easy, spec based API test framework for HTTP APIs (REST, GraphQL)","homepage":"https://blossomfinance.github.io/rest-ez/","keywords":["API","mocha","REST","GraphQL","testing","test","restful","rest","http","webservice","microservice","yaml","testrunner","QA","api","automation","testreporter"],"author":{"name":"Kiran Mandadi","email":"kiran.6d.hex@gmail.com"},"contributors":[{"name":"Kiran Mandadi","email":"kiran.6d.hex@gmail.com","url":"https://github.com/kiranz"},{"name":"Matthew Martin","email":"matthew.mar10@gmail.com","url":"https://github.com/matmar10"}],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/blossomfinance/rest-ez.git"},"engines":{"node":">=7.10.0","npm":">=4.5.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"scripts":{"start":"npm run docs","build":"npm run clean && npm run transpile && npm run dist:files","transpile":"babel 'lib/**/*.js' --out-dir .tmp/dist && mv .tmp/dist/lib src","docs":"npm run clean:docs && npm run docs:serve","docs:build":"codedoc build","docs:serve":"codedoc serve","dist:files":"npm run dist:files:json && npm run dist:files:css","dist:files:json":"mkdir -p src/schema/yaml && cp -r lib/schema/yaml/*.json src/schema/yaml/","dist:files:css":"mkdir -p src/reporters/html-src/assets && cp -r lib/reporters/html-src/assets/*.css src/reporters/html-src/assets/","clean":"npm run clean:src && npm run clean:test-logs","clean:src":"rm -rf src","clean:test-logs":"rm -rf test/cli/src/logs && mkdir test/cli/src/logs","clean:docs":"find docs -type f -name '*.html' -delete","test-api":"npm run test-api:install && npm run test-api:start","test-api:install":"cd test/api && npm install && cp db_original.json db.json","test-api:start":"npm run test-api:install && cd test/api && node server.js","test":"npm run clean:test-logs  && mocha --timeout 10000 test/cli/*.spec.js","release":"release-it"},"dependencies":{"@apidevtools/json-schema-ref-parser":"^9.0.9","chai":"4.1.2","chalk":"2.4.1","commander":"2.11.0","debug":"3.1.0","error-ex":"1.3.1","esprima":"4.0.0","glob":"7.1.2","he":"1.1.1","js-yaml":"3.11.0","jsonpath":"1.0.0","jsonschema":"1.2.2","lodash":"4.17.10","mkdirp":"0.5.1","pretty-ms":"3.1.0","request":"2.85.0","request-cookies":"1.1.0","semver":"5.5.0","serialize-error":"2.1.0","string-template":"1.0.0","url-parse":"1.4.3"},"devDependencies":{"@adobe/jsonschema2md":"^6.1.4","@codedoc/cli":"^0.2.8","@release-it/conventional-changelog":"^3.3.0","babel-cli":"^6.24.1","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-array-includes":"^2.0.3","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-es2015-modules-commonjs":"^6.24.1","babel-plugin-transform-es2015-parameters":"^6.24.1","babel-plugin-transform-es2015-spread":"^6.22.0","babel-plugin-transform-object-rest-spread":"^6.23.0","babel-plugin-transform-react-jsx":"^6.24.1","babel-register":"^6.24.1","chai":"4.1.2","cross-spawn":"6.0.5","del":"3.0.0","mocha":"5.2.0","release-it":"^14.11.8","yamljs":"^0.3.0"},"bin":{"rest-ez":"bin/rest-ez"},"release-it":{"hooks":{"before:init":"npm run build"},"plugins":{"@release-it/conventional-changelog":{"infile":"CHANGELOG.md","preset":{"name":"conventionalcommits","types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"perf","section":"Performance Improvements"},{"type":"revert","section":"Reverts"},{"type":"docs","section":"Documentation"},{"type":"style","section":"Styles"},{"type":"refactor","section":"Code Refactoring"},{"type":"test","section":"Tests"},{"type":"build","section":"Build System"},{"type":"ci","section":"Continuous Integration"}]}}},"git":{"commit":true,"requireUpstream":false,"tag":true,"push":true},"github":{"release":true},"npm":{"publish":true}},"gitHead":"e17fe8a3049cb5e218fe85e9b4bd7e43809f0609","bugs":{"url":"https://github.com/blossomfinance/rest-ez/issues"},"_id":"@blossomfinance/rest-ez@1.5.3","_nodeVersion":"16.3.0","_npmVersion":"7.15.1","dist":{"integrity":"sha512-jUvCgSUtBOLZ7kuikd+fkCMqzu8r4UNqkMVkypwrRzGvTgwrCxO0sRw6OZ7V/IjXSsYRB9B5UcJCzju9YjYkTQ==","shasum":"e960ddb7b47d544b7ec287053b1a2a2475b7600f","tarball":"https://registry.npmjs.org/@blossomfinance/rest-ez/-/rest-ez-1.5.3.tgz","fileCount":26,"unpackedSize":175105,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhmswgCRA9TVsSAnZWagAAU2MP+gMJcoR9zpu8BiLleNk6\n2e1bQpTsYfRO0NfNbDJVxU6CgBy6G05rfo515K6X3omcZaEq16bFK1Mej0IM\nbX+TGP0K55zzW6xykSkr0HgKkJ9iRMwZgo4fjYmIdlkEbKYAI+Ap4dQd9S1h\nGjw6QWMdvn+XD+Fn94tTrHEJC1YQ+timEha9LExdPS6DRN55cnxO5usQ9vjE\nB50b8HEUXg2Gi7cv5eKHJpwz9n0nIplVIM3dwHABlKRIL7lKyk9+0c/2f9ED\nl+kePtzKTpqMGyAmAUj00zcWCkfWca+KC/ptDZBVnud6Rz1PWvY/Q/rGEi1x\nME7275iiFQwC5g3bNR2dqE9dQNNZWehNgOjomObUyHELbK0upXcxBD932l6K\nLw+XUNP0VUSkd5wtGQ/EJ4LmItYsuzi46YYpibifDwOoZff7zgdSgINAkQVb\nbkqM+p4qYvINEE52B/ylcNUzFKeTPD8TS0bvQ0wX3Rb4eX9jacpBed7YdUIG\nsfNiBi0drCk6brsBhxSW4DDmM9JqfAD6hg6wzvwGlmaWwAuGiYZAf5YtIf85\nrS6tZS3RoIYYpUPXAeW2Pp3TcIvUrZlbvuLQw7IxSTjygxoZ1Bo2UeHHvADp\nf9Sh35qGmZkDFiFLLAbbasuFg4K0dtosGNkUadwJhSxmC5CwkZElHH/q/mMf\nIQNZ\r\n=WpDH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD9Svrc4bSU8whTkJILO2z3rNyxsSvKuO3LzuhCeo37fAIhAO7jHU4OvpAdyB0jOmZQWBYx/wtxX0SuEQjxkRgAlX7s"}]},"_npmUser":{"name":"matmar10","email":"matthew@blossomfinance.com"},"directories":{},"maintainers":[{"name":"matmar10","email":"matthew@blossomfinance.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rest-ez_1.5.3_1637534752861_0.8231488682503736"},"_hasShrinkwrap":false},"1.5.4":{"name":"@blossomfinance/rest-ez","version":"1.5.4","description":"Easy, spec based API test framework for HTTP APIs (REST, GraphQL)","homepage":"https://blossomfinance.github.io/rest-ez/","keywords":["API","mocha","REST","GraphQL","testing","test","restful","rest","http","webservice","microservice","yaml","testrunner","QA","api","automation","testreporter"],"author":{"name":"Kiran Mandadi","email":"kiran.6d.hex@gmail.com"},"contributors":[{"name":"Kiran Mandadi","email":"kiran.6d.hex@gmail.com","url":"https://github.com/kiranz"},{"name":"Matthew Martin","email":"matthew.mar10@gmail.com","url":"https://github.com/matmar10"}],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/blossomfinance/rest-ez.git"},"engines":{"node":">=7.10.0","npm":">=4.5.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"scripts":{"start":"npm run docs","build":"npm run clean && npm run transpile && npm run dist:files","transpile":"babel 'lib/**/*.js' --out-dir .tmp/dist && mv .tmp/dist/lib src","docs":"npm run clean:docs && npm run docs:serve","docs:build":"codedoc build","docs:serve":"codedoc serve","dist:files":"npm run dist:files:json && npm run dist:files:css","dist:files:json":"mkdir -p src/schema/yaml && cp -r lib/schema/yaml/*.json src/schema/yaml/","dist:files:css":"mkdir -p src/reporters/html-src/assets && cp -r lib/reporters/html-src/assets/*.css src/reporters/html-src/assets/","clean":"npm run clean:src && npm run clean:test-logs","clean:src":"rm -rf src","clean:test-logs":"rm -rf test/cli/src/logs && mkdir test/cli/src/logs","clean:docs":"find docs -type f -name '*.html' -delete","test-api":"npm run test-api:install && npm run test-api:start","test-api:install":"cd test/api && npm install && cp db_original.json db.json","test-api:start":"npm run test-api:install && cd test/api && node server.js","test":"npm run clean:test-logs  && mocha --timeout 10000 test/cli/*.spec.js","release":"release-it"},"dependencies":{"@apidevtools/json-schema-ref-parser":"^9.0.9","chai":"4.1.2","chalk":"2.4.1","commander":"2.11.0","debug":"3.1.0","error-ex":"1.3.1","esprima":"4.0.0","glob":"7.1.2","he":"1.1.1","js-yaml":"3.11.0","jsonpath":"1.0.0","jsonschema":"1.2.2","lodash":"4.17.10","mkdirp":"0.5.1","pretty-ms":"3.1.0","request":"2.85.0","request-cookies":"1.1.0","semver":"5.5.0","serialize-error":"2.1.0","string-template":"1.0.0","url-parse":"1.4.3"},"devDependencies":{"@adobe/jsonschema2md":"^6.1.4","@codedoc/cli":"^0.2.8","@release-it/conventional-changelog":"^3.3.0","babel-cli":"^6.24.1","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-array-includes":"^2.0.3","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-es2015-modules-commonjs":"^6.24.1","babel-plugin-transform-es2015-parameters":"^6.24.1","babel-plugin-transform-es2015-spread":"^6.22.0","babel-plugin-transform-object-rest-spread":"^6.23.0","babel-plugin-transform-react-jsx":"^6.24.1","babel-register":"^6.24.1","chai":"4.1.2","cross-spawn":"6.0.5","del":"3.0.0","mocha":"5.2.0","release-it":"^14.11.8","yamljs":"^0.3.0"},"bin":{"rest-ez":"bin/rest-ez"},"release-it":{"hooks":{"before:init":"npm run build"},"plugins":{"@release-it/conventional-changelog":{"infile":"CHANGELOG.md","preset":{"name":"conventionalcommits","types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"perf","section":"Performance Improvements"},{"type":"revert","section":"Reverts"},{"type":"docs","section":"Documentation"},{"type":"style","section":"Styles"},{"type":"refactor","section":"Code Refactoring"},{"type":"test","section":"Tests"},{"type":"build","section":"Build System"},{"type":"ci","section":"Continuous Integration"}]}}},"git":{"commit":true,"requireUpstream":false,"tag":true,"push":true},"github":{"release":true},"npm":{"publish":true}},"gitHead":"13ec5c89174816cec045d691c8950b7b54d32272","bugs":{"url":"https://github.com/blossomfinance/rest-ez/issues"},"_id":"@blossomfinance/rest-ez@1.5.4","_nodeVersion":"16.3.0","_npmVersion":"7.15.1","dist":{"integrity":"sha512-Te78LU7kFSItDlOngbWNTGpK6Vg3l8zu6hM/3UOP38Yjn91O4r2Fvmr4KYlvDi42uhmssr4HdlsJONtZUM696g==","shasum":"0ad869ff78b3588b69f54ae455dd6d42ae58bd68","tarball":"https://registry.npmjs.org/@blossomfinance/rest-ez/-/rest-ez-1.5.4.tgz","fileCount":26,"unpackedSize":175105,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhmt4ECRA9TVsSAnZWagAAnHwP/jEoiPQikxhj7BTqo6TH\nBlMFmRyWfX5dWZ8JB9UozU2ePIxnPpsi0UWMK96k9Z5XRw6ghwB49vIlaBi3\nxmF1qF3BfM0L/eVWTIKzS5YwCoV+OJPpb/STC4sIFwl13xuEy9cp9Qf9PF5h\n/YIcEoFb8Zcjzys1i4XbeBoqdRrP0AOOcmFiT1WUwGN+zXkr4Kg/X9cQtpQW\nUGMWkgmJPzGH8Y9ANBLX8VJZXfYRTg8Nw26ni2iFiOackGgRFQnWxLdzuSsi\nftLRqE/dEWY6rnGGH7IY3dihwsxSAjw4faAgYC+u0GMND2H4gqYfAkD/6PGj\nltnLrv2AaNo+MnOVsSyFMxdZ2ROFIo/JE134mMYoSqmYzF81kaFlQ0ISgeNm\n2oBWBdNhZX0afVcq4Fi73U0/lUC3BkfSTzFoastFsOOqH8EJH4YI6WDhFnf2\n2IVYhRG6MpWJSe9/p97xDEqFKzQy7JujauUxWYaVyJkx6+7DiDlbYUznz3Gj\nWiRIUmfGj1lDJ0u8PrCgmnD3mkhvG2PjRgjdp1FirMo0Tmb6reOYkTk6kvmc\nC37jYQ1ksBmZ66iWrqW31V5av8XOcK5IogicEusMvel8JWZyUf9VWtbiYeTi\n1OZXLVaYLr/PEFO88qOH2+21MNtMZL3vha6ehbISeJbMltCWy4siVbESGY6j\n5k8K\r\n=nH0f\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCySMDMMAha73WGYB+dhi+vIETD1ss3EYuj3w/fpoUl/wIhAMZEfVUcQJaHFpqqe/knaeAXuCi1GggbOgYBLtQCgPhm"}]},"_npmUser":{"name":"matmar10","email":"matthew@blossomfinance.com"},"directories":{},"maintainers":[{"name":"matmar10","email":"matthew@blossomfinance.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rest-ez_1.5.4_1637539332844_0.6347783315681337"},"_hasShrinkwrap":false},"1.6.0":{"name":"@blossomfinance/rest-ez","version":"1.6.0","description":"Easy, spec based API test framework for HTTP APIs (REST, GraphQL)","homepage":"https://blossomfinance.github.io/rest-ez/","keywords":["API","mocha","REST","GraphQL","testing","test","restful","rest","http","webservice","microservice","yaml","testrunner","QA","api","automation","testreporter"],"author":{"name":"Kiran Mandadi","email":"kiran.6d.hex@gmail.com"},"contributors":[{"name":"Kiran Mandadi","email":"kiran.6d.hex@gmail.com","url":"https://github.com/kiranz"},{"name":"Matthew Martin","email":"matthew.mar10@gmail.com","url":"https://github.com/matmar10"}],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/blossomfinance/rest-ez.git"},"engines":{"node":">=7.10.0","npm":">=4.5.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"scripts":{"start":"npm run docs","build":"npm run clean && npm run transpile && npm run dist:files","transpile":"babel 'lib/**/*.js' --out-dir .tmp/dist && mv .tmp/dist/lib src","docs":"npm run clean:docs && npm run docs:serve","docs:build":"codedoc build","docs:serve":"codedoc serve","dist:files":"npm run dist:files:json && npm run dist:files:css","dist:files:json":"mkdir -p src/schema/yaml && cp -r lib/schema/yaml/*.json src/schema/yaml/","dist:files:css":"mkdir -p src/reporters/html-src/assets && cp -r lib/reporters/html-src/assets/*.css src/reporters/html-src/assets/","clean":"npm run clean:src && npm run clean:test-logs","clean:src":"rm -rf src","clean:test-logs":"rm -rf test/cli/src/logs && mkdir test/cli/src/logs","clean:docs":"find docs -type f -name '*.html' -delete","test-api":"npm run test-api:install && npm run test-api:start","test-api:install":"cd test/api && npm install && cp db_original.json db.json","test-api:start":"npm run test-api:install && cd test/api && node server.js","test":"npm run clean:test-logs  && mocha --timeout 10000 test/cli/*.spec.js","release":"release-it"},"dependencies":{"@apidevtools/json-schema-ref-parser":"^9.0.9","chai":"4.1.2","chalk":"2.4.1","commander":"2.11.0","debug":"3.1.0","error-ex":"1.3.1","esprima":"4.0.0","glob":"7.1.2","he":"1.1.1","js-yaml":"^3.14.1","jsonpath":"^1.1.1","jsonschema":"1.2.2","lodash":"^4.17.21","mkdirp":"0.5.1","pretty-ms":"3.1.0","request":"^2.88.2","request-cookies":"1.1.0","semver":"5.5.0","serialize-error":"2.1.0","string-template":"1.0.0"},"devDependencies":{"@adobe/jsonschema2md":"^6.1.4","@codedoc/cli":"^0.2.8","@release-it/conventional-changelog":"^3.3.0","babel-cli":"^6.24.1","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-array-includes":"^2.0.3","babel-plugin-transform-es2015-destructuring":"^6.23.0","babel-plugin-transform-es2015-modules-commonjs":"^6.24.1","babel-plugin-transform-es2015-parameters":"^6.24.1","babel-plugin-transform-es2015-spread":"^6.22.0","babel-plugin-transform-object-rest-spread":"^6.23.0","babel-plugin-transform-react-jsx":"^6.24.1","babel-register":"^6.24.1","chai":"4.1.2","cross-spawn":"6.0.5","del":"3.0.0","mocha":"5.2.0","release-it":"^14.11.8","yamljs":"^0.3.0"},"bin":{"rest-ez":"bin/rest-ez"},"release-it":{"hooks":{"before:init":"npm run build"},"plugins":{"@release-it/conventional-changelog":{"infile":"CHANGELOG.md","preset":{"name":"conventionalcommits","types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"perf","section":"Performance Improvements"},{"type":"revert","section":"Reverts"},{"type":"docs","section":"Documentation"},{"type":"style","section":"Styles"},{"type":"refactor","section":"Code Refactoring"},{"type":"test","section":"Tests"},{"type":"build","section":"Build System"},{"type":"ci","section":"Continuous Integration"}]}}},"git":{"commit":true,"requireUpstream":false,"tag":true,"push":true},"github":{"release":true},"npm":{"publish":true}},"gitHead":"47777fb5ca60e371dd05bd3a25428d95f7cca3cf","bugs":{"url":"https://github.com/blossomfinance/rest-ez/issues"},"_id":"@blossomfinance/rest-ez@1.6.0","_nodeVersion":"16.10.0","_npmVersion":"7.24.0","dist":{"integrity":"sha512-4oCDuQ/iXbX960PzMSA+6Z8PMRBa69YMZgbh6g6vuwcFgtS7ft0wb0vPjGXOKodcDAvDNTzIhm5lN8XppFqjwQ==","shasum":"023ef680227298538f0a9d4bea20e16dc6e6eae0","tarball":"https://registry.npmjs.org/@blossomfinance/rest-ez/-/rest-ez-1.6.0.tgz","fileCount":27,"unpackedSize":177291,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC8Et5+S5JLzPFISfN0vt5psdqLbNorLIaT0t4+SHnSxQIgdXd1p8knrnhdhiAFKyep8IwOs8tjBq7yQFse3knJ7oI="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiSfyhACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqfLA/9HG056fKO+EaJC4jAeoUGe2U9tSTAr4ZcVNEmIyKvLSm21L+U\r\n1GyVQjjeUQIvmnUp7YPWko4E04qN5StaRNXDzqJoKCiYu8bQt1lqFsM2ZMDG\r\n1xS9tQQEEtTTQ4oocnKjX6UpXCewQuL7KWZZm7QrLwlaI0AOQvqZMjNXnuct\r\nFDel1jgY4hBcsYrZPQiAmDBgSq8Sf/xeuzyJbd3+eft3rzdaF5qY0l4XCcKs\r\nGKWPXxRDqfIAlnvkiP1UEhNExyiE5olX9+9wedHMed2doJcAn73mhGQ3+ENd\r\nEn0irgtLOG7xw1PEPMCJofHoiB4VURNGyP5g5YEyQsQKhl8NMOuphtcL/HkL\r\nzCpsYj262r2kYWgGLjjeLhm6IToBlBcoN4Ipm647MEDzy6ot9QEJIwGAMT7Q\r\nJ4FIFk6+NmreXYyQHdOpNECMTl3K6RUwqpfebM54vIyUN6w89muE4Z80lAAZ\r\nquVdiIHx3gHFHt9iYZWhQlbP0P8qlf7mPnouqjOgMWO/8LNO6B0sho6OUbld\r\nD/hFJfAXb21yujVgQGM+n/SsWdjoYRDjLMmwQv+ncTSrfuLzvz624IXaYyUM\r\ngBkdZ5d1ZuRRrUSvTTSovn/upWEXEXSNTknKQhdVGLF2ZP8ssEK1ILgOIv8v\r\na4zM5hyynequ90BLTnGtD+NCC4e9llyaRIg=\r\n=Ni/0\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"matmar10","email":"matthew@blossomfinance.com"},"directories":{},"maintainers":[{"name":"matmar10","email":"matthew@blossomfinance.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rest-ez_1.6.0_1649015969338_0.6336455531486216"},"_hasShrinkwrap":false}},"time":{"created":"2021-11-10T05:35:34.924Z","1.5.0":"2021-11-10T05:35:35.100Z","modified":"2022-04-04T19:43:09.670Z","1.5.1":"2021-11-10T05:40:42.716Z","1.5.2":"2021-11-21T22:09:27.219Z","1.5.3":"2021-11-21T22:45:52.999Z","1.5.4":"2021-11-22T00:02:12.987Z","1.6.0":"2022-04-03T19:59:29.501Z"},"maintainers":[{"name":"matmar10","email":"matthew@blossomfinance.com"}],"description":"Easy, spec based API test framework for HTTP APIs (REST, GraphQL)","homepage":"https://blossomfinance.github.io/rest-ez/","keywords":["API","mocha","REST","GraphQL","testing","test","restful","rest","http","webservice","microservice","yaml","testrunner","QA","api","automation","testreporter"],"repository":{"type":"git","url":"git+https://github.com/blossomfinance/rest-ez.git"},"contributors":[{"name":"Kiran Mandadi","email":"kiran.6d.hex@gmail.com","url":"https://github.com/kiranz"},{"name":"Matthew Martin","email":"matthew.mar10@gmail.com","url":"https://github.com/matmar10"}],"author":{"name":"Kiran Mandadi","email":"kiran.6d.hex@gmail.com"},"bugs":{"url":"https://github.com/blossomfinance/rest-ez/issues"},"license":"MIT","readme":"![REST-EZ](https://github.com/blossomfinance/rest-ez/blob/master/docs/images/logo.png?raw=true \"REST-EZ Logo\")\n\n## What is it?\n\nREST-EZ is a **declarative**, **spec based** test framework for `REST` & `GraphQL` APIs.\n\nYou can test APIs without writing code, but can also write code when needed. REST-EZ reads API test specs from YAML files and can runs them serially or in parallel.\n\nTest reports can be generated in several formats including HTML and JSON.\n\n## How does it work?\n\n**Build a test suite by providing a set of request and response validation specification in a YAML file.**\n\nEach suite can have one or more specs. REST-EZ builds the request, sends it to server and validates response as per the specification.\n\nChoose to validate any or all of following\n\n- Status code\n- Headers\n- Cookies\n- Response JSON body\n- Response JSON schema\n\n_or Provide a custom Javascript function to validate the response_\n\n[Read the docs to learn more](https://blossomfinance.github.io/rest-ez/)\n\n\n## Links\n\n- [Documentation](https://blossomfinance.github.io/rest-ez/)\n- [Issue Tracker](https://github.com/blossomfinance/rest-ez/issues)\n\n\n## Getting Started\n\n>To run just-api, you will need Node.js v10.x.x or newer.\n\n### Installation\n```sh\n$ npm install rest-ez --save-dev\n```\n\nFollowing is a simple example showing usage of REST-EZ.\n\n```sh\n$ mkdir specs\n$ vim specs/starwars-service.yml\n```\n\nWrite following suite in your editor\n\n```yaml\nmeta:\n  name: Star Wars suite\nconfiguration:\n  scheme: https\n  host: swapi.co\n  base_path: /api\nspecs:\n  - name: get Luke Skywalker info\n    request:\n      path: /people/1/\n      method: get\n    response:\n      status_code: 200\n      headers:\n        - name: content-type\n          value: !!js/regexp application/json\n      json_data:\n        - path: $.name\n          value: Luke Skywalker\n```\n\nBack in the terminal\n\n```sh\n$ ./node_modules/.bin/just-api\n\n   ✓ get Luke Skywalker info (1216ms)\n\n  Done: specs/starwars-service.yml (Passed)\n\n0 skipped, 0 failed, 1 passed (1 tests)\n0 skipped, 0 failed, 1 passed (1 suites)\nDuration: 1.3s\n```\n\n### Testing GraphQL APIs\n\nFollowing example tests a GraphQL API that returns Person info for a given name.\n\nCreate a YAML suite and run just-api.\n\n```yaml\nmeta:\n  name: GraphQL Starwars service\nconfiguration:\n  host: swapi.graph.cool\n  scheme: https\nspecs:\n  - name: Get Details of a character\n    request:\n      method: post\n      headers:\n        - name: content-type\n          value: application/json\n      payload:\n        body:\n          type: json\n          content:\n            query: >\n             {\n              Person(name: \"Luke Skywalker\") {\n                name,\n                id,\n                gender\n               }\n              }\n            variables: null\n            operationName: null\n    response:\n      status_code: 200\n      json_data:\n        - path: $.data.Person.name\n          value: Luke Skywalker\n```\n\n### A chained request flow with hook and custom validation\n\nWhen you need to test complex chained API flows, run dependencies in hooks to fetch pre-requisite data\nand pass it to actual test.\n\nFollowing example shows how to run dependencies using a hook, get data and validating response with a custom validator function.\n\n```yaml\nmeta:\n  name: Starwars suite\nconfiguration:\n  scheme: https\n  host: swapi.co\n  base_path: /api\nspecs:\n  - name: get R2-D2 info\n    request:\n      path: /people/3/\n      method: get\n    response:\n      status_code: 200\n      json_data:\n        - path: $.name\n          value: R2-D2\n\n  - name: search R2-D2 info\n    before_test:\n      run_type: inline\n      inline:\n        function: !js/asyncFunction >\n          async function() {\n            var response = await this.runSpec('get R2-D2 info');\n            var jsonData = JSON.parse(response.body);\n            this.test.query_params = { name:  jsonData.name };\n          }\n    request:\n      path: /people\n      method: get\n    response:\n      status_code: 200\n      custom_validator:\n        run_type: inline\n        inline:\n          function: !!js/function >\n            function() {\n              var jsonData = JSON.parse(this.response.body);\n              var r2d2 = jsonData.results.find(result => result.name === 'R2-D2');\n              if (!r2d2)\n                throw new Error('R2-D2 not returned in search results');\n            }\n```\n\nNote: You can also place custom JS functions in a module and specify the function name, module path in YAML to import.\n\nMore advanced stuff can be done with REST-EZ. Documentation says it all.\nTake a look at [REST-EZ Website](http://blossomfinance.github.io/rest-ez/) for detailed documentation.\n\n\n## Maintainers\n\n[Matthew J. Martin](matthew.mar10@blossomfinance.com)\n\n## License\n\n[MIT-licensed](https://github.com/blossomfinance/rest-ez/blob/master/LICENSE)\n\n## Documentation\n\n- [Installation](/docs/getting-started/installation)\n- [Getting Started](/docs/getting-started/rest-api)\n- [Basic Concepts](/docs/basics/overview)\n- [Requests](/docs/request/request-basics)\n    - [Headers](/docs/request/headers)\n    - [Cookies](/docs/request/cookies)\n    - [Query Parameters](/docs/request/query-parameters)\n    - [Path Parameters](/docs/request/query-parameters)\n    - **Request Body**\n        - [JSON Body](/docs/request/payload-body/json-body)\n        - [Binary Data](/docs/request/payload-body/binary-data)\n        - [URL Encoded Form Data](/docs/request/payload-body/url-encoded-form-data)\n        - [URL Encoded Form Data](/docs/request/payload-body/url-encoded-form-data)\n        - [Multi-Part Form Data](/docs/request/payload-body/multi-part-form-data)\n    - [File Uploads](/docs/request/file-uploads)\n    - [Additional Options](/docs/request/additional-options)\n- [Response Validation](/docs/response-validation/overview)\n    - [Status Code Validation](/docs/response-validation/status-code)\n    - [Cookie Validation](/docs/response-validation/cookies)\n    - [Header Validation](/docs/response-validation/headers)\n    - [Body Validation](/docs/response-balidation/body/overview)\n        - [JSON Path](/docs/response-validation/body/json-path)\n        - [JSON Schema Inline](/docs/response-validation/body/json-schema-inline)\n        - [JSON Schema File](/docs/response-validation/body/json-schema-file)\n        - [Swagger / Open API](/docs/response-validation/body/swagger-open-api)\n- [Lifecycle Hooks](/docs/hooks/overview)\n    - **Hook Types**\n        - [JS Inline Functions](/docs/hooks/types#js-synchronous-functions)\n        - [JS Async Inline Functions](/docs/hooks/types#js-async-functions)\n        - [JS Modules](/docs/hooks/types#js-from-external-files)\n    - **List of Hooks**\n        - [before_all](/docs/hooks/list#before_all)\n        - [after_all](/docs/hooks/list#after_all)\n        - [before_each](/docs/hooks/list#before_each)\n        - [after_each](/docs/hooks/list#after_each)\n        - [before_test](/docs/hooks/list#before_test)\n        - [after_test](/docs/hooks/list#after_test)\n    - **Hook Context**\n        - [Suite Context](/docs/hooks/context#suite)\n        - [Test Context](/docs/hooks/context#test)\n        - [Response Context](/docs/hooks/context#response)\n- [Reusing Specs & DRY](/docs/reusing-specs/overview)\n    - [Looping](/docs/reusing-specs/looping)\n    - [Yaml Anchors](/docs/reusing-specs/yaml-anchors)\n    - [Run Existing Spec](/docs/reusing-specs/run-spec-in-js)\n- [Command Line Interface (CLI)](/docs/cli)\n    - [Debugging](/docs/cli#debugging)\n    - [Running Suites in Parallel](/docs/cli#running-suites-parallel)\n    - [Reporters](/docs/cli#reporters)\n    - [Options](/docs/cli#options)\n\n## Acknowledgements\n\n👏👏👏 **Enormous thanks to [Kiran Mandadi](https://github.com/kiranz)**,\n\nOriginal creator of [rest-ez](https://kiranz.github.io/rest-ez/) upon which this project is based (forked).\n\n👏👏👏 **Thanks to corporate sponsors**\n\n- [Blossom Finance](https://blossomfinance.com/) ethical investments in micro businesses\n- [LaunchGood](https://www.launchgood.com/) crowdfunding incredible Muslims\n\n## Roadmap & TODO\n\n- ✅ ~~Full support for de-referencing schema $refs~~\n- ✅ ~~Allow specifying node within a schema file using JSON pointer~~\n- ✅ ~~Pass arguments to inline or module-based functions to allow creater re-use~~~\n- [ ] ~~Documentation improvements~~\n    - ✅ ~~Upgrade markdown static site generator (something without python dependency)~~\n    - ✅ ~~Example function with arguments usage~~\n    - ✅ ~~JSON schema validation de-referencing schema $refs~~\n    - ✅ ~~Specify node within a schema file using JSON path~~\n    - [ ] Examples directly using files within _node\\_modules_\n- [ ] Reporter improvements & enhancements\n    - ✅ ~~TAP (test anything protocol) support~~\n    - [ ] JSON output to console or file option\n    - [ ] Clearly document reporter options in CLI\n- [ ] Replace commander with yargs for improved CLI docs & defaults\n- [ ] Example of how to use faker.js using reusable function\n- [ ] Code Quality - add linter/hinter/prettier or whatever spec is used\n- [ ] Update to use ECMA6 modules & deprecate Babel (possibly TypeScript?)\n\n\n## Contributing\n\n### Running Tests\n\n1. Install deps `npm install`\n3. Install & run test API `npm run test-api`\n5. (In a new window) run tests `npm test`\n\n### Releasing\n\n`npm run release`\n\nThis command should automatically:\n\n1. Determine next release version from conventional commit history\n2. Update the CHANGELOG.md\n3. Rev package.json, commit, & tag, etc.\n4. Publish to npm\n5. Create a Github release\n\n### Testing\n\nTests have two components\n\n- **JS chai/mocha tests** about the sample suite/specs in `test/cli/[suite].spec.js`\n- **REST-EZ suites/specs** in `test/cli/src/suites/[suite].spec.yaml`\n\nYou will likely need to create/modify both a **REST-EZ suites/specs`**\nand also the accompanying **JS chai/mocha tests** to add test coverage.\n\n\n## Features\n\nMostly here for SEO purposes:\n\n- Runs test suites in parallel/serial mode\n- Supports all widely used HTTP methods\n- Supports x-www-form-urlencoded requests, Multipart requests, File uploads\n- Built-in Response Validation Constructs (Headers, Cookies, Status code, JSON body, JSON schema)\n- Custom Response validator functions\n- Supports running custom inline or module javascript sync/async functions\n- Supports Hooks (Before All, After All, Before Each, After Each, Before Test, After Test)\n- Custom suite configuration\n- Chained Request flows\n- Define/override Request path, query params, path params, headers, body at runtime\n- Suite and test context for reuse\n- Supports importing specs from one or more test suites\n- Intrasuite and Intersuite spec dependencies\n- Reusing test specification\n- Retry failed tests\n- Looping: Generate 'n' number of tests with a list\n- Built-in HTML, JSON reporters\n- Can generate reports in multiple formats for the same run\n- Logging HTTP request/response data for failed tests\n- Proper error reporting\n- Can run tests matching with a given pattern/string\n- Skipping tests with specification\n- Disable or Enable redirections\n- Reports test duration\n- Allows user to plug-in custom reporters\n","readmeFilename":"README.md"}