azure-pipelines-tasks-azurermdeploycommon 3.219.1 → 3.221.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Tests/azure-arm-app-service-kudu-tests.js +35 -35
- package/Tests/azure-arm-app-service-kudu-tests.ts +35 -35
- package/azure-arm-rest/azure-arm-app-service-kudu.d.ts +3 -3
- package/azure-arm-rest/azure-arm-app-service-kudu.js +5 -6
- package/azure-arm-rest/azure-arm-app-service-kudu.ts +6 -7
- package/azure-arm-rest/azure-arm-app-service.d.ts +1 -0
- package/azure-arm-rest/azure-arm-app-service.js +21 -0
- package/azure-arm-rest/azure-arm-app-service.ts +23 -0
- package/operations/AzureAppServiceUtility.d.ts +2 -0
- package/operations/AzureAppServiceUtility.js +41 -4
- package/operations/AzureAppServiceUtility.ts +44 -6
- package/package.json +1 -1
|
@@ -19,7 +19,7 @@ class KuduTests {
|
|
|
19
19
|
static updateDeployment() {
|
|
20
20
|
return __awaiter(this, void 0, void 0, function* () {
|
|
21
21
|
try {
|
|
22
|
-
var kudu = new azure_arm_app_service_kudu_1.Kudu('http://MOCK_SCM_WEBSITE', '
|
|
22
|
+
var kudu = new azure_arm_app_service_kudu_1.Kudu('http://MOCK_SCM_WEBSITE', 'Bearer MOCK_SCM_BEARERTOKEN');
|
|
23
23
|
yield kudu.updateDeployment({ id: 'MOCK_DEPLOYMENT_ID', type: 'Deployment' });
|
|
24
24
|
}
|
|
25
25
|
catch (error) {
|
|
@@ -27,7 +27,7 @@ class KuduTests {
|
|
|
27
27
|
tl.setResult(tl.TaskResult.Failed, 'KuduTests.updateDeployment() should have passed but failed');
|
|
28
28
|
}
|
|
29
29
|
try {
|
|
30
|
-
var kudu = new azure_arm_app_service_kudu_1.Kudu('http://FAIL_MOCK_SCM_WEBSITE', '
|
|
30
|
+
var kudu = new azure_arm_app_service_kudu_1.Kudu('http://FAIL_MOCK_SCM_WEBSITE', 'Bearer MOCK_SCM_BEARERTOKEN');
|
|
31
31
|
yield kudu.updateDeployment({ id: 'MOCK_DEPLOYMENT_ID', type: 'Deployment' });
|
|
32
32
|
tl.setResult(tl.TaskResult.Failed, 'KuduTests.updateDeployment() should have failed but passed');
|
|
33
33
|
}
|
|
@@ -39,7 +39,7 @@ class KuduTests {
|
|
|
39
39
|
static getContinuousJobs() {
|
|
40
40
|
return __awaiter(this, void 0, void 0, function* () {
|
|
41
41
|
try {
|
|
42
|
-
var kudu = new azure_arm_app_service_kudu_1.Kudu('http://MOCK_SCM_WEBSITE', '
|
|
42
|
+
var kudu = new azure_arm_app_service_kudu_1.Kudu('http://MOCK_SCM_WEBSITE', 'Bearer MOCK_SCM_BEARERTOKEN');
|
|
43
43
|
console.log(`MOCK KUDU CONTINUOUS JOBS COUNT: ${(yield kudu.getContinuousJobs()).length}`);
|
|
44
44
|
}
|
|
45
45
|
catch (error) {
|
|
@@ -47,7 +47,7 @@ class KuduTests {
|
|
|
47
47
|
tl.setResult(tl.TaskResult.Failed, 'KuduTests.getContinuousJobs() should have passed but failed');
|
|
48
48
|
}
|
|
49
49
|
try {
|
|
50
|
-
var kudu = new azure_arm_app_service_kudu_1.Kudu('http://FAIL_MOCK_SCM_WEBSITE', '
|
|
50
|
+
var kudu = new azure_arm_app_service_kudu_1.Kudu('http://FAIL_MOCK_SCM_WEBSITE', 'Bearer MOCK_SCM_BEARERTOKEN');
|
|
51
51
|
yield kudu.getContinuousJobs();
|
|
52
52
|
tl.setResult(tl.TaskResult.Failed, 'KuduTests.getContinuousJobs() should have failed but passed');
|
|
53
53
|
}
|
|
@@ -59,7 +59,7 @@ class KuduTests {
|
|
|
59
59
|
static startContinuousWebJob() {
|
|
60
60
|
return __awaiter(this, void 0, void 0, function* () {
|
|
61
61
|
try {
|
|
62
|
-
var kudu = new azure_arm_app_service_kudu_1.Kudu('http://MOCK_SCM_WEBSITE', '
|
|
62
|
+
var kudu = new azure_arm_app_service_kudu_1.Kudu('http://MOCK_SCM_WEBSITE', 'Bearer MOCK_SCM_BEARERTOKEN');
|
|
63
63
|
yield kudu.startContinuousWebJob('MOCK_JOB_NAME');
|
|
64
64
|
}
|
|
65
65
|
catch (error) {
|
|
@@ -67,7 +67,7 @@ class KuduTests {
|
|
|
67
67
|
tl.setResult(tl.TaskResult.Failed, 'KuduTests.startContinuousWebJob() should have passed but failed');
|
|
68
68
|
}
|
|
69
69
|
try {
|
|
70
|
-
var kudu = new azure_arm_app_service_kudu_1.Kudu('http://FAIL_MOCK_SCM_WEBSITE', '
|
|
70
|
+
var kudu = new azure_arm_app_service_kudu_1.Kudu('http://FAIL_MOCK_SCM_WEBSITE', 'Bearer MOCK_SCM_BEARERTOKEN');
|
|
71
71
|
yield kudu.startContinuousWebJob('MOCK_JOB_NAME');
|
|
72
72
|
tl.setResult(tl.TaskResult.Failed, 'KuduTests.startContinuousWebJob() should have failed but passed');
|
|
73
73
|
}
|
|
@@ -79,7 +79,7 @@ class KuduTests {
|
|
|
79
79
|
static stopContinuousWebJob() {
|
|
80
80
|
return __awaiter(this, void 0, void 0, function* () {
|
|
81
81
|
try {
|
|
82
|
-
var kudu = new azure_arm_app_service_kudu_1.Kudu('http://MOCK_SCM_WEBSITE', '
|
|
82
|
+
var kudu = new azure_arm_app_service_kudu_1.Kudu('http://MOCK_SCM_WEBSITE', 'Bearer MOCK_SCM_BEARERTOKEN');
|
|
83
83
|
yield kudu.stopContinuousWebJob('MOCK_JOB_NAME');
|
|
84
84
|
}
|
|
85
85
|
catch (error) {
|
|
@@ -87,7 +87,7 @@ class KuduTests {
|
|
|
87
87
|
tl.setResult(tl.TaskResult.Failed, 'KuduTests.stopContinuousWebJob() should have passed but failed');
|
|
88
88
|
}
|
|
89
89
|
try {
|
|
90
|
-
var kudu = new azure_arm_app_service_kudu_1.Kudu('http://FAIL_MOCK_SCM_WEBSITE', '
|
|
90
|
+
var kudu = new azure_arm_app_service_kudu_1.Kudu('http://FAIL_MOCK_SCM_WEBSITE', 'Bearer MOCK_SCM_BEARERTOKEN');
|
|
91
91
|
yield kudu.stopContinuousWebJob('MOCK_JOB_NAME');
|
|
92
92
|
tl.setResult(tl.TaskResult.Failed, 'KuduTests.stopContinuousWebJob() should have failed but passed');
|
|
93
93
|
}
|
|
@@ -99,7 +99,7 @@ class KuduTests {
|
|
|
99
99
|
static installSiteExtension() {
|
|
100
100
|
return __awaiter(this, void 0, void 0, function* () {
|
|
101
101
|
try {
|
|
102
|
-
var kudu = new azure_arm_app_service_kudu_1.Kudu('http://MOCK_SCM_WEBSITE', '
|
|
102
|
+
var kudu = new azure_arm_app_service_kudu_1.Kudu('http://MOCK_SCM_WEBSITE', 'Bearer MOCK_SCM_BEARERTOKEN');
|
|
103
103
|
yield kudu.installSiteExtension('MOCK_EXTENSION');
|
|
104
104
|
}
|
|
105
105
|
catch (error) {
|
|
@@ -107,7 +107,7 @@ class KuduTests {
|
|
|
107
107
|
tl.setResult(tl.TaskResult.Failed, 'KuduTests.installSiteExtension() should have passed but failed');
|
|
108
108
|
}
|
|
109
109
|
try {
|
|
110
|
-
var kudu = new azure_arm_app_service_kudu_1.Kudu('http://FAIL_MOCK_SCM_WEBSITE', '
|
|
110
|
+
var kudu = new azure_arm_app_service_kudu_1.Kudu('http://FAIL_MOCK_SCM_WEBSITE', 'Bearer MOCK_SCM_BEARERTOKEN');
|
|
111
111
|
yield kudu.installSiteExtension('MOCK_EXTENSION');
|
|
112
112
|
tl.setResult(tl.TaskResult.Failed, 'KuduTests.installSiteExtension() should have failed but passed');
|
|
113
113
|
}
|
|
@@ -119,7 +119,7 @@ class KuduTests {
|
|
|
119
119
|
static getSiteExtensions() {
|
|
120
120
|
return __awaiter(this, void 0, void 0, function* () {
|
|
121
121
|
try {
|
|
122
|
-
var kudu = new azure_arm_app_service_kudu_1.Kudu('http://MOCK_SCM_WEBSITE', '
|
|
122
|
+
var kudu = new azure_arm_app_service_kudu_1.Kudu('http://MOCK_SCM_WEBSITE', 'Bearer MOCK_SCM_BEARERTOKEN');
|
|
123
123
|
console.log(`MOCK KUDU SITE EXTENSIONS COUNT: ${(yield kudu.getSiteExtensions()).length}`);
|
|
124
124
|
}
|
|
125
125
|
catch (error) {
|
|
@@ -127,7 +127,7 @@ class KuduTests {
|
|
|
127
127
|
tl.setResult(tl.TaskResult.Failed, 'KuduTests.getSiteExtensions() should have passed but failed');
|
|
128
128
|
}
|
|
129
129
|
try {
|
|
130
|
-
var kudu = new azure_arm_app_service_kudu_1.Kudu('http://FAIL_MOCK_SCM_WEBSITE', '
|
|
130
|
+
var kudu = new azure_arm_app_service_kudu_1.Kudu('http://FAIL_MOCK_SCM_WEBSITE', 'Bearer MOCK_SCM_BEARERTOKEN');
|
|
131
131
|
yield kudu.getSiteExtensions();
|
|
132
132
|
tl.setResult(tl.TaskResult.Failed, 'KuduTests.getSiteExtensions() should have failed but passed');
|
|
133
133
|
}
|
|
@@ -139,7 +139,7 @@ class KuduTests {
|
|
|
139
139
|
static getAllSiteExtensions() {
|
|
140
140
|
return __awaiter(this, void 0, void 0, function* () {
|
|
141
141
|
try {
|
|
142
|
-
var kudu = new azure_arm_app_service_kudu_1.Kudu('http://MOCK_SCM_WEBSITE', '
|
|
142
|
+
var kudu = new azure_arm_app_service_kudu_1.Kudu('http://MOCK_SCM_WEBSITE', 'Bearer MOCK_SCM_BEARERTOKEN');
|
|
143
143
|
console.log(`MOCK KUDU SITE EXTENSIONS COUNT: ${(yield kudu.getAllSiteExtensions()).length}`);
|
|
144
144
|
}
|
|
145
145
|
catch (error) {
|
|
@@ -147,7 +147,7 @@ class KuduTests {
|
|
|
147
147
|
tl.setResult(tl.TaskResult.Failed, 'KuduTests.getAllSiteExtensions() should have passed but failed');
|
|
148
148
|
}
|
|
149
149
|
try {
|
|
150
|
-
var kudu = new azure_arm_app_service_kudu_1.Kudu('http://FAIL_MOCK_SCM_WEBSITE', '
|
|
150
|
+
var kudu = new azure_arm_app_service_kudu_1.Kudu('http://FAIL_MOCK_SCM_WEBSITE', 'Bearer MOCK_SCM_BEARERTOKEN');
|
|
151
151
|
yield kudu.getAllSiteExtensions();
|
|
152
152
|
tl.setResult(tl.TaskResult.Failed, 'KuduTests.getAllSiteExtensions() should have failed but passed');
|
|
153
153
|
}
|
|
@@ -159,7 +159,7 @@ class KuduTests {
|
|
|
159
159
|
static getProcess() {
|
|
160
160
|
return __awaiter(this, void 0, void 0, function* () {
|
|
161
161
|
try {
|
|
162
|
-
var kudu = new azure_arm_app_service_kudu_1.Kudu('http://MOCK_SCM_WEBSITE', '
|
|
162
|
+
var kudu = new azure_arm_app_service_kudu_1.Kudu('http://MOCK_SCM_WEBSITE', 'Bearer MOCK_SCM_BEARERTOKEN');
|
|
163
163
|
console.log(`MOCK KUDU PROCESS ID: ${(yield kudu.getProcess(0)).id}`);
|
|
164
164
|
}
|
|
165
165
|
catch (error) {
|
|
@@ -171,7 +171,7 @@ class KuduTests {
|
|
|
171
171
|
static killProcess() {
|
|
172
172
|
return __awaiter(this, void 0, void 0, function* () {
|
|
173
173
|
try {
|
|
174
|
-
var kudu = new azure_arm_app_service_kudu_1.Kudu('http://MOCK_SCM_WEBSITE', '
|
|
174
|
+
var kudu = new azure_arm_app_service_kudu_1.Kudu('http://MOCK_SCM_WEBSITE', 'Bearer MOCK_SCM_BEARERTOKEN');
|
|
175
175
|
yield kudu.killProcess(0);
|
|
176
176
|
console.log('KILLED PROCESS 0');
|
|
177
177
|
}
|
|
@@ -184,7 +184,7 @@ class KuduTests {
|
|
|
184
184
|
static getAppSettings() {
|
|
185
185
|
return __awaiter(this, void 0, void 0, function* () {
|
|
186
186
|
try {
|
|
187
|
-
var kudu = new azure_arm_app_service_kudu_1.Kudu('http://MOCK_SCM_WEBSITE', '
|
|
187
|
+
var kudu = new azure_arm_app_service_kudu_1.Kudu('http://MOCK_SCM_WEBSITE', 'Bearer MOCK_SCM_BEARERTOKEN');
|
|
188
188
|
var appSettings = yield kudu.getAppSettings();
|
|
189
189
|
console.log(`KUDU APP SETTINGS ${JSON.stringify(appSettings)}`);
|
|
190
190
|
}
|
|
@@ -193,7 +193,7 @@ class KuduTests {
|
|
|
193
193
|
tl.setResult(tl.TaskResult.Failed, 'KuduTests.getAppSettings() should have passed but failed');
|
|
194
194
|
}
|
|
195
195
|
try {
|
|
196
|
-
var kudu = new azure_arm_app_service_kudu_1.Kudu('http://FAIL_MOCK_SCM_WEBSITE', '
|
|
196
|
+
var kudu = new azure_arm_app_service_kudu_1.Kudu('http://FAIL_MOCK_SCM_WEBSITE', 'Bearer MOCK_SCM_BEARERTOKEN');
|
|
197
197
|
yield kudu.getAppSettings();
|
|
198
198
|
tl.setResult(tl.TaskResult.Failed, 'KuduTests.getAppSettings() should have failed but passed');
|
|
199
199
|
}
|
|
@@ -205,7 +205,7 @@ class KuduTests {
|
|
|
205
205
|
static listDir() {
|
|
206
206
|
return __awaiter(this, void 0, void 0, function* () {
|
|
207
207
|
try {
|
|
208
|
-
var kudu = new azure_arm_app_service_kudu_1.Kudu('http://MOCK_SCM_WEBSITE', '
|
|
208
|
+
var kudu = new azure_arm_app_service_kudu_1.Kudu('http://MOCK_SCM_WEBSITE', 'Bearer MOCK_SCM_BEARERTOKEN');
|
|
209
209
|
var listDir = yield kudu.listDir('/site/wwwroot');
|
|
210
210
|
console.log(`KUDU LIST DIR ${JSON.stringify(listDir)}`);
|
|
211
211
|
}
|
|
@@ -214,7 +214,7 @@ class KuduTests {
|
|
|
214
214
|
tl.setResult(tl.TaskResult.Failed, 'KuduTests.listDir() should have passed but failed');
|
|
215
215
|
}
|
|
216
216
|
try {
|
|
217
|
-
var kudu = new azure_arm_app_service_kudu_1.Kudu('http://FAIL_MOCK_SCM_WEBSITE', '
|
|
217
|
+
var kudu = new azure_arm_app_service_kudu_1.Kudu('http://FAIL_MOCK_SCM_WEBSITE', 'Bearer MOCK_SCM_BEARERTOKEN');
|
|
218
218
|
yield kudu.listDir('/site/wwwroot');
|
|
219
219
|
tl.setResult(tl.TaskResult.Failed, 'KuduTests.listDir() should have failed but passed');
|
|
220
220
|
}
|
|
@@ -226,7 +226,7 @@ class KuduTests {
|
|
|
226
226
|
static getFileContent() {
|
|
227
227
|
return __awaiter(this, void 0, void 0, function* () {
|
|
228
228
|
try {
|
|
229
|
-
var kudu = new azure_arm_app_service_kudu_1.Kudu('http://MOCK_SCM_WEBSITE', '
|
|
229
|
+
var kudu = new azure_arm_app_service_kudu_1.Kudu('http://MOCK_SCM_WEBSITE', 'Bearer MOCK_SCM_BEARERTOKEN');
|
|
230
230
|
var fileContent = yield kudu.getFileContent('/site/wwwroot', 'hello.txt');
|
|
231
231
|
console.log(`KUDU FILE CONTENT ${fileContent}`);
|
|
232
232
|
}
|
|
@@ -235,7 +235,7 @@ class KuduTests {
|
|
|
235
235
|
tl.setResult(tl.TaskResult.Failed, 'KuduTests.getFileContent() should have passed but failed');
|
|
236
236
|
}
|
|
237
237
|
try {
|
|
238
|
-
var kudu = new azure_arm_app_service_kudu_1.Kudu('http://MOCK_SCM_WEBSITE', '
|
|
238
|
+
var kudu = new azure_arm_app_service_kudu_1.Kudu('http://MOCK_SCM_WEBSITE', 'Bearer MOCK_SCM_BEARERTOKEN');
|
|
239
239
|
var fileContent = yield kudu.getFileContent('/site/wwwroot', '404.txt');
|
|
240
240
|
if (fileContent == null) {
|
|
241
241
|
console.log('KUDU FILE CONTENT 404 - PASSED');
|
|
@@ -249,7 +249,7 @@ class KuduTests {
|
|
|
249
249
|
tl.setResult(tl.TaskResult.Failed, 'KuduTests.getFileContent() should have passed but failed');
|
|
250
250
|
}
|
|
251
251
|
try {
|
|
252
|
-
var kudu = new azure_arm_app_service_kudu_1.Kudu('http://FAIL_MOCK_SCM_WEBSITE', '
|
|
252
|
+
var kudu = new azure_arm_app_service_kudu_1.Kudu('http://FAIL_MOCK_SCM_WEBSITE', 'Bearer MOCK_SCM_BEARERTOKEN');
|
|
253
253
|
yield kudu.getFileContent('/site/wwwroot', 'web.config');
|
|
254
254
|
tl.setResult(tl.TaskResult.Failed, 'KuduTests.getFileContent() should have failed but passed');
|
|
255
255
|
}
|
|
@@ -261,7 +261,7 @@ class KuduTests {
|
|
|
261
261
|
static uploadFile() {
|
|
262
262
|
return __awaiter(this, void 0, void 0, function* () {
|
|
263
263
|
try {
|
|
264
|
-
var kudu = new azure_arm_app_service_kudu_1.Kudu('http://MOCK_SCM_WEBSITE', '
|
|
264
|
+
var kudu = new azure_arm_app_service_kudu_1.Kudu('http://MOCK_SCM_WEBSITE', 'Bearer MOCK_SCM_BEARERTOKEN');
|
|
265
265
|
yield kudu.uploadFile('/site/wwwroot', 'hello.txt', path.join(__dirname, 'package.json'));
|
|
266
266
|
console.log('KUDU FILE UPLOAD HELLO.TXT PASSED');
|
|
267
267
|
}
|
|
@@ -270,7 +270,7 @@ class KuduTests {
|
|
|
270
270
|
tl.setResult(tl.TaskResult.Failed, 'KuduTests.uploadFile() should have passed but failed');
|
|
271
271
|
}
|
|
272
272
|
try {
|
|
273
|
-
var kudu = new azure_arm_app_service_kudu_1.Kudu('http://FAIL_MOCK_SCM_WEBSITE', '
|
|
273
|
+
var kudu = new azure_arm_app_service_kudu_1.Kudu('http://FAIL_MOCK_SCM_WEBSITE', 'Bearer MOCK_SCM_BEARERTOKEN');
|
|
274
274
|
yield kudu.uploadFile('/site/wwwroot', 'web.config', path.join(__dirname, 'package.json'));
|
|
275
275
|
tl.setResult(tl.TaskResult.Failed, 'KuduTests.uploadFile() should have failed but passed');
|
|
276
276
|
}
|
|
@@ -282,7 +282,7 @@ class KuduTests {
|
|
|
282
282
|
static createPath() {
|
|
283
283
|
return __awaiter(this, void 0, void 0, function* () {
|
|
284
284
|
try {
|
|
285
|
-
var kudu = new azure_arm_app_service_kudu_1.Kudu('http://MOCK_SCM_WEBSITE', '
|
|
285
|
+
var kudu = new azure_arm_app_service_kudu_1.Kudu('http://MOCK_SCM_WEBSITE', 'Bearer MOCK_SCM_BEARERTOKEN');
|
|
286
286
|
yield kudu.createPath('/site/wwwroot');
|
|
287
287
|
console.log('KUDU CREATE PATH SITE/WWWROOT PASSED');
|
|
288
288
|
}
|
|
@@ -291,7 +291,7 @@ class KuduTests {
|
|
|
291
291
|
tl.setResult(tl.TaskResult.Failed, 'KuduTests.createPath() should have passed but failed');
|
|
292
292
|
}
|
|
293
293
|
try {
|
|
294
|
-
var kudu = new azure_arm_app_service_kudu_1.Kudu('http://FAIL_MOCK_SCM_WEBSITE', '
|
|
294
|
+
var kudu = new azure_arm_app_service_kudu_1.Kudu('http://FAIL_MOCK_SCM_WEBSITE', 'Bearer MOCK_SCM_BEARERTOKEN');
|
|
295
295
|
yield kudu.createPath('/site/wwwroot');
|
|
296
296
|
tl.setResult(tl.TaskResult.Failed, 'KuduTests.createPath() should have failed but passed');
|
|
297
297
|
}
|
|
@@ -303,7 +303,7 @@ class KuduTests {
|
|
|
303
303
|
static runCommand() {
|
|
304
304
|
return __awaiter(this, void 0, void 0, function* () {
|
|
305
305
|
try {
|
|
306
|
-
var kudu = new azure_arm_app_service_kudu_1.Kudu('http://MOCK_SCM_WEBSITE', '
|
|
306
|
+
var kudu = new azure_arm_app_service_kudu_1.Kudu('http://MOCK_SCM_WEBSITE', 'Bearer MOCK_SCM_BEARERTOKEN');
|
|
307
307
|
yield kudu.runCommand('site\\wwwroot', 'echo hello');
|
|
308
308
|
console.log('KUDU RUN COMMAND PASSED');
|
|
309
309
|
}
|
|
@@ -312,7 +312,7 @@ class KuduTests {
|
|
|
312
312
|
tl.setResult(tl.TaskResult.Failed, 'KuduTests.runCommand() should have passed but failed');
|
|
313
313
|
}
|
|
314
314
|
try {
|
|
315
|
-
var kudu = new azure_arm_app_service_kudu_1.Kudu('http://FAIL_MOCK_SCM_WEBSITE', '
|
|
315
|
+
var kudu = new azure_arm_app_service_kudu_1.Kudu('http://FAIL_MOCK_SCM_WEBSITE', 'Bearer MOCK_SCM_BEARERTOKEN');
|
|
316
316
|
yield kudu.runCommand('site\\wwwroot', 'exit /b 1');
|
|
317
317
|
tl.setResult(tl.TaskResult.Failed, 'KuduTests.runCommand() should have failed but passed');
|
|
318
318
|
}
|
|
@@ -324,7 +324,7 @@ class KuduTests {
|
|
|
324
324
|
static extractZIP() {
|
|
325
325
|
return __awaiter(this, void 0, void 0, function* () {
|
|
326
326
|
try {
|
|
327
|
-
var kudu = new azure_arm_app_service_kudu_1.Kudu('http://MOCK_SCM_WEBSITE', '
|
|
327
|
+
var kudu = new azure_arm_app_service_kudu_1.Kudu('http://MOCK_SCM_WEBSITE', 'Bearer MOCK_SCM_BEARERTOKEN');
|
|
328
328
|
var listDir = yield kudu.extractZIP(path.join(__dirname, 'package.json'), '/site/wwwroot');
|
|
329
329
|
console.log('KUDU ZIP API PASSED');
|
|
330
330
|
}
|
|
@@ -333,7 +333,7 @@ class KuduTests {
|
|
|
333
333
|
tl.setResult(tl.TaskResult.Failed, 'KuduTests.extractZIP() should have passed but failed');
|
|
334
334
|
}
|
|
335
335
|
try {
|
|
336
|
-
var kudu = new azure_arm_app_service_kudu_1.Kudu('http://FAIL_MOCK_SCM_WEBSITE', '
|
|
336
|
+
var kudu = new azure_arm_app_service_kudu_1.Kudu('http://FAIL_MOCK_SCM_WEBSITE', 'Bearer MOCK_SCM_BEARERTOKEN');
|
|
337
337
|
yield kudu.extractZIP(path.join(__dirname, 'package.json'), '/site/wwwroot');
|
|
338
338
|
tl.setResult(tl.TaskResult.Failed, 'KuduTests.extractZIP() should have failed but passed');
|
|
339
339
|
}
|
|
@@ -345,7 +345,7 @@ class KuduTests {
|
|
|
345
345
|
static zipDeploy() {
|
|
346
346
|
return __awaiter(this, void 0, void 0, function* () {
|
|
347
347
|
try {
|
|
348
|
-
let kudu = new azure_arm_app_service_kudu_1.Kudu('http://MOCK_SCM_WEBSITE', '
|
|
348
|
+
let kudu = new azure_arm_app_service_kudu_1.Kudu('http://MOCK_SCM_WEBSITE', 'Bearer MOCK_SCM_BEARERTOKEN');
|
|
349
349
|
let deploymentDetails = yield kudu.zipDeploy(path.join(__dirname, 'package.json'), ['deployer=VSTS_ZIP_DEPLOY']);
|
|
350
350
|
console.log(`KUDU ZIP DEPLOY PASSED. ID: ${deploymentDetails.id}. STATUS: ${deploymentDetails.status}.`);
|
|
351
351
|
}
|
|
@@ -354,7 +354,7 @@ class KuduTests {
|
|
|
354
354
|
tl.setResult(tl.TaskResult.Failed, 'KuduTests.zipDeploy() should have passed but failed');
|
|
355
355
|
}
|
|
356
356
|
try {
|
|
357
|
-
let kudu = new azure_arm_app_service_kudu_1.Kudu('http://FAIL_MOCK_SCM_WEBSITE', '
|
|
357
|
+
let kudu = new azure_arm_app_service_kudu_1.Kudu('http://FAIL_MOCK_SCM_WEBSITE', 'Bearer MOCK_SCM_BEARERTOKEN');
|
|
358
358
|
let deploymentDetails = yield kudu.zipDeploy(path.join(__dirname, 'package.json'), ['deployer=VSTS_ZIP_DEPLOY']);
|
|
359
359
|
console.log(`KUDU ZIP DEPLOY FAILED. ID: ${deploymentDetails.id}. STATUS: ${deploymentDetails.status}.`);
|
|
360
360
|
}
|
|
@@ -366,7 +366,7 @@ class KuduTests {
|
|
|
366
366
|
static deleteFile() {
|
|
367
367
|
return __awaiter(this, void 0, void 0, function* () {
|
|
368
368
|
try {
|
|
369
|
-
var kudu = new azure_arm_app_service_kudu_1.Kudu('http://MOCK_SCM_WEBSITE', '
|
|
369
|
+
var kudu = new azure_arm_app_service_kudu_1.Kudu('http://MOCK_SCM_WEBSITE', 'Bearer MOCK_SCM_BEARERTOKEN');
|
|
370
370
|
yield kudu.deleteFile('/site/wwwroot', 'hello.txt');
|
|
371
371
|
console.log(`KUDU DELETE FILE PASSED`);
|
|
372
372
|
}
|
|
@@ -375,7 +375,7 @@ class KuduTests {
|
|
|
375
375
|
tl.setResult(tl.TaskResult.Failed, 'KuduTests.deleteFile() should have passed but failed');
|
|
376
376
|
}
|
|
377
377
|
try {
|
|
378
|
-
var kudu = new azure_arm_app_service_kudu_1.Kudu('http://FAIL_MOCK_SCM_WEBSITE', '
|
|
378
|
+
var kudu = new azure_arm_app_service_kudu_1.Kudu('http://FAIL_MOCK_SCM_WEBSITE', 'Bearer MOCK_SCM_BEARERTOKEN');
|
|
379
379
|
yield kudu.deleteFile('/site/wwwroot', 'web.config');
|
|
380
380
|
tl.setResult(tl.TaskResult.Failed, 'KuduTests.deleteFile() should have failed but passed');
|
|
381
381
|
}
|
|
@@ -11,7 +11,7 @@ export class KuduTests {
|
|
|
11
11
|
public static async updateDeployment() {
|
|
12
12
|
|
|
13
13
|
try {
|
|
14
|
-
var kudu = new Kudu('http://MOCK_SCM_WEBSITE', '
|
|
14
|
+
var kudu = new Kudu('http://MOCK_SCM_WEBSITE', 'Bearer MOCK_SCM_BEARERTOKEN');
|
|
15
15
|
await kudu.updateDeployment({id: 'MOCK_DEPLOYMENT_ID', type: 'Deployment'});
|
|
16
16
|
}
|
|
17
17
|
catch(error) {
|
|
@@ -20,7 +20,7 @@ export class KuduTests {
|
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
try {
|
|
23
|
-
var kudu = new Kudu('http://FAIL_MOCK_SCM_WEBSITE', '
|
|
23
|
+
var kudu = new Kudu('http://FAIL_MOCK_SCM_WEBSITE', 'Bearer MOCK_SCM_BEARERTOKEN');
|
|
24
24
|
await kudu.updateDeployment({id: 'MOCK_DEPLOYMENT_ID', type: 'Deployment'});
|
|
25
25
|
tl.setResult(tl.TaskResult.Failed, 'KuduTests.updateDeployment() should have failed but passed');
|
|
26
26
|
}
|
|
@@ -31,7 +31,7 @@ export class KuduTests {
|
|
|
31
31
|
|
|
32
32
|
public static async getContinuousJobs() {
|
|
33
33
|
try {
|
|
34
|
-
var kudu = new Kudu('http://MOCK_SCM_WEBSITE', '
|
|
34
|
+
var kudu = new Kudu('http://MOCK_SCM_WEBSITE', 'Bearer MOCK_SCM_BEARERTOKEN');
|
|
35
35
|
console.log(`MOCK KUDU CONTINUOUS JOBS COUNT: ${(await kudu.getContinuousJobs()).length}`);
|
|
36
36
|
}
|
|
37
37
|
catch(error) {
|
|
@@ -40,7 +40,7 @@ export class KuduTests {
|
|
|
40
40
|
}
|
|
41
41
|
|
|
42
42
|
try {
|
|
43
|
-
var kudu = new Kudu('http://FAIL_MOCK_SCM_WEBSITE', '
|
|
43
|
+
var kudu = new Kudu('http://FAIL_MOCK_SCM_WEBSITE', 'Bearer MOCK_SCM_BEARERTOKEN');
|
|
44
44
|
await kudu.getContinuousJobs();
|
|
45
45
|
tl.setResult(tl.TaskResult.Failed, 'KuduTests.getContinuousJobs() should have failed but passed');
|
|
46
46
|
}
|
|
@@ -51,7 +51,7 @@ export class KuduTests {
|
|
|
51
51
|
|
|
52
52
|
public static async startContinuousWebJob() {
|
|
53
53
|
try {
|
|
54
|
-
var kudu = new Kudu('http://MOCK_SCM_WEBSITE', '
|
|
54
|
+
var kudu = new Kudu('http://MOCK_SCM_WEBSITE', 'Bearer MOCK_SCM_BEARERTOKEN');
|
|
55
55
|
await kudu.startContinuousWebJob('MOCK_JOB_NAME');
|
|
56
56
|
}
|
|
57
57
|
catch(error) {
|
|
@@ -60,7 +60,7 @@ export class KuduTests {
|
|
|
60
60
|
}
|
|
61
61
|
|
|
62
62
|
try {
|
|
63
|
-
var kudu = new Kudu('http://FAIL_MOCK_SCM_WEBSITE', '
|
|
63
|
+
var kudu = new Kudu('http://FAIL_MOCK_SCM_WEBSITE', 'Bearer MOCK_SCM_BEARERTOKEN');
|
|
64
64
|
await kudu.startContinuousWebJob('MOCK_JOB_NAME');
|
|
65
65
|
tl.setResult(tl.TaskResult.Failed, 'KuduTests.startContinuousWebJob() should have failed but passed');
|
|
66
66
|
}
|
|
@@ -71,7 +71,7 @@ export class KuduTests {
|
|
|
71
71
|
|
|
72
72
|
public static async stopContinuousWebJob() {
|
|
73
73
|
try {
|
|
74
|
-
var kudu = new Kudu('http://MOCK_SCM_WEBSITE', '
|
|
74
|
+
var kudu = new Kudu('http://MOCK_SCM_WEBSITE', 'Bearer MOCK_SCM_BEARERTOKEN');
|
|
75
75
|
await kudu.stopContinuousWebJob('MOCK_JOB_NAME');
|
|
76
76
|
}
|
|
77
77
|
catch(error) {
|
|
@@ -80,7 +80,7 @@ export class KuduTests {
|
|
|
80
80
|
}
|
|
81
81
|
|
|
82
82
|
try {
|
|
83
|
-
var kudu = new Kudu('http://FAIL_MOCK_SCM_WEBSITE', '
|
|
83
|
+
var kudu = new Kudu('http://FAIL_MOCK_SCM_WEBSITE', 'Bearer MOCK_SCM_BEARERTOKEN');
|
|
84
84
|
await kudu.stopContinuousWebJob('MOCK_JOB_NAME');
|
|
85
85
|
tl.setResult(tl.TaskResult.Failed, 'KuduTests.stopContinuousWebJob() should have failed but passed');
|
|
86
86
|
}
|
|
@@ -91,7 +91,7 @@ export class KuduTests {
|
|
|
91
91
|
|
|
92
92
|
public static async installSiteExtension() {
|
|
93
93
|
try {
|
|
94
|
-
var kudu = new Kudu('http://MOCK_SCM_WEBSITE', '
|
|
94
|
+
var kudu = new Kudu('http://MOCK_SCM_WEBSITE', 'Bearer MOCK_SCM_BEARERTOKEN');
|
|
95
95
|
await kudu.installSiteExtension('MOCK_EXTENSION');
|
|
96
96
|
}
|
|
97
97
|
catch(error) {
|
|
@@ -100,7 +100,7 @@ export class KuduTests {
|
|
|
100
100
|
}
|
|
101
101
|
|
|
102
102
|
try {
|
|
103
|
-
var kudu = new Kudu('http://FAIL_MOCK_SCM_WEBSITE', '
|
|
103
|
+
var kudu = new Kudu('http://FAIL_MOCK_SCM_WEBSITE', 'Bearer MOCK_SCM_BEARERTOKEN');
|
|
104
104
|
await kudu.installSiteExtension('MOCK_EXTENSION');
|
|
105
105
|
tl.setResult(tl.TaskResult.Failed, 'KuduTests.installSiteExtension() should have failed but passed');
|
|
106
106
|
}
|
|
@@ -111,7 +111,7 @@ export class KuduTests {
|
|
|
111
111
|
|
|
112
112
|
public static async getSiteExtensions() {
|
|
113
113
|
try {
|
|
114
|
-
var kudu = new Kudu('http://MOCK_SCM_WEBSITE', '
|
|
114
|
+
var kudu = new Kudu('http://MOCK_SCM_WEBSITE', 'Bearer MOCK_SCM_BEARERTOKEN');
|
|
115
115
|
console.log(`MOCK KUDU SITE EXTENSIONS COUNT: ${(await kudu.getSiteExtensions()).length}`);
|
|
116
116
|
}
|
|
117
117
|
catch(error) {
|
|
@@ -120,7 +120,7 @@ export class KuduTests {
|
|
|
120
120
|
}
|
|
121
121
|
|
|
122
122
|
try {
|
|
123
|
-
var kudu = new Kudu('http://FAIL_MOCK_SCM_WEBSITE', '
|
|
123
|
+
var kudu = new Kudu('http://FAIL_MOCK_SCM_WEBSITE', 'Bearer MOCK_SCM_BEARERTOKEN');
|
|
124
124
|
await kudu.getSiteExtensions();
|
|
125
125
|
tl.setResult(tl.TaskResult.Failed, 'KuduTests.getSiteExtensions() should have failed but passed');
|
|
126
126
|
}
|
|
@@ -131,7 +131,7 @@ export class KuduTests {
|
|
|
131
131
|
|
|
132
132
|
public static async getAllSiteExtensions() {
|
|
133
133
|
try {
|
|
134
|
-
var kudu = new Kudu('http://MOCK_SCM_WEBSITE', '
|
|
134
|
+
var kudu = new Kudu('http://MOCK_SCM_WEBSITE', 'Bearer MOCK_SCM_BEARERTOKEN');
|
|
135
135
|
console.log(`MOCK KUDU SITE EXTENSIONS COUNT: ${(await kudu.getAllSiteExtensions()).length}`);
|
|
136
136
|
}
|
|
137
137
|
catch(error) {
|
|
@@ -140,7 +140,7 @@ export class KuduTests {
|
|
|
140
140
|
}
|
|
141
141
|
|
|
142
142
|
try {
|
|
143
|
-
var kudu = new Kudu('http://FAIL_MOCK_SCM_WEBSITE', '
|
|
143
|
+
var kudu = new Kudu('http://FAIL_MOCK_SCM_WEBSITE', 'Bearer MOCK_SCM_BEARERTOKEN');
|
|
144
144
|
await kudu.getAllSiteExtensions();
|
|
145
145
|
tl.setResult(tl.TaskResult.Failed, 'KuduTests.getAllSiteExtensions() should have failed but passed');
|
|
146
146
|
}
|
|
@@ -151,7 +151,7 @@ export class KuduTests {
|
|
|
151
151
|
|
|
152
152
|
public static async getProcess() {
|
|
153
153
|
try {
|
|
154
|
-
var kudu = new Kudu('http://MOCK_SCM_WEBSITE', '
|
|
154
|
+
var kudu = new Kudu('http://MOCK_SCM_WEBSITE', 'Bearer MOCK_SCM_BEARERTOKEN');
|
|
155
155
|
console.log(`MOCK KUDU PROCESS ID: ${(await kudu.getProcess(0)).id}`);
|
|
156
156
|
}
|
|
157
157
|
catch(error) {
|
|
@@ -162,7 +162,7 @@ export class KuduTests {
|
|
|
162
162
|
|
|
163
163
|
public static async killProcess() {
|
|
164
164
|
try {
|
|
165
|
-
var kudu = new Kudu('http://MOCK_SCM_WEBSITE', '
|
|
165
|
+
var kudu = new Kudu('http://MOCK_SCM_WEBSITE', 'Bearer MOCK_SCM_BEARERTOKEN');
|
|
166
166
|
await kudu.killProcess(0);
|
|
167
167
|
console.log('KILLED PROCESS 0');
|
|
168
168
|
}
|
|
@@ -174,7 +174,7 @@ export class KuduTests {
|
|
|
174
174
|
|
|
175
175
|
public static async getAppSettings() {
|
|
176
176
|
try {
|
|
177
|
-
var kudu = new Kudu('http://MOCK_SCM_WEBSITE', '
|
|
177
|
+
var kudu = new Kudu('http://MOCK_SCM_WEBSITE', 'Bearer MOCK_SCM_BEARERTOKEN');
|
|
178
178
|
var appSettings = await kudu.getAppSettings();
|
|
179
179
|
console.log(`KUDU APP SETTINGS ${JSON.stringify(appSettings)}`);
|
|
180
180
|
}
|
|
@@ -184,7 +184,7 @@ export class KuduTests {
|
|
|
184
184
|
}
|
|
185
185
|
|
|
186
186
|
try {
|
|
187
|
-
var kudu = new Kudu('http://FAIL_MOCK_SCM_WEBSITE', '
|
|
187
|
+
var kudu = new Kudu('http://FAIL_MOCK_SCM_WEBSITE', 'Bearer MOCK_SCM_BEARERTOKEN');
|
|
188
188
|
await kudu.getAppSettings();
|
|
189
189
|
tl.setResult(tl.TaskResult.Failed, 'KuduTests.getAppSettings() should have failed but passed');
|
|
190
190
|
}
|
|
@@ -195,7 +195,7 @@ export class KuduTests {
|
|
|
195
195
|
|
|
196
196
|
public static async listDir() {
|
|
197
197
|
try {
|
|
198
|
-
var kudu = new Kudu('http://MOCK_SCM_WEBSITE', '
|
|
198
|
+
var kudu = new Kudu('http://MOCK_SCM_WEBSITE', 'Bearer MOCK_SCM_BEARERTOKEN');
|
|
199
199
|
var listDir = await kudu.listDir('/site/wwwroot');
|
|
200
200
|
console.log(`KUDU LIST DIR ${JSON.stringify(listDir)}`);
|
|
201
201
|
}
|
|
@@ -205,7 +205,7 @@ export class KuduTests {
|
|
|
205
205
|
}
|
|
206
206
|
|
|
207
207
|
try {
|
|
208
|
-
var kudu = new Kudu('http://FAIL_MOCK_SCM_WEBSITE', '
|
|
208
|
+
var kudu = new Kudu('http://FAIL_MOCK_SCM_WEBSITE', 'Bearer MOCK_SCM_BEARERTOKEN');
|
|
209
209
|
await kudu.listDir('/site/wwwroot');
|
|
210
210
|
tl.setResult(tl.TaskResult.Failed, 'KuduTests.listDir() should have failed but passed');
|
|
211
211
|
}
|
|
@@ -216,7 +216,7 @@ export class KuduTests {
|
|
|
216
216
|
|
|
217
217
|
public static async getFileContent() {
|
|
218
218
|
try {
|
|
219
|
-
var kudu = new Kudu('http://MOCK_SCM_WEBSITE', '
|
|
219
|
+
var kudu = new Kudu('http://MOCK_SCM_WEBSITE', 'Bearer MOCK_SCM_BEARERTOKEN');
|
|
220
220
|
var fileContent: string = await kudu.getFileContent('/site/wwwroot', 'hello.txt');
|
|
221
221
|
console.log(`KUDU FILE CONTENT ${fileContent}`);
|
|
222
222
|
}
|
|
@@ -226,7 +226,7 @@ export class KuduTests {
|
|
|
226
226
|
}
|
|
227
227
|
|
|
228
228
|
try {
|
|
229
|
-
var kudu = new Kudu('http://MOCK_SCM_WEBSITE', '
|
|
229
|
+
var kudu = new Kudu('http://MOCK_SCM_WEBSITE', 'Bearer MOCK_SCM_BEARERTOKEN');
|
|
230
230
|
var fileContent: string = await kudu.getFileContent('/site/wwwroot', '404.txt');
|
|
231
231
|
if(fileContent == null) {
|
|
232
232
|
console.log('KUDU FILE CONTENT 404 - PASSED');
|
|
@@ -241,7 +241,7 @@ export class KuduTests {
|
|
|
241
241
|
}
|
|
242
242
|
|
|
243
243
|
try {
|
|
244
|
-
var kudu = new Kudu('http://FAIL_MOCK_SCM_WEBSITE', '
|
|
244
|
+
var kudu = new Kudu('http://FAIL_MOCK_SCM_WEBSITE', 'Bearer MOCK_SCM_BEARERTOKEN');
|
|
245
245
|
await kudu.getFileContent('/site/wwwroot', 'web.config');
|
|
246
246
|
tl.setResult(tl.TaskResult.Failed, 'KuduTests.getFileContent() should have failed but passed');
|
|
247
247
|
}
|
|
@@ -252,7 +252,7 @@ export class KuduTests {
|
|
|
252
252
|
|
|
253
253
|
public static async uploadFile() {
|
|
254
254
|
try {
|
|
255
|
-
var kudu = new Kudu('http://MOCK_SCM_WEBSITE', '
|
|
255
|
+
var kudu = new Kudu('http://MOCK_SCM_WEBSITE', 'Bearer MOCK_SCM_BEARERTOKEN');
|
|
256
256
|
await kudu.uploadFile('/site/wwwroot', 'hello.txt', path.join(__dirname, 'package.json'));
|
|
257
257
|
console.log('KUDU FILE UPLOAD HELLO.TXT PASSED');
|
|
258
258
|
}
|
|
@@ -262,7 +262,7 @@ export class KuduTests {
|
|
|
262
262
|
}
|
|
263
263
|
|
|
264
264
|
try {
|
|
265
|
-
var kudu = new Kudu('http://FAIL_MOCK_SCM_WEBSITE', '
|
|
265
|
+
var kudu = new Kudu('http://FAIL_MOCK_SCM_WEBSITE', 'Bearer MOCK_SCM_BEARERTOKEN');
|
|
266
266
|
await kudu.uploadFile('/site/wwwroot', 'web.config', path.join(__dirname, 'package.json'));
|
|
267
267
|
tl.setResult(tl.TaskResult.Failed, 'KuduTests.uploadFile() should have failed but passed');
|
|
268
268
|
}
|
|
@@ -273,7 +273,7 @@ export class KuduTests {
|
|
|
273
273
|
|
|
274
274
|
public static async createPath() {
|
|
275
275
|
try {
|
|
276
|
-
var kudu = new Kudu('http://MOCK_SCM_WEBSITE', '
|
|
276
|
+
var kudu = new Kudu('http://MOCK_SCM_WEBSITE', 'Bearer MOCK_SCM_BEARERTOKEN');
|
|
277
277
|
await kudu.createPath('/site/wwwroot');
|
|
278
278
|
console.log('KUDU CREATE PATH SITE/WWWROOT PASSED');
|
|
279
279
|
}
|
|
@@ -283,7 +283,7 @@ export class KuduTests {
|
|
|
283
283
|
}
|
|
284
284
|
|
|
285
285
|
try {
|
|
286
|
-
var kudu = new Kudu('http://FAIL_MOCK_SCM_WEBSITE', '
|
|
286
|
+
var kudu = new Kudu('http://FAIL_MOCK_SCM_WEBSITE', 'Bearer MOCK_SCM_BEARERTOKEN');
|
|
287
287
|
await kudu.createPath('/site/wwwroot');
|
|
288
288
|
tl.setResult(tl.TaskResult.Failed, 'KuduTests.createPath() should have failed but passed');
|
|
289
289
|
}
|
|
@@ -294,7 +294,7 @@ export class KuduTests {
|
|
|
294
294
|
|
|
295
295
|
public static async runCommand() {
|
|
296
296
|
try {
|
|
297
|
-
var kudu = new Kudu('http://MOCK_SCM_WEBSITE', '
|
|
297
|
+
var kudu = new Kudu('http://MOCK_SCM_WEBSITE', 'Bearer MOCK_SCM_BEARERTOKEN');
|
|
298
298
|
await kudu.runCommand('site\\wwwroot', 'echo hello');
|
|
299
299
|
console.log('KUDU RUN COMMAND PASSED');
|
|
300
300
|
}
|
|
@@ -304,7 +304,7 @@ export class KuduTests {
|
|
|
304
304
|
}
|
|
305
305
|
|
|
306
306
|
try {
|
|
307
|
-
var kudu = new Kudu('http://FAIL_MOCK_SCM_WEBSITE', '
|
|
307
|
+
var kudu = new Kudu('http://FAIL_MOCK_SCM_WEBSITE', 'Bearer MOCK_SCM_BEARERTOKEN');
|
|
308
308
|
await kudu.runCommand('site\\wwwroot', 'exit /b 1');
|
|
309
309
|
tl.setResult(tl.TaskResult.Failed, 'KuduTests.runCommand() should have failed but passed');
|
|
310
310
|
}
|
|
@@ -315,7 +315,7 @@ export class KuduTests {
|
|
|
315
315
|
|
|
316
316
|
public static async extractZIP() {
|
|
317
317
|
try {
|
|
318
|
-
var kudu = new Kudu('http://MOCK_SCM_WEBSITE', '
|
|
318
|
+
var kudu = new Kudu('http://MOCK_SCM_WEBSITE', 'Bearer MOCK_SCM_BEARERTOKEN');
|
|
319
319
|
var listDir = await kudu.extractZIP(path.join(__dirname, 'package.json'), '/site/wwwroot');
|
|
320
320
|
console.log('KUDU ZIP API PASSED');
|
|
321
321
|
}
|
|
@@ -325,7 +325,7 @@ export class KuduTests {
|
|
|
325
325
|
}
|
|
326
326
|
|
|
327
327
|
try {
|
|
328
|
-
var kudu = new Kudu('http://FAIL_MOCK_SCM_WEBSITE', '
|
|
328
|
+
var kudu = new Kudu('http://FAIL_MOCK_SCM_WEBSITE', 'Bearer MOCK_SCM_BEARERTOKEN');
|
|
329
329
|
await kudu.extractZIP(path.join(__dirname, 'package.json'), '/site/wwwroot');
|
|
330
330
|
tl.setResult(tl.TaskResult.Failed, 'KuduTests.extractZIP() should have failed but passed');
|
|
331
331
|
}
|
|
@@ -336,7 +336,7 @@ export class KuduTests {
|
|
|
336
336
|
|
|
337
337
|
public static async zipDeploy() {
|
|
338
338
|
try {
|
|
339
|
-
let kudu = new Kudu('http://MOCK_SCM_WEBSITE', '
|
|
339
|
+
let kudu = new Kudu('http://MOCK_SCM_WEBSITE', 'Bearer MOCK_SCM_BEARERTOKEN');
|
|
340
340
|
let deploymentDetails = await kudu.zipDeploy(path.join(__dirname, 'package.json'), ['deployer=VSTS_ZIP_DEPLOY']);
|
|
341
341
|
console.log(`KUDU ZIP DEPLOY PASSED. ID: ${deploymentDetails.id}. STATUS: ${deploymentDetails.status}.`);
|
|
342
342
|
}
|
|
@@ -346,7 +346,7 @@ export class KuduTests {
|
|
|
346
346
|
}
|
|
347
347
|
|
|
348
348
|
try {
|
|
349
|
-
let kudu = new Kudu('http://FAIL_MOCK_SCM_WEBSITE', '
|
|
349
|
+
let kudu = new Kudu('http://FAIL_MOCK_SCM_WEBSITE', 'Bearer MOCK_SCM_BEARERTOKEN');
|
|
350
350
|
let deploymentDetails = await kudu.zipDeploy(path.join(__dirname, 'package.json'), ['deployer=VSTS_ZIP_DEPLOY']);
|
|
351
351
|
console.log(`KUDU ZIP DEPLOY FAILED. ID: ${deploymentDetails.id}. STATUS: ${deploymentDetails.status}.`);
|
|
352
352
|
}
|
|
@@ -357,7 +357,7 @@ export class KuduTests {
|
|
|
357
357
|
|
|
358
358
|
public static async deleteFile() {
|
|
359
359
|
try {
|
|
360
|
-
var kudu = new Kudu('http://MOCK_SCM_WEBSITE', '
|
|
360
|
+
var kudu = new Kudu('http://MOCK_SCM_WEBSITE', 'Bearer MOCK_SCM_BEARERTOKEN');
|
|
361
361
|
await kudu.deleteFile('/site/wwwroot', 'hello.txt');
|
|
362
362
|
console.log(`KUDU DELETE FILE PASSED`);
|
|
363
363
|
}
|
|
@@ -367,7 +367,7 @@ export class KuduTests {
|
|
|
367
367
|
}
|
|
368
368
|
|
|
369
369
|
try {
|
|
370
|
-
var kudu = new Kudu('http://FAIL_MOCK_SCM_WEBSITE', '
|
|
370
|
+
var kudu = new Kudu('http://FAIL_MOCK_SCM_WEBSITE', 'Bearer MOCK_SCM_BEARERTOKEN');
|
|
371
371
|
await kudu.deleteFile('/site/wwwroot', 'web.config');
|
|
372
372
|
tl.setResult(tl.TaskResult.Failed, 'KuduTests.deleteFile() should have failed but passed');
|
|
373
373
|
}
|
|
@@ -2,16 +2,16 @@ import webClient = require('./webClient');
|
|
|
2
2
|
import { WebJob, SiteExtension } from './azureModels';
|
|
3
3
|
export declare class KuduServiceManagementClient {
|
|
4
4
|
private _scmUri;
|
|
5
|
-
private
|
|
5
|
+
private _authHeader;
|
|
6
6
|
private _cookie;
|
|
7
|
-
constructor(scmUri: string,
|
|
7
|
+
constructor(scmUri: string, authHeader: string);
|
|
8
8
|
beginRequest(request: webClient.WebRequest, reqOptions?: webClient.WebRequestOptions, contentType?: string): Promise<webClient.WebResponse>;
|
|
9
9
|
getRequestUri(uriFormat: string, queryParameters?: Array<string>): string;
|
|
10
10
|
getScmUri(): string;
|
|
11
11
|
}
|
|
12
12
|
export declare class Kudu {
|
|
13
13
|
private _client;
|
|
14
|
-
constructor(scmUri: string,
|
|
14
|
+
constructor(scmUri: string, authHeader: string);
|
|
15
15
|
updateDeployment(requestBody: any): Promise<string>;
|
|
16
16
|
getContinuousJobs(): Promise<Array<WebJob>>;
|
|
17
17
|
startContinuousWebJob(jobName: string): Promise<WebJob>;
|
|
@@ -16,14 +16,14 @@ const util = require("util");
|
|
|
16
16
|
const webClient = require("./webClient");
|
|
17
17
|
const constants_1 = require("./constants");
|
|
18
18
|
class KuduServiceManagementClient {
|
|
19
|
-
constructor(scmUri,
|
|
20
|
-
this.
|
|
19
|
+
constructor(scmUri, authHeader) {
|
|
20
|
+
this._authHeader = authHeader;
|
|
21
21
|
this._scmUri = scmUri;
|
|
22
22
|
}
|
|
23
23
|
beginRequest(request, reqOptions, contentType) {
|
|
24
24
|
return __awaiter(this, void 0, void 0, function* () {
|
|
25
25
|
request.headers = request.headers || {};
|
|
26
|
-
request.headers["Authorization"] =
|
|
26
|
+
request.headers["Authorization"] = this._authHeader;
|
|
27
27
|
request.headers['Content-Type'] = contentType || 'application/json; charset=utf-8';
|
|
28
28
|
if (!!this._cookie) {
|
|
29
29
|
tl.debug(`setting affinity cookie ${JSON.stringify(this._cookie)}`);
|
|
@@ -69,9 +69,8 @@ class KuduServiceManagementClient {
|
|
|
69
69
|
}
|
|
70
70
|
exports.KuduServiceManagementClient = KuduServiceManagementClient;
|
|
71
71
|
class Kudu {
|
|
72
|
-
constructor(scmUri,
|
|
73
|
-
|
|
74
|
-
this._client = new KuduServiceManagementClient(scmUri, base64EncodedCredential);
|
|
72
|
+
constructor(scmUri, authHeader) {
|
|
73
|
+
this._client = new KuduServiceManagementClient(scmUri, authHeader);
|
|
75
74
|
}
|
|
76
75
|
updateDeployment(requestBody) {
|
|
77
76
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -7,17 +7,17 @@ import { KUDU_DEPLOYMENT_CONSTANTS } from './constants';
|
|
|
7
7
|
|
|
8
8
|
export class KuduServiceManagementClient {
|
|
9
9
|
private _scmUri;
|
|
10
|
-
private
|
|
10
|
+
private _authHeader: string;
|
|
11
11
|
private _cookie: string[];
|
|
12
12
|
|
|
13
|
-
constructor(scmUri: string,
|
|
14
|
-
this.
|
|
13
|
+
constructor(scmUri: string, authHeader: string) {
|
|
14
|
+
this._authHeader = authHeader;
|
|
15
15
|
this._scmUri = scmUri;
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
public async beginRequest(request: webClient.WebRequest, reqOptions?: webClient.WebRequestOptions, contentType?: string): Promise<webClient.WebResponse> {
|
|
19
19
|
request.headers = request.headers || {};
|
|
20
|
-
request.headers["Authorization"] =
|
|
20
|
+
request.headers["Authorization"] = this._authHeader;
|
|
21
21
|
request.headers['Content-Type'] = contentType || 'application/json; charset=utf-8';
|
|
22
22
|
|
|
23
23
|
if(!!this._cookie) {
|
|
@@ -75,9 +75,8 @@ export class KuduServiceManagementClient {
|
|
|
75
75
|
export class Kudu {
|
|
76
76
|
private _client: KuduServiceManagementClient;
|
|
77
77
|
|
|
78
|
-
constructor(scmUri: string,
|
|
79
|
-
|
|
80
|
-
this._client = new KuduServiceManagementClient(scmUri, base64EncodedCredential);
|
|
78
|
+
constructor(scmUri: string, authHeader: string) {
|
|
79
|
+
this._client = new KuduServiceManagementClient(scmUri, authHeader);
|
|
81
80
|
}
|
|
82
81
|
|
|
83
82
|
public async updateDeployment(requestBody: any): Promise<string> {
|
|
@@ -38,6 +38,7 @@ export declare class AzureAppService {
|
|
|
38
38
|
updateMetadata(applicationSettings: any): Promise<AzureAppServiceConfigurationDetails>;
|
|
39
39
|
patchMetadata(properties: any): Promise<void>;
|
|
40
40
|
getSlot(): string;
|
|
41
|
+
getSitePublishingCredentialPolicies(): Promise<any>;
|
|
41
42
|
private _getPublishingProfileWithSecrets;
|
|
42
43
|
private _getApplicationSettings;
|
|
43
44
|
private _getConnectionStrings;
|
|
@@ -515,6 +515,27 @@ class AzureAppService {
|
|
|
515
515
|
getSlot() {
|
|
516
516
|
return this._slot ? this._slot : "production";
|
|
517
517
|
}
|
|
518
|
+
getSitePublishingCredentialPolicies() {
|
|
519
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
520
|
+
try {
|
|
521
|
+
var httpRequest = new webClient.WebRequest();
|
|
522
|
+
httpRequest.method = 'GET';
|
|
523
|
+
var slotUrl = !!this._slot ? `/slots/${this._slot}` : '';
|
|
524
|
+
httpRequest.uri = this._client.getRequestUri(`//subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/${slotUrl}/basicPublishingCredentialsPolicies/scm`, {
|
|
525
|
+
'{resourceGroupName}': this._resourceGroup,
|
|
526
|
+
'{name}': this._name,
|
|
527
|
+
}, null, '2022-03-01');
|
|
528
|
+
var response = yield this._client.beginRequest(httpRequest);
|
|
529
|
+
if (response.statusCode != 200) {
|
|
530
|
+
throw AzureServiceClient_1.ToError(response);
|
|
531
|
+
}
|
|
532
|
+
return response.body;
|
|
533
|
+
}
|
|
534
|
+
catch (error) {
|
|
535
|
+
throw Error(`Failed to get SitePublishingCredentialPolicies. Error: ${this._client.getFormattedError(error)}`);
|
|
536
|
+
}
|
|
537
|
+
});
|
|
538
|
+
}
|
|
518
539
|
_getPublishingProfileWithSecrets() {
|
|
519
540
|
return __awaiter(this, void 0, void 0, function* () {
|
|
520
541
|
try {
|
|
@@ -555,6 +555,29 @@ export class AzureAppService {
|
|
|
555
555
|
return this._slot ? this._slot : "production";
|
|
556
556
|
}
|
|
557
557
|
|
|
558
|
+
public async getSitePublishingCredentialPolicies(): Promise<any> {
|
|
559
|
+
try {
|
|
560
|
+
var httpRequest = new webClient.WebRequest();
|
|
561
|
+
httpRequest.method = 'GET';
|
|
562
|
+
var slotUrl: string = !!this._slot ? `/slots/${this._slot}` : '';
|
|
563
|
+
httpRequest.uri = this._client.getRequestUri(`//subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/${slotUrl}/basicPublishingCredentialsPolicies/scm`,
|
|
564
|
+
{
|
|
565
|
+
'{resourceGroupName}': this._resourceGroup,
|
|
566
|
+
'{name}': this._name,
|
|
567
|
+
}, null, '2022-03-01');
|
|
568
|
+
|
|
569
|
+
var response = await this._client.beginRequest(httpRequest);
|
|
570
|
+
if(response.statusCode != 200) {
|
|
571
|
+
throw ToError(response);
|
|
572
|
+
}
|
|
573
|
+
|
|
574
|
+
return response.body;
|
|
575
|
+
}
|
|
576
|
+
catch(error) {
|
|
577
|
+
throw Error(`Failed to get SitePublishingCredentialPolicies. Error: ${this._client.getFormattedError(error)}`);
|
|
578
|
+
}
|
|
579
|
+
}
|
|
580
|
+
|
|
558
581
|
private async _getPublishingProfileWithSecrets(): Promise<any> {
|
|
559
582
|
try {
|
|
560
583
|
var httpRequest = new webClient.WebRequest();
|
|
@@ -9,12 +9,14 @@ export declare class AzureAppServiceUtility {
|
|
|
9
9
|
pingApplication(): Promise<void>;
|
|
10
10
|
static pingApplication(applicationUrl: string): Promise<void>;
|
|
11
11
|
getKuduService(): Promise<Kudu>;
|
|
12
|
+
private getKuduAuthHeader;
|
|
12
13
|
getPhysicalPath(virtualApplication: string): Promise<string>;
|
|
13
14
|
updateConfigurationSettings(properties: any, formatJSON?: boolean): Promise<void>;
|
|
14
15
|
updateAndMonitorAppSettings(addProperties?: any, deleteProperties?: any, formatJSON?: boolean): Promise<boolean>;
|
|
15
16
|
updateConnectionStrings(addProperties: any): Promise<boolean>;
|
|
16
17
|
enableRenameLockedFiles(): Promise<void>;
|
|
17
18
|
updateStartupCommandAndRuntimeStack(runtimeStack: string, startupCommand?: string): Promise<void>;
|
|
19
|
+
isSitePublishingCredentialsEnabled(): Promise<boolean>;
|
|
18
20
|
private _getPhysicalToVirtualPathMap;
|
|
19
21
|
private _getNewMetadata;
|
|
20
22
|
}
|
|
@@ -129,12 +129,29 @@ class AzureAppServiceUtility {
|
|
|
129
129
|
}
|
|
130
130
|
getKuduService() {
|
|
131
131
|
return __awaiter(this, void 0, void 0, function* () {
|
|
132
|
-
|
|
133
|
-
|
|
132
|
+
const publishingCredentials = yield this._appService.getPublishingCredentials();
|
|
133
|
+
const scmUri = publishingCredentials.properties["scmUri"];
|
|
134
|
+
if (!scmUri) {
|
|
135
|
+
throw Error(tl.loc('KuduSCMDetailsAreEmpty'));
|
|
136
|
+
}
|
|
137
|
+
const authHeader = yield this.getKuduAuthHeader(publishingCredentials);
|
|
138
|
+
return new azure_arm_app_service_kudu_1.Kudu(publishingCredentials.properties["scmUri"], authHeader);
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
getKuduAuthHeader(publishingCredentials) {
|
|
142
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
143
|
+
const scmPolicyCheck = yield this.isSitePublishingCredentialsEnabled();
|
|
144
|
+
if (scmPolicyCheck === false) {
|
|
145
|
+
tl.debug('Kudu: Getting Bearer token');
|
|
146
|
+
const accessToken = yield this._appService._client.getCredentials().getToken();
|
|
147
|
+
return "Bearer " + accessToken;
|
|
148
|
+
}
|
|
149
|
+
else {
|
|
134
150
|
tl.setVariable(`AZURE_APP_SERVICE_KUDU_${this._appService.getSlot()}_PASSWORD`, publishingCredentials.properties["publishingPassword"], true);
|
|
135
|
-
|
|
151
|
+
var accessToken = (new Buffer(publishingCredentials.properties["publishingUserName"] + ':' + publishingCredentials.properties["publishingPassword"]).toString('base64'));
|
|
152
|
+
tl.debug("Kudu: using basic auth.");
|
|
153
|
+
return "Basic " + accessToken;
|
|
136
154
|
}
|
|
137
|
-
throw Error(tl.loc('KuduSCMDetailsAreEmpty'));
|
|
138
155
|
});
|
|
139
156
|
}
|
|
140
157
|
getPhysicalPath(virtualApplication) {
|
|
@@ -269,6 +286,26 @@ class AzureAppServiceUtility {
|
|
|
269
286
|
}
|
|
270
287
|
});
|
|
271
288
|
}
|
|
289
|
+
isSitePublishingCredentialsEnabled() {
|
|
290
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
291
|
+
try {
|
|
292
|
+
let scmAuthPolicy = yield this._appService.getSitePublishingCredentialPolicies();
|
|
293
|
+
tl.debug(`Site Publishing Policy check: ${JSON.stringify(scmAuthPolicy)}`);
|
|
294
|
+
if (scmAuthPolicy && scmAuthPolicy.properties.allow) {
|
|
295
|
+
tl.debug("Function App does allow SCM access");
|
|
296
|
+
return true;
|
|
297
|
+
}
|
|
298
|
+
else {
|
|
299
|
+
tl.debug("Function App does not allow SCM Access");
|
|
300
|
+
return false;
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
catch (error) {
|
|
304
|
+
tl.debug(`Call to get SCM Policy check failed: ${error}`);
|
|
305
|
+
return false;
|
|
306
|
+
}
|
|
307
|
+
});
|
|
308
|
+
}
|
|
272
309
|
_getPhysicalToVirtualPathMap(virtualApplication) {
|
|
273
310
|
return __awaiter(this, void 0, void 0, function* () {
|
|
274
311
|
// construct URL depending on virtualApplication or root of webapplication
|
|
@@ -118,14 +118,33 @@ export class AzureAppServiceUtility {
|
|
|
118
118
|
}
|
|
119
119
|
}
|
|
120
120
|
|
|
121
|
-
public async getKuduService(): Promise<Kudu> {
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
121
|
+
public async getKuduService(): Promise<Kudu> {
|
|
122
|
+
|
|
123
|
+
const publishingCredentials = await this._appService.getPublishingCredentials();
|
|
124
|
+
const scmUri = publishingCredentials.properties["scmUri"];
|
|
125
|
+
|
|
126
|
+
if (!scmUri) {
|
|
127
|
+
throw Error(tl.loc('KuduSCMDetailsAreEmpty'));
|
|
126
128
|
}
|
|
127
129
|
|
|
128
|
-
|
|
130
|
+
const authHeader = await this.getKuduAuthHeader(publishingCredentials);
|
|
131
|
+
return new Kudu(publishingCredentials.properties["scmUri"], authHeader);
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
private async getKuduAuthHeader(publishingCredentials: any): Promise<string> {
|
|
135
|
+
const scmPolicyCheck = await this.isSitePublishingCredentialsEnabled();
|
|
136
|
+
|
|
137
|
+
if(scmPolicyCheck === false) {
|
|
138
|
+
tl.debug('Kudu: Getting Bearer token');
|
|
139
|
+
const accessToken = await this._appService._client.getCredentials().getToken();
|
|
140
|
+
return "Bearer " + accessToken;
|
|
141
|
+
} else {
|
|
142
|
+
tl.setVariable(`AZURE_APP_SERVICE_KUDU_${this._appService.getSlot()}_PASSWORD`, publishingCredentials.properties["publishingPassword"], true);
|
|
143
|
+
var accessToken = (new Buffer(publishingCredentials.properties["publishingUserName"] + ':' + publishingCredentials.properties["publishingPassword"]).toString('base64'));
|
|
144
|
+
tl.debug("Kudu: using basic auth.");
|
|
145
|
+
|
|
146
|
+
return "Basic " + accessToken;
|
|
147
|
+
}
|
|
129
148
|
}
|
|
130
149
|
|
|
131
150
|
public async getPhysicalPath(virtualApplication: string): Promise<string> {
|
|
@@ -273,6 +292,25 @@ export class AzureAppServiceUtility {
|
|
|
273
292
|
}
|
|
274
293
|
}
|
|
275
294
|
|
|
295
|
+
public async isSitePublishingCredentialsEnabled(): Promise<boolean>{
|
|
296
|
+
try{
|
|
297
|
+
let scmAuthPolicy: any = await this._appService.getSitePublishingCredentialPolicies();
|
|
298
|
+
tl.debug(`Site Publishing Policy check: ${JSON.stringify(scmAuthPolicy)}`);
|
|
299
|
+
if(scmAuthPolicy && scmAuthPolicy.properties.allow) {
|
|
300
|
+
tl.debug("Function App does allow SCM access");
|
|
301
|
+
return true;
|
|
302
|
+
}
|
|
303
|
+
else {
|
|
304
|
+
tl.debug("Function App does not allow SCM Access");
|
|
305
|
+
return false;
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
catch(error){
|
|
309
|
+
tl.debug(`Call to get SCM Policy check failed: ${error}`);
|
|
310
|
+
return false;
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
|
|
276
314
|
private async _getPhysicalToVirtualPathMap(virtualApplication: string): Promise<any> {
|
|
277
315
|
// construct URL depending on virtualApplication or root of webapplication
|
|
278
316
|
var physicalPath = null;
|