in lib/Utils/LoadtestConfigUtil.js [42:99]
static parseLoadtestConfigFile() {
var _a, _b, _c, _d, _e, _f, _g;
const yamlFilePath = this.validateAndGetYamlFilePath();
const yamlConfig = this.readLoadtestConfigFile(yamlFilePath);
let loadtestConfig = {};
let filePath = pathLib.dirname(yamlFilePath);
loadtestConfig.testId = ((_a = yamlConfig.testId) !== null && _a !== void 0 ? _a : yamlConfig.testName);
loadtestConfig.testId = loadtestConfig.testId.toLowerCase();
loadtestConfig.displayName = (_b = yamlConfig.displayName) !== null && _b !== void 0 ? _b : loadtestConfig.testId;
loadtestConfig.description = yamlConfig.description;
loadtestConfig.engineInstances = (_c = yamlConfig.engineInstances) !== null && _c !== void 0 ? _c : 1;
loadtestConfig.kind = (_d = yamlConfig.testType) !== null && _d !== void 0 ? _d : TestKind_1.TestKind.JMX;
if (yamlConfig.splitAllCSVs != undefined) {
loadtestConfig.splitAllCSVs = yamlConfig.splitAllCSVs;
}
this.parseFileConfiguration(loadtestConfig, yamlConfig, filePath);
this.parseParameters(loadtestConfig, yamlConfig);
if (yamlConfig.failureCriteria != undefined) {
if (Array.isArray(yamlConfig.failureCriteria)) {
loadtestConfig.failureCriteria = (0, PassFailCriteriaUtil_1.getPassFailCriteriaFromString)(yamlConfig.failureCriteria);
}
else {
loadtestConfig.failureCriteria = (0, PassFailCriteriaUtil_1.getPassFailCriteriaFromString)((_e = yamlConfig.failureCriteria.clientMetrics) !== null && _e !== void 0 ? _e : []);
loadtestConfig.serverFailureCriteria = (0, PassFailCriteriaUtil_1.getServerCriteriaFromYaml)((_f = yamlConfig.failureCriteria.serverMetrics) !== null && _f !== void 0 ? _f : []);
}
}
if (yamlConfig.autoStop != undefined) {
loadtestConfig.autoStop = this.getAutoStopCriteria(yamlConfig.autoStop);
}
if (yamlConfig.subnetId != undefined) {
loadtestConfig.subnetId = (yamlConfig.subnetId);
}
if (yamlConfig.publicIPDisabled != undefined) {
loadtestConfig.publicIPDisabled = (yamlConfig.publicIPDisabled);
}
// Setting default values for appComponents and serverMetricsConfig
loadtestConfig.appComponents = {};
loadtestConfig.serverMetricsConfig = {};
loadtestConfig.addDefaultsForAppComponents = {};
if (yamlConfig.appComponents != undefined) {
this.parseAppComponentsAndServerMetricsConfig(loadtestConfig, yamlConfig.appComponents);
}
// Setting default values for reference identities
loadtestConfig.keyVaultReferenceIdentityType = PayloadModels_1.ManagedIdentityTypeForAPI.SystemAssigned;
loadtestConfig.metricsReferenceIdentityType = PayloadModels_1.ManagedIdentityTypeForAPI.SystemAssigned;
loadtestConfig.engineReferenceIdentityType = PayloadModels_1.ManagedIdentityTypeForAPI.None;
if (yamlConfig.keyVaultReferenceIdentity != undefined || yamlConfig.keyVaultReferenceIdentityType != undefined) {
loadtestConfig.keyVaultReferenceIdentityType = yamlConfig.keyVaultReferenceIdentity ? PayloadModels_1.ManagedIdentityTypeForAPI.UserAssigned : PayloadModels_1.ManagedIdentityTypeForAPI.SystemAssigned;
loadtestConfig.keyVaultReferenceIdentity = (_g = yamlConfig.keyVaultReferenceIdentity) !== null && _g !== void 0 ? _g : null;
}
if (yamlConfig.referenceIdentities != undefined) {
this.parseReferenceIdentities(loadtestConfig, yamlConfig.referenceIdentities);
}
if (yamlConfig.regionalLoadTestConfig != undefined) {
loadtestConfig.regionalLoadTestConfig = this.getMultiRegionLoadTestConfig(yamlConfig.regionalLoadTestConfig);
}
return loadtestConfig;
}