import crypto from 'k6/crypto'; import exec from 'k6/execution'; import { uuidv4 } from 'https://jslib.k6.io/k6-utils/1.4.0/index.js'; import moment from "cdnjs.com/libraries/moment.js/2.18.1"; const envSetting = JSON.parse(open('env.txt')); const partnerId = envSetting.partnerId; const apiKey = envSetting.apiKey; export function GetP(baseUrl, apiPath, apiParam, bodyData) { const evsenNum = GetEvseNum(); const randomUUID = uuidv4(); const ts = ~~ (moment().valueOf() /1000); const urlapi = baseUrl+apiPath; const url = apiParam == "" ? urlapi : urlapi + '?' + apiParam; var assembledata = apiParam + bodyData + ts + partnerId + apiKey; var hash = crypto.md5(assembledata.toLowerCase(), 'hex').toString(); const params = { headers: { 'Timestamp': ts, 'Signature': hash, 'PartnerId': partnerId, 'Content-Type': 'application/json' }, } return { url: url, bodyData: bodyData, params : params }; } export function GetSessionId(res){ var data = JSON.parse(res.body).Data; var sessions = JSON.parse(data).Sessions; var session = sessions[0].SessionId; return session; } export function GetEvseNum(){ const instanceId = exec.vu.idInTest; return ("00" + instanceId).slice(-3); }