Skip to content

Commit

Permalink
Merge pull request #54 from apiaddicts/develop
Browse files Browse the repository at this point in the history
Up version to 2.2.0
  • Loading branch information
marcosanz-apiquality authored Feb 12, 2025
2 parents 1bfb143 + 527ac80 commit 792d407
Show file tree
Hide file tree
Showing 6 changed files with 31 additions and 18 deletions.
11 changes: 5 additions & 6 deletions index.js
Original file line number Diff line number Diff line change
Expand Up @@ -227,14 +227,13 @@ _.forEach(environments, function (element) {
}
}
}
if(global.definition.components.securitySchemes){
console.log('securitySchemes');
if ( element.custom_authorizations_file ) {
require('./src/parser/authorizationRequests.js')(endpointsStage,element.custom_authorizations_file)
} else if(global.definition.components.securitySchemes){
let securityDefinition = require('./src/parser/openapiAuthorizationDefinition.js')(global.definition.components.securitySchemes)
if(securityDefinition){
require('./src/parser/authorizationRequests.js')(endpointsStage,securityDefinition)
} else {
exclude.auth = true
}
require('./src/parser/authorizationRequests.js')(endpointsStage,null,securityDefinition)
}
} else {
// Elimina la cabecera Authorization de las peticiones en Postman
exclude.auth = true
Expand Down
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "openapi2postman",
"version": "2.1.0",
"version": "2.2.1",
"description": "openapi2postman",
"bin": {
"o2p": "index.js"
Expand Down
2 changes: 1 addition & 1 deletion src/generator/testBody.js
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ module.exports = function() {
" // Guardar variables en environment",
" // pm.environment.set('nombreVariable', json.data.variable);",
"} catch (e) {",
" pm.test(\"Se esperaba una respuesta JSON\", function() {",
" pm.test(\"A JSON response was expected\", function() {",
" pm.expect(json, \"responseBody no es un JSON\").not.to.be.null;",
" });",
"}",
Expand Down
10 changes: 9 additions & 1 deletion src/parser/authorizationRequests.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,15 @@ const path = require('path')

module.exports = function() {

return function get(endpoints,definition){
return function get(endpoints,file, definition){
if(!definition){

try {
definition = JSON.parse(fs.readFileSync(file, 'utf8'));
} catch (e) {
require('../utils/error.js')('error reading auth file ');
}
}
for (let i in definition.item){
definition.item[i].authType = true
// Comprobar que viene un status dentro del objeto aux para cada endpoint de autorización
Expand Down
20 changes: 13 additions & 7 deletions src/parser/openapiAuthorizationDefinition.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,12 @@ const _ = require('lodash');
module.exports = function() {

return function get(oAuthDefinition){
// console.log('oAuthDefinition');
// console.log(oAuthDefinition.oAuth2ClientCredentials.flows);

const data = parseUrl(oAuthDefinition.oAuth2ClientCredentials.flows.clientCredentials.tokenUrl)
let definition
for (const i in oAuthDefinition) {
definition = oAuthDefinition[i];

}
const data = parseUrl(definition.flows)
return generateDefinition(data)
}

Expand Down Expand Up @@ -85,13 +87,17 @@ module.exports = function() {
return postmanCollection;
}

function parseUrl(url) {
const urlObject = new URL(url);
function parseUrl(flows) {
let getTokenUrl
for (const i in flows) {
getTokenUrl = flows[i];
}
const urlObject = new URL(getTokenUrl.tokenUrl);
const host = `${urlObject.protocol}//${urlObject.host}`;
const path = urlObject.pathname.split('/').filter(segment => segment);

return {
raw: url,
raw: getTokenUrl.tokenUrl,
host: host,
path: path
};
Expand Down

0 comments on commit 792d407

Please sign in to comment.