export function validateOverRideParameters()

in src/Utils/CommonUtils.ts [302:355]


export function validateOverRideParameters(overRideParams: string | undefined): ValidationModel {
    try {
        if(!isNullOrUndefined(overRideParams)) {
            let overRideParamsObj : any;
            try{
                overRideParamsObj = JSON.parse(overRideParams);
            }
            catch(error) {
                return { valid: false, error:`Invalid format provided in the ${InputConstants.overRideParametersLabel} field in pipeline, provide a valid json string.` };
            };
            let unSupportedKeys : string[] = [];
            let supportedKeys : string[] = Object.keys(new OverRideParametersModel());
            Object.keys(overRideParamsObj).forEach(element => {
                if(supportedKeys.indexOf(element) == -1){
                    unSupportedKeys.push(element);
                }
            });
            if(unSupportedKeys.length) {
                const result = unSupportedKeys.map(element => `${element}`).join(", ");
                return {valid : false, error : `The ${InputConstants.overRideParametersLabel} provided has unsupported field(s) "${result}".`};
            }
            if(!isNullOrUndefined(overRideParamsObj.testId)) {
                if(typeof overRideParamsObj.testId != 'string' || invalidName(overRideParamsObj.testId.toLowerCase())) {
                    return {valid : false, error : `The value "${overRideParamsObj.testId}" for testId provided in overrideParameters is not a valid string. Allowed characters are [a-zA-Z0-9-_] and the length must be between 2 to 50 characters.`};
                }
            }
            if(!isNullOrUndefined(overRideParamsObj.displayName)) {
                if(typeof overRideParamsObj.displayName != 'string' || invalidDisplayName(overRideParamsObj.displayName)) {
                    return {valid : false, error : `The value "${overRideParamsObj.displayName}" for displayName provided in overrideParameters is invalid. Display name must be a string of length between 2 to 50.`};
                }
            }
            if(!isNullOrUndefined(overRideParamsObj.description)) {
                if(typeof overRideParamsObj.description != 'string' || invalidDescription(overRideParamsObj.description)) {
                    return {valid : false, error : `The value "${overRideParamsObj.description}" for description provided in overrideParameters is invalid. Description must be a string of length less than 100.`};
                }
            }
            if(!isNullOrUndefined(overRideParamsObj.engineInstances)) {
                if(typeof overRideParamsObj.engineInstances != 'number' || inValidEngineInstances(overRideParamsObj.engineInstances)) {
                    return {valid : false, error : `The value "${overRideParamsObj.engineInstances}" for engineInstances provided in overrideParameters is invalid. The value should be an integer between 1 and 400.`};
                }
            }
            if(!isNullOrUndefined(overRideParamsObj.autoStop)) {
                let validation = validateAutoStop(overRideParamsObj.autoStop, true);
                if(validation.valid == false){
                    return validation;
                }
            }
        }
    }
    catch (error) {
        return {valid: false, error: (error ?? '').toString()};
    }
    return {valid : true, error : ""};
}