- Overwrites - Automatically convert values for request query parameters, path variables & headers to string (#336, #384)
- Fix ContentTests with length/minLength/maxLength checks with 0 (zero) as value (#369)
- Fix ContentTests with empty as value
- ContentTests - Added "notExist" check for response body & headers (#364)
- ContentTests - Added "assert" option for response body & headers (#372)
- ContentTests - Added support for special characters in request body property names (#365)
- AssignVariables - Added support for special characters in request body property names (#365)
- Postman Sync - Fix for issue where POSTMAN_COLLECTION_UID was ignored (#353)
- Postman Sync - Improved the Portman API output for API error. (#367)
- overwriteRequestPathVariables - Support empty as value (#382)
- overwriteRequestPathVariables - Added the option to insert new path variables in Postman
- overwriteRequestPathVariables - Added the option to remove path variables in Postman
- Bumped dependencies
- Fix missing integrationTests when using "bundleContractTests" (#330)
- ContentTests - allow targeting of root object or array (#334)
- Tests - support bracket notation for targeted keys (#333)
- Fuzzing - support JSON variants as content-type (#332)
- Fuzzing - added support for allOf, anyOf, oneOf schemas (#335)
- Fuzzing - added min/maxLength support for arrays (#335)
- ContentTest - Added "oneOf" check for response body & header (#313)
- Bumped dependencies openapi-format, jest, @apideck/better-ajv-errors, @apidevtools/swagger-parser, fs-extra
- Set the 'logAssignVariables' option via 'cliOptions' to toggle console output for assigned variables
- Bumped dependency versions of ajv, yargs, fp-ts
- Added the 'logAssignVariables' CLI option to toggle console output for assigned variables (#317)
- Globals - Added the option set 'collectionTestScripts' for Test Scripts on collection level (#305)
- Globals - Overwrite OpenAPI authorization with the 'securityOverwrites' (#306)
- ExtendTest - Allow importing files for extendTest (#304)
- Extended supported OpenAPI methods (#306)
- Fix for incorrect en/decoding of boolean/number Postman variables (#286)
- Enhance generated schema validation to support double as a format (#307)
- Bumped dependency versions of axios, ajv, @apideck/better-ajv-errors, Newman, and openapi-format
- Enhance generated schema validation to support float as a format (#281)
- Fix handling of the Global configuration properties (#261)
- Improved file handling, including support for directory creation (#278)
- Support $ref for Portman config (#277)
- Set Postman variables as boolean & number types in overwriteRequestBody (#295)
- securityOverwrites - Added support for Postman authorization options (#272)
- Fuzzing - skip nullable required properties
- Bumped dependency follow-redirects
- Bumped dependencies openapi-format to 1.9.2
- Allow importing files for operationPreRequestScripts and collectionPreRequestScripts
- Contract test - extended "jsonBody" to verify that a 204 response has no response body content
- Bumped dependencies openapi-format to 1.9.1
- Bumped dependencies openapi-to-postman to 2.14.1
REMARK: openapi-to-postman v2.14.1 introduces the change that the "Accept" header is now set based on the response content-type by default. For more info visit the Github PR. Additionally disableBodyPruning, a Postman specific property is added to the generated request object.
- Extended orderOfOperations to include the sorting on root level, next to the folder sorting (#236)
- Fix for status code in contract test (#238)
- Patch for follow-redirects vulnerability
- Bumped dependencies
- Contract test - extend JSON schema validation with option to set additional properties behaviour.
- ContentTest - Check length of array or string
- ContentTest - Check minimum length of array or string of response body
- ContentTest - Check maximum length of array or string of response body
- ContentTest - Check minimum length of array or string of response header
- ContentTest - Check maximum length of array or string of response header
- Fix for orderOfOperations for operations have multiple path variables (#208)
- Implemented suggested fix for orderOfOperations with * wildcard (#122)
- Updated dependencies
- Added better handling of Postman API errors
- Fuzzing - added support for deeply nested required properties in the request body
- Bugfix for unwanted removal of operations without OperationId when using "excludeForOperations" (#185)
- Bumped openapi-format to version 1.7.0
- Added
--ignoreCircularRefs
option to allow OAS specs that contain invalid circular references to still be processed by Portman - Added the
--collectionName
option to change the OpenAPI title & Postman collection name - Added
--stripResponseExamples
CLI option to slim down generated Postman collection - Fuzzing - added support for root array structure in the request body
- Update package dependencies
- Improved caching of Postman API, reducing API calls towards Postman
- Added "postmanFastSync" option to sync collections faster by using delete & create of a new collection (new UID), instead of an update
- Added "postmanRefreshCache" Postman sync option to refresh all local cached Postman API data
- Added Fuzzing support for deeply nested properties
- Support Node 12 (#175)
- Fixed missing collection name issue (#171)
- Improved formatting of variation test example config (#170)
- Overwrites - Extended the overwriteRequestHeaders capabilities with the option to insert new headers in Postman
- Overwrites - Extended the overwriteRequestQueryParams capabilities with the option to insert new query params in Postman
- ContentTest - Added new test type "requestHeader"
- ContentTest - Extended the ContentTest for "requestBody" with checks : contains, length
- ContentTest - Added the ContentTest for "requestHeader" with checks : key, value, contains, length
- Variation Testing - Added the option to target the expected openApiResponse, skipping the variation if the response is not defined in OpenAPI
- Added support for loading cliOptionsFile in YAML format
- Fix for bundle contract folder issue (#145)
- Rework PostmanSyncService to be more resilient when handling cross workspace workflows (#164)
- Extend unit tests for Postman class itself
- Update Portman Config jsonSchema
- Fix typo in OAS URL error string (#168)
- Fuzzing - Added fuzzing variation generation of the request body fields for OpenAPI properties: required, minimum number, maximum number, minLength, maxLength
- Fuzzing - Added fuzzing variation generation of the request query parameters for OpenAPI properties: required, minimum number, maximum number, minLength, maxLength
- Fuzzing - Added fuzzing variation generation of the request headers for OpenAPI properties: required, minimum number, maximum number, minLength, maxLength
- Fuzzing - Added support for Postman Dynamic Variables on the minLength, maxLength for fuzzing options
- Improved the handling of JSON schema maxItems/minItems for the types: array or null
- Bumped dependencies
- Added support for passing postmanWorkspaceName & postmanUid as .ENV variables
- Improved the "raw replacements" method to handle the special characters safely
- Bumped dependencies
- Support loading Portman config in YAML format
- Added
newmanOptionsFile
as a Portman CLI option, to pass options for configuring Newman - Bumped dependencies
- Due to a quirk, 1.9.0 was a ghost. All changes are released in 1.9.1.
- Support overwrites for a request body array and array related cases (#143)
- Implemented optional chaining for safer handling of JSON response when assigning vars
- Added an INFO message when variable could not be assigned
- Code rebuild of missing fix for unwanted maxItems (#133)
- Handle array for assign responseBodyProp (#134)
- Documented "operationPreRequestScripts" properties in the readme
- Bug fix for unwanted maxItems on the root level on a JSON Schema validation (#133)
- Added support for Postman Workspace when uploading collections (#118)
- Bug fix where portmanReplacements & upload to Postman had different results (#130)
- Improve output for CI and smaller terminals (#126)
- Updated example
- Added overwrite
overwriteRequestSecurity
to be able to fine tune auth on a request level. This allows you to (for example) ensure all operations are authenticated via variation tests.
- remove console.log from variable injection
- Environment variables prefixed with
PORTMAN_
will be added to the Collection variables. This allows CI/CD to handle dynamic injection of values that should not be commited to repo.
- Added optional
bundleContractTests
to PortmanOptions that will take all operations that have contract tests applied, and move them to a 'Contract Test' folder on the root of the generated Collection - Any operations that do not have any contract tests will remain in their original place on the Collection
- Fix for proper handling of contract tests with "enabled:false" during tests generation (#115).
- Replaced instances where we were spreading arrays until we can safely upgrade packages that rely on outdated tslib
- Added SecurityOverwrite options for methods: apiKey, Bearer Token & basic auth (#106)
- Fix for the issue "spreadArray is not a function" since the __spreadArrays function for TypeScript has been deprecated (#99)
- Updated docs with an example for filtering
- Bumped openapi-format to 1.2.5
- Fix to prevent the unwanted addition 'Variation Tests'
- Fix conflicting prompt alias that would not allow
--local
to be passed in as cli argument
- Optimised the upload to postman process (#41)
- Fix to handle invalid postmanUid impacting the upload to Postman (#88)
- Portman exit codes have been changed to
exit(1)
to make it easier for external processes running Portman to distinguish fail vs. done.
- Phased out "node-fetch" in favour of "Axios" + improved error handling for remote OAS files
newmanRunOptions
can now be passed as an object via cli argument--newmanRunOptions
, or cliOptionsFile. This will be used to extend/overwrite Portmans default Newman options. 🎉
- Temporary fix for handling multiple content-types, where the contract will be based on the 1st content-type that is defined in the OpenAPI response.
- Added option to define
portmanReplacements
for handling search & replace values after the Portman injection.
- Fix to handle remote sources ending with a trailing /
- use draft06 for schema validation
- Use AJV and @apideck-libraries/better-ajv-errors to validate your Portman Config file on run
- Typo correction in readme
- Remove empty orderOfOperations from default config
- remove console log that snuck in where it shouldn't be
- Added ability to create Integration Tests within postman collection by ordering operations and tests specific to api implementation
- Added ability to configure PreRequest Scripts on an operation level
- global overrides now happen as soon as spec is converted to Postman collection to avoid infighting amount overwrites and injections
- Optimize overwrites for variations
- Fix to ensure overwrites for variations are not overwritten when running globals
- Fix incomplete Postman collection when using --localPostman CLI options
- new
openApiOperationsIds
setting can be passed as an array to selector operations for Portman to act on.
- Added the option to upload a generated local postman collection and skip the Portman conversion
- Added the option to load an existing postman collection and skip the openAPI to postman conversion
- Added prompts package
- move dev dependencies in package.json
- updated postman-collection and others
- contentTests that check against variables should use collectionVariables instead of environment variables
- nested folders (including variation tests) will be ignored when performing orderOfOperations
- Added statusCode tests for variations based on the openApiResponse property
- extend overwrites to allow injection of objects and not just primitive values
- Major overhaul from base release
- All features listed below
Added:
- Convert an OpenAPI document to a Postman collection
- Support for OpenAPI 3.0
- Extend the Postman collection with capabilities
- Assign collection variables
- from ENV file
- from response body properties
- from response header properties
- from request body properties
- Inject Postman contract tests with
- HTTP response code validation
- Response time validation
- Response content-type validation
- Response JSON body validation
- Response JSON schema validation
- Response content validation
- Custom Postman tests
- Inject Postman variation tests for
- HTTP response code validation
- Response time validation
- Response content-type validation
- Response JSON body validation
- Response JSON schema validation
- Response content validation
- Custom Postman tests
- Inject Postman with
- Pre-request scripts on a collection level
- Modify Postman requests by
- Overwriting request path variables
- Overwriting request query params
- Overwriting request headers
- Overwriting request body
- Replace keywords with custom defined keys
- Replace values with custom defined values
- Search & replace any key/value with a specific value
- Order the collections requests
- Assign collection variables
- Upload the Postman collection to your Postman app
- Test the Postman collection through Newman
- Manage everything in config file for easy local or CI/CD usage
- Added CLI Option filterFile to pass path to filter options for ignoring requests in spec before passing to Postman conversion
- Added CLI Option
envFile
to pass a path to.env
that Portman should use for variable injection
- Set Newman option to ignore redirects
- Corrected the incorrect "checkRequestBody" variable definition to "checkResponseBody"
- Let testsuite overwriteRequests handle the disabling of params
- Resolve issue with overriding paths to defaults when not provided
- Extended hardcoded list of params to disable until they are passed in as config
- Bumped openapi-to-postman to the latest version, which includes extended assignPmVariables test capabilities
- Added examples for the test suite assignPmVariables function
- Added examples for the test suite overwriteRequests function
- Bumped openapi-to-postman to version 2.7.0, which includes ContentCheck test capabilities
- Added examples for the test suite generation
- Added examples for the test suite contentChecks function
- Made the "orderOfOperations" property optional
- Adds the CLI option to configure the Portman CLI in a JSON file
- Adds the CLI option to configure output location of the Postman file
- Adds the CLI option to toggle upload to Postman
- Adds the Portman option to sort Postman requests based on the "orderOfOperations" configuration
- Extends the Postman integration to upsert a collection based on the collection name
- Adds CLI options to pass in path to config files allowing multiple CIs to live in the same repo.
- Updates repo url to public repo
- Base release