in src/services/APIService.ts [49:76]
async getTestAPI(allow404 : boolean = false): Promise<TestModel | null> {
let urlSuffix = "tests/"+this.testId+"?api-version="+ ApiVersionConstants.latestVersion;
let url = new URL(urlSuffix, this.baseURL);
let header = await this.authContext.getDataPlaneHeader(FetchCallType.get);
let testResult = await FetchUtil.httpClientRetries(url.toString(),header,FetchCallType.get,3,"");
if(testResult.message.statusCode == 200) {
let testObj: TestModel = await Util.getResultObj(testResult);
if(testObj == null){
throw new Error(Util.errorCorrection(testResult));
}
return testObj;
} else if (testResult.message.statusCode == 404 && allow404) {
return null;
}
if(testResult.message.statusCode == 401 || testResult.message.statusCode == 403){
var message = "Service Principal does not have sufficient permissions. Please assign "
+"the Load Test Contributor role to the service principal. Follow the steps listed at "
+"https://learn.microsoft.com/en-us/azure/load-testing/how-to-configure-load-test-cicd?tabs=github#configure-the-github-actions-workflow-to-run-a-load-test";
throw new Error(message);
}
let errorObj:any=await Util.getResultObj(testResult);
let err = errorObj?.error?.message ? errorObj?.error?.message : Util.errorCorrection(testResult);
throw new Error(err);
}