/
L0ShouldCorrectlyDetectLatestBuildForFreeStyleProject.ts
35 lines (29 loc) · 1.49 KB
/
L0ShouldCorrectlyDetectLatestBuildForFreeStyleProject.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import ma = require('azure-pipelines-task-lib/mock-answer');
import tmrm = require('azure-pipelines-task-lib/mock-run');
import path = require('path');
import mockTask = require('azure-pipelines-task-lib/mock-task');
import helper = require("./JenkinsTestHelper");
const taskPath = path.join(__dirname, '..', 'jenkinsdownloadartifacts.js');
const tr: tmrm.TaskMockRunner = new tmrm.TaskMockRunner(taskPath);
tr.setInput("serverEndpoint", "ID1");
tr.setInput("jobName", "myfreestyleproject")
tr.setInput("saveTo", "jenkinsArtifacts");
tr.setInput("filePath", "/");
tr.setInput("jenkinsBuild", "LastSuccessfulBuild");
//tr.setInput("jenkinsBuildNumber", "10"); No explicit build number set
tr.setInput("itemPattern", "**");
tr.setInput("downloadCommitsAndWorkItems", "false");
process.env['ENDPOINT_URL_ID1'] = 'http://url';
process.env['ENDPOINT_AUTH_PARAMETER_connection1_username'] = 'dummyusername';
process.env['ENDPOINT_AUTH_PARAMETER_connection1_password'] = 'dummypassword';
process.env['ENDPOINT_DATA_ID1_acceptUntrustedCerts'] = 'true';
helper.RegisterArtifactEngineMock(tr);
helper.RegisterHttpClientMock(tr, (url: string) => {
if (url === "http://url/job/myfreestyleproject//api/json") {
return helper.GetSuccessExpectedResult('{ "_class": "hudson.model.FreeStyleProject" }');
}
if (url === "http://url/job/myfreestyleproject//api/json?tree=lastSuccessfulBuild[id,displayname]") {
return helper.GetSuccessExpectedResult('{"lastSuccessfulBuild": { "id": "100" } }');
}
});
tr.run();