UNPKG

zephyr-import

Version:

Parsing JSON data and import it to Zephyr as reports of autoamtion testing!

137 lines (136 loc) 4.87 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getJiraData = getJiraData; exports.postJiraData = postJiraData; exports.getData = getData; exports.putData = putData; exports.postData = postData; const auth = require("./jwt-auth"); const request = require("request"); // get parent dir name of node modules const path = require("path"); const parent_dirname = path.join(__dirname, "../../.."); // get config from parent dir of node modules, so config.json should be placed there const configZephyr = require("/" + parent_dirname + "/configZephyr.json"); const configZephyrUser = require("/" + parent_dirname + "/configZephyr.json"); async function getJiraData(urlParams, login = "pollak@bart.sk", api_token = configZephyrUser.pollak.jira_token) { const url = "https://crossuite.atlassian.net/rest/api/3/" + urlParams; const options = { method: "GET", headers: { Authorization: `Basic ${Buffer.from(login + ":" + api_token).toString("base64")}`, Accept: "application/json", }, }; function requestGet() { return new Promise((resolve) => { request(url, options, function (error, response, body) { resolve(response.body); }); }); } const res = await requestGet().then(function (result) { return result; }); // console.log(res) return res; } async function postJiraData(urlParams, body, login = "pollak@bart.sk", api_token = configZephyrUser.pollak.jira_token) { const url = "https://crossuite.atlassian.net/rest/api/3/" + urlParams; const options = { method: "POST", headers: { Authorization: `Basic ${Buffer.from(login + ":" + api_token).toString("base64")}`, "Content-Type": "application/json", }, body: JSON.stringify(body), }; function fetchpost() { return new Promise((resolve) => { request(url, options, function (error, response, body) { resolve(response.body); }); }); } const res = await fetchpost().then(function (result) { return result; }); return res; } async function getData(extendeApiCallUrl = "/public/rest/api/1.0/teststep/15550?projectId=10000") { const JWT = auth.getJWT(extendeApiCallUrl); const accessKey = configZephyrUser[configZephyr.zephyrDefaultOptions.executor].access_key; const baseUrl = configZephyr.zephyrDefaultOptions.base_api_call; const url = baseUrl + extendeApiCallUrl; const options = { method: "GET", headers: { Authorization: "JWT " + JWT, zapiAccessKey: accessKey, }, }; function requestGet() { return new Promise((resolve) => { request(url, options, function (error, response, body) { resolve(response.body); }); }); } const res = await requestGet().then(function (result) { return result; }); // console.log(res) return res; } async function putData(extendeApiCallUrl, bodyJSON) { const JWT = auth.getJWT(extendeApiCallUrl, "PUT"); const accessKey = configZephyrUser[configZephyr.zephyrDefaultOptions.executor].access_key; const baseUrl = configZephyr.zephyrDefaultOptions.base_api_call; const url = baseUrl + extendeApiCallUrl; const options = { method: "PUT", headers: { "Content-Type": "application/json", Authorization: "JWT " + JWT, zapiAccessKey: accessKey, }, body: JSON.stringify(bodyJSON), }; async function requestPut() { return await new Promise((resolve) => { request(url, options, function (error, response, body) { resolve(response.statusCode); }); }); } const res = await requestPut().then(function (result) { return result; }); return res; } async function postData(extendeApiCallUrl, bodyJSON) { const JWT = auth.getJWT(extendeApiCallUrl, "POST"); const accessKey = configZephyrUser[configZephyr.zephyrDefaultOptions.executor].access_key; const baseUrl = configZephyr.zephyrDefaultOptions.base_api_call; const url = baseUrl + extendeApiCallUrl; const options = { method: "POST", headers: { "Content-Type": "application/json", Authorization: "JWT " + JWT, zapiAccessKey: accessKey, }, body: JSON.stringify(bodyJSON), }; async function fetchpost() { return new Promise((resolve) => { request(url, options, function (error, response, body) { resolve(response.body); }); }); } const res = await fetchpost().then(function (result) { return result; }); return res; }