|
@@ -0,0 +1,49 @@
|
|
|
+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);
|
|
|
+}
|