lib/Utils/EngineUtil.js (64 lines of code) (raw):
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Resources = exports.getLoadTestFrameworkModelFromKind = exports.getLoadTestFrameworkFromKind = exports.isTestKindConvertibleToJMX = exports.getLoadTestFrameworkDisplayName = exports.getLoadTestFrameworkModel = exports.getOrderedLoadTestFrameworks = exports.LoadTestFramework = void 0;
const JMeterFrameworkModel_1 = require("../models/engine/JMeterFrameworkModel");
const LocustFrameworkModel_1 = require("../models/engine/LocustFrameworkModel");
const TestKind_1 = require("../models/TestKind");
var _jmeterFramework = new JMeterFrameworkModel_1.JMeterFrameworkModel();
var _locustFramework = new LocustFrameworkModel_1.LocustFrameworkModel();
/**
* Enumeration representing the available load test frameworks.
*/
var LoadTestFramework;
(function (LoadTestFramework) {
LoadTestFramework["JMeter"] = "JMeter";
LoadTestFramework["Locust"] = "Locust";
})(LoadTestFramework || (exports.LoadTestFramework = LoadTestFramework = {}));
/**
* Retrieves an array of load test frameworks in a specific order.
* @returns An array of load test frameworks.
*/
function getOrderedLoadTestFrameworks() {
return [LoadTestFramework.JMeter, LoadTestFramework.Locust];
}
exports.getOrderedLoadTestFrameworks = getOrderedLoadTestFrameworks;
/**
* Returns the corresponding LoadTestFrameworkModel based on the provided LoadTestFramework enum.
* If the provided framework is not recognized, it assumes JMeter by default.
* @param framework The LoadTestFramework to get the corresponding LoadTestFrameworkModel for.
* @returns The corresponding LoadTestFrameworkModel.
*/
function getLoadTestFrameworkModel(framework) {
switch (framework) {
case LoadTestFramework.JMeter:
return _jmeterFramework;
case LoadTestFramework.Locust:
return _locustFramework;
default:
// Assume JMeter by default
return _jmeterFramework;
}
}
exports.getLoadTestFrameworkModel = getLoadTestFrameworkModel;
/**
* Retrieves the display name of a load test framework.
* @param framework The load test framework.
* @returns The display name of the load test framework.
*/
function getLoadTestFrameworkDisplayName(framework) {
return getLoadTestFrameworkModel(framework).frameworkDisplayName;
}
exports.getLoadTestFrameworkDisplayName = getLoadTestFrameworkDisplayName;
/**
* Checks if a given test kind is convertible to JMX.
* If the kind is not provided, it assumes JMX by default.
* @param kind The test kind to check.
* @returns True if the test kind is convertible to JMX, false otherwise.
*/
function isTestKindConvertibleToJMX(kind) {
if (!kind) {
// Assume JMX by default
return false;
}
return kind === TestKind_1.TestKind.URL;
}
exports.isTestKindConvertibleToJMX = isTestKindConvertibleToJMX;
/**
* Retrieves the load test framework from a given test kind.
* If no kind is provided, it assumes JMX by default.
* @param kind The test kind.
* @returns The load test framework for the test kind.
*/
function getLoadTestFrameworkFromKind(kind) {
if (!kind) {
// Assume JMX by default
return LoadTestFramework.JMeter;
}
switch (kind) {
case TestKind_1.TestKind.JMX:
return LoadTestFramework.JMeter;
case TestKind_1.TestKind.Locust:
return LoadTestFramework.Locust;
default:
return LoadTestFramework.JMeter;
}
}
exports.getLoadTestFrameworkFromKind = getLoadTestFrameworkFromKind;
/**
* Retrieves the load test framework model from a given test kind.
* If no kind is provided, it assumes JMX by default.
* @param kind The test kind.
* @returns The load test framework model for the test kind.
*/
function getLoadTestFrameworkModelFromKind(kind) {
return getLoadTestFrameworkModel(getLoadTestFrameworkFromKind(kind));
}
exports.getLoadTestFrameworkModelFromKind = getLoadTestFrameworkModelFromKind;
var Resources;
(function (Resources) {
let Strings;
(function (Strings) {
Strings.allFrameworksFriendly = "URL, JMX and Locust";
})(Strings = Resources.Strings || (Resources.Strings = {}));
})(Resources || (exports.Resources = Resources = {}));