export function validateAndGetRunTimeParamsForTestRun()

in src/Utils/CreateAndRunUtils.ts [155:203]


export function validateAndGetRunTimeParamsForTestRun(testId: string) {
    var secretRun = CoreUtils.getInput(InputConstants.secrets);
    let secretsParsed : {[key: string] : SecretMetadata} = {};
    let envParsed : {[key: string] : string} = {};
    if(secretRun) {
        try {
            var obj = JSON.parse(secretRun);
            for (var index in obj) {
                var val = obj[index];
                let str : string =  `name : ${val.name}, value : ${val.value}`;
                if(isNullOrUndefined(val.name)){
                    throw new Error(`Invalid secret name at pipeline parameters at ${str}`);
                }
                secretsParsed[val.name] = {type: 'SECRET_VALUE',value: val.value};
            }
        }
        catch (error) {
            console.log(error);
            throw new Error(`Invalid format of ${InputConstants.secretsLabel} in the pipeline file. Refer to the pipeline syntax at : https://learn.microsoft.com/en-us/azure/load-testing/how-to-configure-load-test-cicd?tabs=github#update-the-azure-pipelines-workflow`);
        }
    }
    var eRun = CoreUtils.getInput(InputConstants.envVars);
    if(eRun) {
        try {
            var obj = JSON.parse(eRun);
            for (var index in obj) {
                var val = obj[index];
                let str : string =  `name : ${val.name}, value : ${val.value}`;
                if(isNullOrUndefined(val.name)){
                    throw new Error(`Invalid environment name at pipeline parameters at ${str}`);
                }
                envParsed[val.name] = val.value;
            }
        }
        catch (error) {
            console.log(error);
            throw new Error(`Invalid format of ${InputConstants.envVarsLabel} in the pipeline file. Refer to the pipeline syntax at : https://learn.microsoft.com/en-us/azure/load-testing/how-to-configure-load-test-cicd?tabs=github#update-the-azure-pipelines-workflow`); 
        }
    }
    const runDisplayName = CoreUtils.getInput(InputConstants.testRunName) ?? Util.getDefaultTestRunName();
    const runDescription = CoreUtils.getInput(InputConstants.runDescription) ?? Util.getDefaultRunDescription();
    
    let runTimeParams : RunTimeParams = {env: envParsed, secrets: secretsParsed, runDisplayName, runDescription, testId: '', testRunId: ''};
    Util.validateTestRunParamsFromPipeline(runTimeParams);
    runTimeParams.testRunId = Util.getUniqueId();
    runTimeParams.testId = testId;

    return runTimeParams;
}