static parseLoadtestConfigFile()

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;
    }