UNPKG

@postman/wsdl-to-postman

Version:

Convert a given WSDL specification (1.1) to Postman Collection

50 lines (43 loc) 1.86 kB
const { BodyValidatorRawSOAP } = require('./BodyValidatorRawSOAP'), { BodyFormEncodedValidator } = require('./BodyFormEncodedValidator'), { GET_METHOD } = require('../utils/httpUtils'); /** * Class to validate a postman request body */ class BodyValidator { /** * Validate body string and return mismatches * @param {object} postmanBody postman request body * @param {Object} wsdlObject Object generated from wsdl document * @param {Object} operationFromWSDL wsdlObject operation's * @param {Boolean} isResponse True if provided message is in a response, False if is in a request * @param {object} options options validation process * @param {object} xmlParser the parser class to parse xml to object or vice versa * @param {object} elementFromWSDLMessage the element from message * @returns {Array} List of mismatches found */ validate(postmanBody, wsdlObject, operationFromWSDL, isResponse, options, xmlParser, elementFromWSDLMessage) { if (postmanBody && postmanBody.mode === 'raw') { let validator = new BodyValidatorRawSOAP(); return validator.validate(postmanBody.raw, wsdlObject, operationFromWSDL, isResponse, options, xmlParser, elementFromWSDLMessage); } if (typeof postmanBody === 'string') { let validator = new BodyValidatorRawSOAP(); return validator.validate(postmanBody, wsdlObject, operationFromWSDL, isResponse, options, xmlParser, elementFromWSDLMessage); } if (postmanBody && postmanBody.mode === 'urlencoded') { let validator = new BodyFormEncodedValidator(); return validator.validate({ body: postmanBody, operationFromWSDL: operationFromWSDL, options: options, isResponse: isResponse }); } if (operationFromWSDL.method === GET_METHOD) { return []; } } } module.exports = { BodyValidator };