@pulumi/pulumi 3.40.1 → 3.40.2
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/asset/archive.js +8 -1
- package/asset/archive.js.map +1 -1
- package/asset/asset.js +8 -1
- package/asset/asset.js.map +1 -1
- package/automation/cmd.js +5 -2
- package/automation/cmd.js.map +1 -1
- package/automation/localWorkspace.d.ts +2 -2
- package/automation/localWorkspace.js +12 -5
- package/automation/localWorkspace.js.map +1 -1
- package/automation/minimumVersion.d.ts +1 -2
- package/automation/minimumVersion.js +9 -1
- package/automation/minimumVersion.js.map +1 -1
- package/automation/server.js +12 -5
- package/automation/server.js.map +1 -1
- package/automation/stack.js +19 -9
- package/automation/stack.js.map +1 -1
- package/automation/workspace.d.ts +1 -1
- package/cmd/dynamic-provider/index.js +9 -2
- package/cmd/dynamic-provider/index.js.map +1 -1
- package/cmd/run/index.js +14 -4
- package/cmd/run/index.js.map +1 -1
- package/cmd/run/run.js +19 -12
- package/cmd/run/run.js.map +1 -1
- package/cmd/run/tracing.d.ts +1 -4
- package/cmd/run/tracing.js +13 -3
- package/cmd/run/tracing.js.map +1 -1
- package/cmd/run-policy-pack/index.js +13 -3
- package/cmd/run-policy-pack/index.js.map +1 -1
- package/cmd/run-policy-pack/run.js +14 -7
- package/cmd/run-policy-pack/run.js.map +1 -1
- package/dynamic/index.js +9 -2
- package/dynamic/index.js.map +1 -1
- package/errors.js +9 -2
- package/errors.js.map +1 -1
- package/index.js +15 -8
- package/index.js.map +1 -1
- package/metadata.d.ts +3 -3
- package/metadata.js +11 -4
- package/metadata.js.map +1 -1
- package/output.js +9 -2
- package/output.js.map +1 -1
- package/package.json +1 -1
- package/provider/internals.d.ts +1 -3
- package/provider/internals.js +1 -0
- package/provider/internals.js.map +1 -1
- package/provider/server.js +13 -6
- package/provider/server.js.map +1 -1
- package/resource.js +9 -2
- package/resource.js.map +1 -1
- package/runtime/closure/codePaths.js +17 -7
- package/runtime/closure/codePaths.js.map +1 -1
- package/runtime/closure/createClosure.js +10 -3
- package/runtime/closure/createClosure.js.map +1 -1
- package/runtime/closure/package.js +8 -1
- package/runtime/closure/package.js.map +1 -1
- package/runtime/closure/parseFunction.js +10 -3
- package/runtime/closure/parseFunction.js.map +1 -1
- package/runtime/closure/rewriteSuper.js +8 -1
- package/runtime/closure/rewriteSuper.js.map +1 -1
- package/runtime/closure/serializeClosure.js +9 -2
- package/runtime/closure/serializeClosure.js.map +1 -1
- package/runtime/closure/v8.js +11 -4
- package/runtime/closure/v8.js.map +1 -1
- package/runtime/closure/v8Hooks.js +10 -3
- package/runtime/closure/v8Hooks.js.map +1 -1
- package/runtime/closure/v8_v10andLower.js +8 -1
- package/runtime/closure/v8_v10andLower.js.map +1 -1
- package/runtime/closure/v8_v11andHigher.js +10 -3
- package/runtime/closure/v8_v11andHigher.js.map +1 -1
- package/runtime/debuggable.d.ts +1 -2
- package/runtime/debuggable.js +10 -1
- package/runtime/debuggable.js.map +1 -1
- package/runtime/index.d.ts +0 -1
- package/runtime/index.js +0 -2
- package/runtime/index.js.map +1 -1
- package/runtime/invoke.js +10 -3
- package/runtime/invoke.js.map +1 -1
- package/runtime/mocks.d.ts +2 -1
- package/runtime/mocks.js +3 -2
- package/runtime/mocks.js.map +1 -1
- package/runtime/resource.js +11 -4
- package/runtime/resource.js.map +1 -1
- package/runtime/rpc.js +10 -3
- package/runtime/rpc.js.map +1 -1
- package/runtime/settings.d.ts +0 -1
- package/runtime/settings.js +13 -5
- package/runtime/settings.js.map +1 -1
- package/runtime/stack.js +8 -1
- package/runtime/stack.js.map +1 -1
- package/tests/automation/cmd.spec.js +8 -1
- package/tests/automation/cmd.spec.js.map +1 -1
- package/tests/automation/data/testproj/go.mod +64 -2
- package/tests/automation/data/testproj/go.sum +226 -187
- package/tests/automation/data/testproj/main.go +3 -0
- package/tests/automation/localWorkspace.spec.js +133 -123
- package/tests/automation/localWorkspace.spec.js.map +1 -1
- package/tests/config.spec.js +8 -1
- package/tests/config.spec.js.map +1 -1
- package/tests/iterable.spec.js +9 -2
- package/tests/iterable.spec.js.map +1 -1
- package/tests/options.spec.js +8 -1
- package/tests/options.spec.js.map +1 -1
- package/tests/output.spec.js +9 -2
- package/tests/output.spec.js.map +1 -1
- package/tests/provider.spec.js +10 -3
- package/tests/provider.spec.js.map +1 -1
- package/tests/resource.spec.js +9 -2
- package/tests/resource.spec.js.map +1 -1
- package/tests/runtime/asyncIterableUtil.spec.js +8 -1
- package/tests/runtime/asyncIterableUtil.spec.js.map +1 -1
- package/tests/runtime/closureLoader.spec.js +8 -1
- package/tests/runtime/closureLoader.spec.js.map +1 -1
- package/tests/runtime/langhost/cases/069.ambiguous_entrypoints/index.js.map +1 -1
- package/tests/runtime/langhost/cases/070.unusual_alias_names/index.js +27 -0
- package/tests/runtime/langhost/cases/071.large_alias_counts/index.js +23 -0
- package/tests/runtime/langhost/cases/072.large_alias_lineage_chains/index.js +27 -0
- package/tests/runtime/langhost/run.spec.js +200 -176
- package/tests/runtime/langhost/run.spec.js.map +1 -1
- package/tests/runtime/package.spec.js +9 -2
- package/tests/runtime/package.spec.js.map +1 -1
- package/tests/runtime/props.spec.js +8 -1
- package/tests/runtime/props.spec.js.map +1 -1
- package/tests/runtime/registrations.spec.js +8 -1
- package/tests/runtime/registrations.spec.js.map +1 -1
- package/tests/runtime/settings.spec.js +9 -2
- package/tests/runtime/settings.spec.js.map +1 -1
- package/tests/runtime/tsClosureCases.js +14 -25
- package/tests/runtime/tsClosureCases.js.map +1 -1
- package/tests/unwrap.spec.js +8 -1
- package/tests/unwrap.spec.js.map +1 -1
- package/tests/util.js +5 -2
- package/tests/util.js.map +1 -1
- package/tests_with_mocks/mocks.spec.js +9 -2
- package/tests_with_mocks/mocks.spec.js.map +1 -1
- package/tsutils.d.ts +1 -1
- package/tsutils.js +10 -2
- package/tsutils.js.map +1 -1
- package/version.js +1 -1
|
@@ -21,14 +21,24 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
21
21
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
22
22
|
});
|
|
23
23
|
};
|
|
24
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
25
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
26
|
+
};
|
|
27
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
|
|
31
|
+
result["default"] = mod;
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
24
34
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
-
const
|
|
26
|
-
const childProcess = require("child_process");
|
|
27
|
-
const path = require("path");
|
|
35
|
+
const assert_1 = __importDefault(require("assert"));
|
|
36
|
+
const childProcess = __importStar(require("child_process"));
|
|
37
|
+
const path = __importStar(require("path"));
|
|
28
38
|
const index_1 = require("../../../index");
|
|
29
39
|
const util_1 = require("../../util");
|
|
30
40
|
const constants_1 = require("../../constants");
|
|
31
|
-
const grpc = require("@grpc/grpc-js");
|
|
41
|
+
const grpc = __importStar(require("@grpc/grpc-js"));
|
|
32
42
|
const enginerpc = require("../../../proto/engine_grpc_pb.js");
|
|
33
43
|
const engineproto = require("../../../proto/engine_pb.js");
|
|
34
44
|
const gempty = require("google-protobuf/google/protobuf/empty_pb.js");
|
|
@@ -83,8 +93,8 @@ describe("rpc", () => {
|
|
|
83
93
|
program: path.join(base, "001.one_resource"),
|
|
84
94
|
expectResourceCount: 1,
|
|
85
95
|
registerResource: (ctx, dryrun, t, name, res) => {
|
|
86
|
-
|
|
87
|
-
|
|
96
|
+
assert_1.default.strictEqual(t, "test:index:MyResource");
|
|
97
|
+
assert_1.default.strictEqual(name, "testResource1");
|
|
88
98
|
return { urn: makeUrn(t, name), id: undefined, props: undefined };
|
|
89
99
|
},
|
|
90
100
|
},
|
|
@@ -93,17 +103,17 @@ describe("rpc", () => {
|
|
|
93
103
|
program: path.join(base, "002.ten_resources"),
|
|
94
104
|
expectResourceCount: 10,
|
|
95
105
|
registerResource: (ctx, dryrun, t, name, res) => {
|
|
96
|
-
|
|
106
|
+
assert_1.default.strictEqual(t, "test:index:MyResource");
|
|
97
107
|
if (ctx.seen) {
|
|
98
|
-
|
|
108
|
+
assert_1.default(!ctx.seen[name], `Got multiple resources with same name ${name}`);
|
|
99
109
|
}
|
|
100
110
|
else {
|
|
101
111
|
ctx.seen = {};
|
|
102
112
|
}
|
|
103
113
|
const prefix = "testResource";
|
|
104
|
-
|
|
114
|
+
assert_1.default.strictEqual(name.substring(0, prefix.length), prefix, `Expected ${name} to be of the form ${prefix}N; missing prefix`);
|
|
105
115
|
const seqnum = parseInt(name.substring(prefix.length), 10);
|
|
106
|
-
|
|
116
|
+
assert_1.default(!isNaN(seqnum), `Expected ${name} to be of the form ${prefix}N; missing N seqnum`);
|
|
107
117
|
ctx.seen[name] = true;
|
|
108
118
|
return { urn: makeUrn(t, name), id: undefined, props: undefined };
|
|
109
119
|
},
|
|
@@ -113,9 +123,9 @@ describe("rpc", () => {
|
|
|
113
123
|
program: path.join(base, "003.one_complex_resource"),
|
|
114
124
|
expectResourceCount: 1,
|
|
115
125
|
registerResource: (ctx, dryrun, t, name, res) => {
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
126
|
+
assert_1.default.strictEqual(t, "test:index:MyResource");
|
|
127
|
+
assert_1.default.strictEqual(name, "testResource1");
|
|
128
|
+
assert_1.default.deepStrictEqual(res, {
|
|
119
129
|
inpropB1: false,
|
|
120
130
|
inpropB2: true,
|
|
121
131
|
inpropN: 42,
|
|
@@ -145,19 +155,19 @@ describe("rpc", () => {
|
|
|
145
155
|
program: path.join(base, "004.ten_complex_resources"),
|
|
146
156
|
expectResourceCount: 10,
|
|
147
157
|
registerResource: (ctx, dryrun, t, name, res) => {
|
|
148
|
-
|
|
158
|
+
assert_1.default.strictEqual(t, "test:index:MyResource");
|
|
149
159
|
if (ctx.seen) {
|
|
150
|
-
|
|
160
|
+
assert_1.default(!ctx.seen[name], `Got multiple resources with same name ${name}`);
|
|
151
161
|
}
|
|
152
162
|
else {
|
|
153
163
|
ctx.seen = {};
|
|
154
164
|
}
|
|
155
165
|
const prefix = "testResource";
|
|
156
|
-
|
|
166
|
+
assert_1.default.strictEqual(name.substring(0, prefix.length), prefix, `Expected ${name} to be of the form ${prefix}N; missing prefix`);
|
|
157
167
|
const seqnum = parseInt(name.substring(prefix.length), 10);
|
|
158
|
-
|
|
168
|
+
assert_1.default(!isNaN(seqnum), `Expected ${name} to be of the form ${prefix}N; missing N seqnum`);
|
|
159
169
|
ctx.seen[name] = true;
|
|
160
|
-
|
|
170
|
+
assert_1.default.deepStrictEqual(res, {
|
|
161
171
|
inseq: seqnum,
|
|
162
172
|
inpropB1: false,
|
|
163
173
|
inpropB2: true,
|
|
@@ -193,8 +203,8 @@ describe("rpc", () => {
|
|
|
193
203
|
let props;
|
|
194
204
|
switch (t) {
|
|
195
205
|
case "test:index:ResourceA": {
|
|
196
|
-
|
|
197
|
-
|
|
206
|
+
assert_1.default.strictEqual(name, "resourceA");
|
|
207
|
+
assert_1.default.deepStrictEqual(res, { inprop: 777 });
|
|
198
208
|
if (!dryrun) {
|
|
199
209
|
id = name;
|
|
200
210
|
props = { outprop: "output yeah" };
|
|
@@ -202,18 +212,18 @@ describe("rpc", () => {
|
|
|
202
212
|
break;
|
|
203
213
|
}
|
|
204
214
|
case "test:index:ResourceB": {
|
|
205
|
-
|
|
206
|
-
|
|
215
|
+
assert_1.default.strictEqual(name, "resourceB");
|
|
216
|
+
assert_1.default.deepStrictEqual(dependencies, ["test:index:ResourceA::resourceA"]);
|
|
207
217
|
if (dryrun) {
|
|
208
218
|
// If this is a dry-run, we will have no known values.
|
|
209
|
-
|
|
219
|
+
assert_1.default.deepStrictEqual(res, {
|
|
210
220
|
otherIn: index_1.runtime.unknownValue,
|
|
211
221
|
otherOut: index_1.runtime.unknownValue,
|
|
212
222
|
});
|
|
213
223
|
}
|
|
214
224
|
else {
|
|
215
225
|
// Otherwise, we will:
|
|
216
|
-
|
|
226
|
+
assert_1.default.deepStrictEqual(res, {
|
|
217
227
|
otherIn: 777,
|
|
218
228
|
otherOut: "output yeah",
|
|
219
229
|
});
|
|
@@ -224,7 +234,7 @@ describe("rpc", () => {
|
|
|
224
234
|
break;
|
|
225
235
|
}
|
|
226
236
|
default:
|
|
227
|
-
|
|
237
|
+
assert_1.default.fail(`Unrecognized resource type ${t}`);
|
|
228
238
|
throw new Error();
|
|
229
239
|
}
|
|
230
240
|
return {
|
|
@@ -238,9 +248,9 @@ describe("rpc", () => {
|
|
|
238
248
|
pwd: path.join(base, "006.asset"),
|
|
239
249
|
expectResourceCount: 1,
|
|
240
250
|
registerResource: (ctx, dryrun, t, name, res) => {
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
251
|
+
assert_1.default.strictEqual(t, "test:index:FileResource");
|
|
252
|
+
assert_1.default.strictEqual(name, "file1");
|
|
253
|
+
assert_1.default.deepStrictEqual(res, {
|
|
244
254
|
data: {
|
|
245
255
|
[index_1.runtime.specialSigKey]: index_1.runtime.specialAssetSig,
|
|
246
256
|
__pulumiAsset: true,
|
|
@@ -254,10 +264,10 @@ describe("rpc", () => {
|
|
|
254
264
|
pwd: path.join(base, "007.promises_io"),
|
|
255
265
|
expectResourceCount: 1,
|
|
256
266
|
registerResource: (ctx, dryrun, t, name, res) => {
|
|
257
|
-
|
|
258
|
-
|
|
267
|
+
assert_1.default.strictEqual(t, "test:index:FileResource");
|
|
268
|
+
assert_1.default.strictEqual(name, "file1");
|
|
259
269
|
const actualData = res.data.replace(constants_1.platformIndependentEOL, "\n"); // EOL normalization
|
|
260
|
-
|
|
270
|
+
assert_1.default.deepStrictEqual(actualData, "The test worked!\n\nIf you can see some data!\n\n");
|
|
261
271
|
return { urn: makeUrn(t, name), id: undefined, props: undefined };
|
|
262
272
|
},
|
|
263
273
|
},
|
|
@@ -266,17 +276,17 @@ describe("rpc", () => {
|
|
|
266
276
|
program: path.join(base, "008.ten_depends_on_resources"),
|
|
267
277
|
expectResourceCount: 100,
|
|
268
278
|
registerResource: (ctx, dryrun, t, name, res) => {
|
|
269
|
-
|
|
279
|
+
assert_1.default.strictEqual(t, "test:index:MyResource");
|
|
270
280
|
if (ctx.seen) {
|
|
271
|
-
|
|
281
|
+
assert_1.default(!ctx.seen[name], `Got multiple resources with same name ${name}`);
|
|
272
282
|
}
|
|
273
283
|
else {
|
|
274
284
|
ctx.seen = {};
|
|
275
285
|
}
|
|
276
286
|
const prefix = "testResource";
|
|
277
|
-
|
|
287
|
+
assert_1.default.strictEqual(name.substring(0, prefix.length), prefix, `Expected ${name} to be of the form ${prefix}N; missing prefix`);
|
|
278
288
|
const seqnum = parseInt(name.substring(prefix.length), 10);
|
|
279
|
-
|
|
289
|
+
assert_1.default(!isNaN(seqnum), `Expected ${name} to be of the form ${prefix}N; missing N seqnum`);
|
|
280
290
|
ctx.seen[name] = true;
|
|
281
291
|
return { urn: makeUrn(t, name), id: undefined, props: undefined };
|
|
282
292
|
},
|
|
@@ -286,9 +296,9 @@ describe("rpc", () => {
|
|
|
286
296
|
program: path.join(base, "009.invoke"),
|
|
287
297
|
expectResourceCount: 0,
|
|
288
298
|
invoke: (ctx, tok, args, version, provider) => {
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
299
|
+
assert_1.default.strictEqual(provider, "");
|
|
300
|
+
assert_1.default.strictEqual(tok, "invoke:index:echo");
|
|
301
|
+
assert_1.default.deepStrictEqual(args, {
|
|
292
302
|
a: "hello",
|
|
293
303
|
b: true,
|
|
294
304
|
c: [0.99, 42, { z: "x" }],
|
|
@@ -298,8 +308,8 @@ describe("rpc", () => {
|
|
|
298
308
|
return { failures: undefined, ret: args };
|
|
299
309
|
},
|
|
300
310
|
registerResource: (ctx, dryrun, t, name, res) => {
|
|
301
|
-
|
|
302
|
-
|
|
311
|
+
assert_1.default.strictEqual(t, "test:index:MyResource");
|
|
312
|
+
assert_1.default.strictEqual(name, "testResource1");
|
|
303
313
|
return { urn: makeUrn(t, name), id: undefined, props: undefined };
|
|
304
314
|
},
|
|
305
315
|
},
|
|
@@ -338,7 +348,7 @@ describe("rpc", () => {
|
|
|
338
348
|
program: path.join(base, "012.assets_archive"),
|
|
339
349
|
expectResourceCount: 1,
|
|
340
350
|
registerResource: (ctx, dryrun, t, name, res) => {
|
|
341
|
-
|
|
351
|
+
assert_1.default.deepStrictEqual(res, {
|
|
342
352
|
"archive": {
|
|
343
353
|
"4dabf18193072939515e22adb298388d": "0def7320c3a5731c473e5ecbe6d01bc7",
|
|
344
354
|
"__pulumiArchive": true,
|
|
@@ -399,10 +409,10 @@ describe("rpc", () => {
|
|
|
399
409
|
program: path.join(base, "014.read_resource"),
|
|
400
410
|
expectResourceCount: 0,
|
|
401
411
|
readResource: (ctx, t, name, id, par, state) => {
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
412
|
+
assert_1.default.strictEqual(t, "test:read:resource");
|
|
413
|
+
assert_1.default.strictEqual(name, "foo");
|
|
414
|
+
assert_1.default.strictEqual(id, "abc123");
|
|
415
|
+
assert_1.default.deepStrictEqual(state, {
|
|
406
416
|
a: "fizzz",
|
|
407
417
|
b: false,
|
|
408
418
|
c: [0.73, "x", { zed: 923 }],
|
|
@@ -431,8 +441,8 @@ describe("rpc", () => {
|
|
|
431
441
|
return { urn: makeUrn(t, name), id: name, props: res };
|
|
432
442
|
},
|
|
433
443
|
log: (ctx, severity, message, urn, streamId) => {
|
|
434
|
-
|
|
435
|
-
|
|
444
|
+
assert_1.default.strictEqual(severity, engineproto.LogSeverity.INFO);
|
|
445
|
+
assert_1.default.strictEqual(/logging via (.*) works/.test(message), true);
|
|
436
446
|
},
|
|
437
447
|
},
|
|
438
448
|
// Test that leaked debuggable promises fail the deployment.
|
|
@@ -464,25 +474,25 @@ describe("rpc", () => {
|
|
|
464
474
|
log: (ctx, severity, message, urn, streamId) => {
|
|
465
475
|
switch (message) {
|
|
466
476
|
case "info message":
|
|
467
|
-
|
|
477
|
+
assert_1.default.strictEqual(severity, engineproto.LogSeverity.INFO);
|
|
468
478
|
return;
|
|
469
479
|
case "warning message":
|
|
470
|
-
|
|
480
|
+
assert_1.default.strictEqual(severity, engineproto.LogSeverity.WARNING);
|
|
471
481
|
return;
|
|
472
482
|
case "error message":
|
|
473
|
-
|
|
483
|
+
assert_1.default.strictEqual(severity, engineproto.LogSeverity.ERROR);
|
|
474
484
|
return;
|
|
475
485
|
case "attached to resource":
|
|
476
|
-
|
|
477
|
-
|
|
486
|
+
assert_1.default.strictEqual(severity, engineproto.LogSeverity.INFO);
|
|
487
|
+
assert_1.default.strictEqual(urn, ctx.testUrn);
|
|
478
488
|
return;
|
|
479
489
|
case "with streamid":
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
490
|
+
assert_1.default.strictEqual(severity, engineproto.LogSeverity.INFO);
|
|
491
|
+
assert_1.default.strictEqual(urn, ctx.testUrn);
|
|
492
|
+
assert_1.default.strictEqual(streamId, 42);
|
|
483
493
|
return;
|
|
484
494
|
default:
|
|
485
|
-
|
|
495
|
+
assert_1.default.fail("unexpected message: " + message);
|
|
486
496
|
break;
|
|
487
497
|
}
|
|
488
498
|
},
|
|
@@ -500,8 +510,8 @@ describe("rpc", () => {
|
|
|
500
510
|
throw new Error();
|
|
501
511
|
},
|
|
502
512
|
registerResourceOutputs: (ctx, dryrun, urn, t, name, res, outputs) => {
|
|
503
|
-
|
|
504
|
-
|
|
513
|
+
assert_1.default.strictEqual(t, "pulumi:pulumi:Stack");
|
|
514
|
+
assert_1.default.deepStrictEqual(outputs, {
|
|
505
515
|
a: {
|
|
506
516
|
x: 99,
|
|
507
517
|
y: "z",
|
|
@@ -523,9 +533,9 @@ describe("rpc", () => {
|
|
|
523
533
|
ctx.stackUrn = makeUrn(t, name);
|
|
524
534
|
return { urn: makeUrn(t, name), id: undefined, props: undefined };
|
|
525
535
|
}
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
536
|
+
assert_1.default.strictEqual(t, "test:index:MyResource");
|
|
537
|
+
assert_1.default.strictEqual(name, "testResource1");
|
|
538
|
+
assert_1.default.strictEqual(parent, ctx.stackUrn);
|
|
529
539
|
return { urn: makeUrn(t, name), id: undefined, props: undefined };
|
|
530
540
|
},
|
|
531
541
|
},
|
|
@@ -539,9 +549,9 @@ describe("rpc", () => {
|
|
|
539
549
|
ctx.stackUrn = makeUrn(t, name);
|
|
540
550
|
return { urn: makeUrn(t, name), id: undefined, props: undefined };
|
|
541
551
|
}
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
552
|
+
assert_1.default.strictEqual(t, "test:index:MyResource");
|
|
553
|
+
assert_1.default.strictEqual(name, "testResource1");
|
|
554
|
+
assert_1.default.strictEqual(parent, ctx.stackUrn);
|
|
545
555
|
return { urn: makeUrn(t, name), id: undefined, props: undefined };
|
|
546
556
|
},
|
|
547
557
|
},
|
|
@@ -549,35 +559,35 @@ describe("rpc", () => {
|
|
|
549
559
|
program: path.join(base, "020.property_dependencies"),
|
|
550
560
|
expectResourceCount: 5,
|
|
551
561
|
registerResource: (ctx, dryrun, t, name, res, deps, custom, protect, parent, provider, propertyDeps) => {
|
|
552
|
-
|
|
562
|
+
assert_1.default.strictEqual(t, "test:index:MyResource");
|
|
553
563
|
switch (name) {
|
|
554
564
|
case "resA":
|
|
555
|
-
|
|
556
|
-
|
|
565
|
+
assert_1.default.deepStrictEqual(deps, []);
|
|
566
|
+
assert_1.default.deepStrictEqual(propertyDeps, {});
|
|
557
567
|
break;
|
|
558
568
|
case "resB":
|
|
559
|
-
|
|
560
|
-
|
|
569
|
+
assert_1.default.deepStrictEqual(deps, ["resA"]);
|
|
570
|
+
assert_1.default.deepStrictEqual(propertyDeps, {});
|
|
561
571
|
break;
|
|
562
572
|
case "resC":
|
|
563
|
-
|
|
564
|
-
|
|
573
|
+
assert_1.default.deepStrictEqual(deps, ["resA", "resB"]);
|
|
574
|
+
assert_1.default.deepStrictEqual(propertyDeps, {
|
|
565
575
|
"propA": ["resA"],
|
|
566
576
|
"propB": ["resB"],
|
|
567
577
|
"propC": [],
|
|
568
578
|
});
|
|
569
579
|
break;
|
|
570
580
|
case "resD":
|
|
571
|
-
|
|
572
|
-
|
|
581
|
+
assert_1.default.deepStrictEqual(deps, ["resA", "resB", "resC"]);
|
|
582
|
+
assert_1.default.deepStrictEqual(propertyDeps, {
|
|
573
583
|
"propA": ["resA", "resB"],
|
|
574
584
|
"propB": ["resC"],
|
|
575
585
|
"propC": [],
|
|
576
586
|
});
|
|
577
587
|
break;
|
|
578
588
|
case "resE":
|
|
579
|
-
|
|
580
|
-
|
|
589
|
+
assert_1.default.deepStrictEqual(deps, ["resA", "resB", "resC", "resD"]);
|
|
590
|
+
assert_1.default.deepStrictEqual(propertyDeps, {
|
|
581
591
|
"propA": ["resC"],
|
|
582
592
|
"propB": ["resA", "resB"],
|
|
583
593
|
"propC": [],
|
|
@@ -596,10 +606,10 @@ describe("rpc", () => {
|
|
|
596
606
|
registerResource: (ctx, dryrun, t, name, res, deps) => {
|
|
597
607
|
switch (name) {
|
|
598
608
|
case "cust1":
|
|
599
|
-
|
|
609
|
+
assert_1.default.deepStrictEqual(deps, []);
|
|
600
610
|
break;
|
|
601
611
|
case "cust2":
|
|
602
|
-
|
|
612
|
+
assert_1.default.deepStrictEqual(deps, ["test:index:MyResource::cust1"]);
|
|
603
613
|
break;
|
|
604
614
|
default: throw new Error("Didn't check: " + name);
|
|
605
615
|
}
|
|
@@ -613,13 +623,13 @@ describe("rpc", () => {
|
|
|
613
623
|
registerResource: (ctx, dryrun, t, name, res, deps) => {
|
|
614
624
|
switch (name) {
|
|
615
625
|
case "cust1":
|
|
616
|
-
|
|
626
|
+
assert_1.default.deepStrictEqual(deps, []);
|
|
617
627
|
break;
|
|
618
628
|
case "cust2":
|
|
619
|
-
|
|
629
|
+
assert_1.default.deepStrictEqual(deps, ["test:index:MyResource::cust1"]);
|
|
620
630
|
break;
|
|
621
631
|
case "cust3":
|
|
622
|
-
|
|
632
|
+
assert_1.default.deepStrictEqual(deps, ["test:index:MyResource::cust1"]);
|
|
623
633
|
break;
|
|
624
634
|
default: throw new Error("Didn't check: " + name);
|
|
625
635
|
}
|
|
@@ -639,13 +649,13 @@ describe("rpc", () => {
|
|
|
639
649
|
registerResource: (ctx, dryrun, t, name, res, deps) => {
|
|
640
650
|
switch (name) {
|
|
641
651
|
case "cust1":
|
|
642
|
-
|
|
652
|
+
assert_1.default.deepStrictEqual(deps, []);
|
|
643
653
|
break;
|
|
644
654
|
case "cust2":
|
|
645
|
-
|
|
655
|
+
assert_1.default.deepStrictEqual(deps, []);
|
|
646
656
|
break;
|
|
647
657
|
case "comp1":
|
|
648
|
-
|
|
658
|
+
assert_1.default.deepStrictEqual(deps, []);
|
|
649
659
|
break;
|
|
650
660
|
default: throw new Error("Didn't check: " + name);
|
|
651
661
|
}
|
|
@@ -659,16 +669,16 @@ describe("rpc", () => {
|
|
|
659
669
|
registerResource: (ctx, dryrun, t, name, res, deps) => {
|
|
660
670
|
switch (name) {
|
|
661
671
|
case "cust1":
|
|
662
|
-
|
|
672
|
+
assert_1.default.deepStrictEqual(deps, []);
|
|
663
673
|
break;
|
|
664
674
|
case "cust2":
|
|
665
|
-
|
|
675
|
+
assert_1.default.deepStrictEqual(deps, []);
|
|
666
676
|
break;
|
|
667
677
|
case "comp1":
|
|
668
|
-
|
|
678
|
+
assert_1.default.deepStrictEqual(deps, []);
|
|
669
679
|
break;
|
|
670
680
|
case "res1":
|
|
671
|
-
|
|
681
|
+
assert_1.default.deepStrictEqual(deps, ["test:index:MyCustomResource::cust1", "test:index:MyCustomResource::cust2"]);
|
|
672
682
|
break;
|
|
673
683
|
default: throw new Error("Didn't check: " + name);
|
|
674
684
|
}
|
|
@@ -682,22 +692,22 @@ describe("rpc", () => {
|
|
|
682
692
|
registerResource: (ctx, dryrun, t, name, res, deps) => {
|
|
683
693
|
switch (name) {
|
|
684
694
|
case "comp1":
|
|
685
|
-
|
|
695
|
+
assert_1.default.deepStrictEqual(deps, []);
|
|
686
696
|
break;
|
|
687
697
|
case "cust1":
|
|
688
|
-
|
|
698
|
+
assert_1.default.deepStrictEqual(deps, []);
|
|
689
699
|
break;
|
|
690
700
|
case "comp2":
|
|
691
|
-
|
|
701
|
+
assert_1.default.deepStrictEqual(deps, []);
|
|
692
702
|
break;
|
|
693
703
|
case "cust2":
|
|
694
|
-
|
|
704
|
+
assert_1.default.deepStrictEqual(deps, []);
|
|
695
705
|
break;
|
|
696
706
|
case "cust3":
|
|
697
|
-
|
|
707
|
+
assert_1.default.deepStrictEqual(deps, []);
|
|
698
708
|
break;
|
|
699
709
|
case "res1":
|
|
700
|
-
|
|
710
|
+
assert_1.default.deepStrictEqual(deps, ["test:index:MyCustomResource::cust1", "test:index:MyCustomResource::cust2", "test:index:MyCustomResource::cust3"]);
|
|
701
711
|
break;
|
|
702
712
|
default: throw new Error("Didn't check: " + name);
|
|
703
713
|
}
|
|
@@ -711,34 +721,34 @@ describe("rpc", () => {
|
|
|
711
721
|
registerResource: (ctx, dryrun, t, name, res, deps) => {
|
|
712
722
|
switch (name) {
|
|
713
723
|
case "comp1":
|
|
714
|
-
|
|
724
|
+
assert_1.default.deepStrictEqual(deps, []);
|
|
715
725
|
break;
|
|
716
726
|
case "cust1":
|
|
717
|
-
|
|
727
|
+
assert_1.default.deepStrictEqual(deps, []);
|
|
718
728
|
break;
|
|
719
729
|
case "comp2":
|
|
720
|
-
|
|
730
|
+
assert_1.default.deepStrictEqual(deps, []);
|
|
721
731
|
break;
|
|
722
732
|
case "cust2":
|
|
723
|
-
|
|
733
|
+
assert_1.default.deepStrictEqual(deps, []);
|
|
724
734
|
break;
|
|
725
735
|
case "cust3":
|
|
726
|
-
|
|
736
|
+
assert_1.default.deepStrictEqual(deps, []);
|
|
727
737
|
break;
|
|
728
738
|
case "cust4":
|
|
729
|
-
|
|
739
|
+
assert_1.default.deepStrictEqual(deps, ["test:index:MyCustomResource::cust2"]);
|
|
730
740
|
break;
|
|
731
741
|
case "res1":
|
|
732
|
-
|
|
742
|
+
assert_1.default.deepStrictEqual(deps, ["test:index:MyCustomResource::cust1", "test:index:MyCustomResource::cust2", "test:index:MyCustomResource::cust3"]);
|
|
733
743
|
break;
|
|
734
744
|
case "res2":
|
|
735
|
-
|
|
745
|
+
assert_1.default.deepStrictEqual(deps, ["test:index:MyCustomResource::cust2", "test:index:MyCustomResource::cust3"]);
|
|
736
746
|
break;
|
|
737
747
|
case "res3":
|
|
738
|
-
|
|
748
|
+
assert_1.default.deepStrictEqual(deps, ["test:index:MyCustomResource::cust2"]);
|
|
739
749
|
break;
|
|
740
750
|
case "res4":
|
|
741
|
-
|
|
751
|
+
assert_1.default.deepStrictEqual(deps, ["test:index:MyCustomResource::cust4"]);
|
|
742
752
|
break;
|
|
743
753
|
default: throw new Error("Didn't check: " + name);
|
|
744
754
|
}
|
|
@@ -752,22 +762,22 @@ describe("rpc", () => {
|
|
|
752
762
|
registerResource: (ctx, dryrun, t, name, res, deps) => {
|
|
753
763
|
switch (name) {
|
|
754
764
|
case "comp1":
|
|
755
|
-
|
|
765
|
+
assert_1.default.deepStrictEqual(deps, []);
|
|
756
766
|
break;
|
|
757
767
|
case "cust1":
|
|
758
|
-
|
|
768
|
+
assert_1.default.deepStrictEqual(deps, []);
|
|
759
769
|
break;
|
|
760
770
|
case "cust2":
|
|
761
|
-
|
|
771
|
+
assert_1.default.deepStrictEqual(deps, ["test:index:MyCustomResource::cust1"]);
|
|
762
772
|
break;
|
|
763
773
|
case "res1":
|
|
764
|
-
|
|
774
|
+
assert_1.default.deepStrictEqual(deps, ["test:index:MyCustomResource::cust1"]);
|
|
765
775
|
break;
|
|
766
776
|
case "res2":
|
|
767
|
-
|
|
777
|
+
assert_1.default.deepStrictEqual(deps, ["test:index:MyCustomResource::cust1"]);
|
|
768
778
|
break;
|
|
769
779
|
case "res3":
|
|
770
|
-
|
|
780
|
+
assert_1.default.deepStrictEqual(deps, ["test:index:MyCustomResource::cust2"]);
|
|
771
781
|
break;
|
|
772
782
|
default: throw new Error("Didn't check: " + name);
|
|
773
783
|
}
|
|
@@ -781,13 +791,13 @@ describe("rpc", () => {
|
|
|
781
791
|
registerResource: (ctx, dryrun, t, name, res, deps) => {
|
|
782
792
|
switch (name) {
|
|
783
793
|
case "cust1":
|
|
784
|
-
|
|
794
|
+
assert_1.default.deepStrictEqual(deps, []);
|
|
785
795
|
break;
|
|
786
796
|
case "cust2":
|
|
787
|
-
|
|
797
|
+
assert_1.default.deepStrictEqual(deps, ["test:index:MyCustomResource::cust1"]);
|
|
788
798
|
break;
|
|
789
799
|
case "res1":
|
|
790
|
-
|
|
800
|
+
assert_1.default.deepStrictEqual(deps, ["test:index:MyCustomResource::cust1"]);
|
|
791
801
|
break;
|
|
792
802
|
default: throw new Error("Didn't check: " + name);
|
|
793
803
|
}
|
|
@@ -834,7 +844,7 @@ describe("rpc", () => {
|
|
|
834
844
|
expectResourceCount: 1,
|
|
835
845
|
registerResource: (ctx, dryrun, t, name, res, dependencies, custom, protect, parent, provider, propertyDeps, ignoreChanges) => {
|
|
836
846
|
if (name === "testResource") {
|
|
837
|
-
|
|
847
|
+
assert_1.default.deepStrictEqual(ignoreChanges, ["ignoredProperty"]);
|
|
838
848
|
}
|
|
839
849
|
return {
|
|
840
850
|
urn: makeUrn(t, name),
|
|
@@ -849,16 +859,16 @@ describe("rpc", () => {
|
|
|
849
859
|
registerResource: (ctx, dryrun, t, name, res, dependencies, custom, protect, parent, provider, propertyDeps, ignoreChanges, version, importID, replaceOnChanges) => {
|
|
850
860
|
switch (name) {
|
|
851
861
|
case "testResource":
|
|
852
|
-
|
|
862
|
+
assert_1.default.strictEqual("0.19.1", version);
|
|
853
863
|
break;
|
|
854
864
|
case "testResource2":
|
|
855
|
-
|
|
865
|
+
assert_1.default.strictEqual("0.19.2", version);
|
|
856
866
|
break;
|
|
857
867
|
case "testResource3":
|
|
858
|
-
|
|
868
|
+
assert_1.default.strictEqual("", version);
|
|
859
869
|
break;
|
|
860
870
|
default:
|
|
861
|
-
|
|
871
|
+
assert_1.default.fail(`unknown resource: ${name}`);
|
|
862
872
|
}
|
|
863
873
|
return {
|
|
864
874
|
urn: makeUrn(t, name),
|
|
@@ -869,16 +879,16 @@ describe("rpc", () => {
|
|
|
869
879
|
invoke: (ctx, tok, args, version) => {
|
|
870
880
|
switch (tok) {
|
|
871
881
|
case "invoke:index:doit":
|
|
872
|
-
|
|
882
|
+
assert_1.default.strictEqual(version, "0.19.1");
|
|
873
883
|
break;
|
|
874
884
|
case "invoke:index:doit_v2":
|
|
875
|
-
|
|
885
|
+
assert_1.default.strictEqual(version, "0.19.2");
|
|
876
886
|
break;
|
|
877
887
|
case "invoke:index:doit_noversion":
|
|
878
|
-
|
|
888
|
+
assert_1.default.strictEqual(version, "");
|
|
879
889
|
break;
|
|
880
890
|
default:
|
|
881
|
-
|
|
891
|
+
assert_1.default.fail(`unknown invoke: ${tok}`);
|
|
882
892
|
}
|
|
883
893
|
return {
|
|
884
894
|
failures: [],
|
|
@@ -888,13 +898,13 @@ describe("rpc", () => {
|
|
|
888
898
|
readResource: (ctx, t, name, id, par, state, version) => {
|
|
889
899
|
switch (name) {
|
|
890
900
|
case "foo":
|
|
891
|
-
|
|
901
|
+
assert_1.default.strictEqual(version, "0.20.0");
|
|
892
902
|
break;
|
|
893
903
|
case "foo_noversion":
|
|
894
|
-
|
|
904
|
+
assert_1.default.strictEqual(version, "");
|
|
895
905
|
break;
|
|
896
906
|
default:
|
|
897
|
-
|
|
907
|
+
assert_1.default.fail(`unknown read: ${name}`);
|
|
898
908
|
}
|
|
899
909
|
return {
|
|
900
910
|
urn: makeUrn(t, name),
|
|
@@ -907,9 +917,9 @@ describe("rpc", () => {
|
|
|
907
917
|
program: path.join(base, "030.import_resource"),
|
|
908
918
|
expectResourceCount: 1,
|
|
909
919
|
registerResource: (ctx, dryrun, t, name, res, deps, custom, protect, parent, provider, propertyDeps, ignoreChanges, version, importID) => {
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
920
|
+
assert_1.default.strictEqual(t, "test:index:MyResource");
|
|
921
|
+
assert_1.default.strictEqual(name, "testResource1");
|
|
922
|
+
assert_1.default.strictEqual(importID, "testID");
|
|
913
923
|
return { urn: makeUrn(t, name), id: importID, props: {} };
|
|
914
924
|
},
|
|
915
925
|
},
|
|
@@ -926,8 +936,8 @@ describe("rpc", () => {
|
|
|
926
936
|
throw new Error();
|
|
927
937
|
},
|
|
928
938
|
registerResourceOutputs: (ctx, dryrun, urn, t, name, res, outputs) => {
|
|
929
|
-
|
|
930
|
-
|
|
939
|
+
assert_1.default.strictEqual(t, "pulumi:pulumi:Stack");
|
|
940
|
+
assert_1.default.deepStrictEqual(outputs, {
|
|
931
941
|
"m": { "a": { "b": 1 } },
|
|
932
942
|
"n": { "a": { "b": 1 } },
|
|
933
943
|
"o": { "b": 1 },
|
|
@@ -950,8 +960,8 @@ describe("rpc", () => {
|
|
|
950
960
|
throw new Error();
|
|
951
961
|
},
|
|
952
962
|
registerResourceOutputs: (ctx, dryrun, urn, t, name, res, outputs) => {
|
|
953
|
-
|
|
954
|
-
|
|
963
|
+
assert_1.default.strictEqual(t, "pulumi:pulumi:Stack");
|
|
964
|
+
assert_1.default.deepStrictEqual(outputs, {
|
|
955
965
|
a: {
|
|
956
966
|
x: 99,
|
|
957
967
|
y: "z",
|
|
@@ -976,8 +986,8 @@ describe("rpc", () => {
|
|
|
976
986
|
throw new Error();
|
|
977
987
|
},
|
|
978
988
|
registerResourceOutputs: (ctx, dryrun, urn, t, name, res, outputs) => {
|
|
979
|
-
|
|
980
|
-
|
|
989
|
+
assert_1.default.strictEqual(t, "pulumi:pulumi:Stack");
|
|
990
|
+
assert_1.default.deepStrictEqual(outputs, {
|
|
981
991
|
a: {
|
|
982
992
|
x: 99,
|
|
983
993
|
y: "z",
|
|
@@ -1002,8 +1012,8 @@ describe("rpc", () => {
|
|
|
1002
1012
|
throw new Error();
|
|
1003
1013
|
},
|
|
1004
1014
|
registerResourceOutputs: (ctx, dryrun, urn, t, name, res, outputs) => {
|
|
1005
|
-
|
|
1006
|
-
|
|
1015
|
+
assert_1.default.strictEqual(t, "pulumi:pulumi:Stack");
|
|
1016
|
+
assert_1.default.deepStrictEqual(outputs, {
|
|
1007
1017
|
a: {
|
|
1008
1018
|
x: 99,
|
|
1009
1019
|
y: "z",
|
|
@@ -1025,13 +1035,13 @@ describe("rpc", () => {
|
|
|
1025
1035
|
ctx.stackUrn = makeUrn(t, name);
|
|
1026
1036
|
return { urn: makeUrn(t, name), id: undefined, props: undefined };
|
|
1027
1037
|
}
|
|
1028
|
-
|
|
1029
|
-
|
|
1038
|
+
assert_1.default.strictEqual(t, "test:index:MyResource");
|
|
1039
|
+
assert_1.default.strictEqual(name, "testResource1");
|
|
1030
1040
|
return { urn: makeUrn(t, name), id: undefined, props: undefined };
|
|
1031
1041
|
},
|
|
1032
1042
|
registerResourceOutputs: (ctx, dryrun, urn, t, name, res, outputs) => {
|
|
1033
|
-
|
|
1034
|
-
|
|
1043
|
+
assert_1.default.strictEqual(t, "pulumi:pulumi:Stack");
|
|
1044
|
+
assert_1.default.deepStrictEqual(outputs, {});
|
|
1035
1045
|
},
|
|
1036
1046
|
},
|
|
1037
1047
|
"resource_creation_in_function_with_result": {
|
|
@@ -1043,13 +1053,13 @@ describe("rpc", () => {
|
|
|
1043
1053
|
ctx.stackUrn = makeUrn(t, name);
|
|
1044
1054
|
return { urn: makeUrn(t, name), id: undefined, props: undefined };
|
|
1045
1055
|
}
|
|
1046
|
-
|
|
1047
|
-
|
|
1056
|
+
assert_1.default.strictEqual(t, "test:index:MyResource");
|
|
1057
|
+
assert_1.default.strictEqual(name, "testResource1");
|
|
1048
1058
|
return { urn: makeUrn(t, name), id: undefined, props: undefined };
|
|
1049
1059
|
},
|
|
1050
1060
|
registerResourceOutputs: (ctx, dryrun, urn, t, name, res, outputs) => {
|
|
1051
|
-
|
|
1052
|
-
|
|
1061
|
+
assert_1.default.strictEqual(t, "pulumi:pulumi:Stack");
|
|
1062
|
+
assert_1.default.deepStrictEqual(outputs, { a: 1 });
|
|
1053
1063
|
},
|
|
1054
1064
|
},
|
|
1055
1065
|
"resource_creation_in_async_function_with_result": {
|
|
@@ -1061,13 +1071,13 @@ describe("rpc", () => {
|
|
|
1061
1071
|
ctx.stackUrn = makeUrn(t, name);
|
|
1062
1072
|
return { urn: makeUrn(t, name), id: undefined, props: undefined };
|
|
1063
1073
|
}
|
|
1064
|
-
|
|
1065
|
-
|
|
1074
|
+
assert_1.default.strictEqual(t, "test:index:MyResource");
|
|
1075
|
+
assert_1.default.strictEqual(name, "testResource1");
|
|
1066
1076
|
return { urn: makeUrn(t, name), id: undefined, props: undefined };
|
|
1067
1077
|
},
|
|
1068
1078
|
registerResourceOutputs: (ctx, dryrun, urn, t, name, res, outputs) => {
|
|
1069
|
-
|
|
1070
|
-
|
|
1079
|
+
assert_1.default.strictEqual(t, "pulumi:pulumi:Stack");
|
|
1080
|
+
assert_1.default.deepStrictEqual(outputs, { a: 1 });
|
|
1071
1081
|
},
|
|
1072
1082
|
},
|
|
1073
1083
|
"provider_invokes": {
|
|
@@ -1077,9 +1087,9 @@ describe("rpc", () => {
|
|
|
1077
1087
|
return { urn: makeUrn(t, name), id: name === "p" ? "1" : undefined, props: undefined };
|
|
1078
1088
|
},
|
|
1079
1089
|
invoke: (ctx, tok, args, version, provider) => {
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
|
|
1090
|
+
assert_1.default.strictEqual(provider, "pulumi:providers:test::p::1");
|
|
1091
|
+
assert_1.default.strictEqual(tok, "test:index:echo");
|
|
1092
|
+
assert_1.default.deepStrictEqual(args, {
|
|
1083
1093
|
a: "hello",
|
|
1084
1094
|
b: true,
|
|
1085
1095
|
c: [0.99, 42, { z: "x" }],
|
|
@@ -1096,9 +1106,9 @@ describe("rpc", () => {
|
|
|
1096
1106
|
return { urn: makeUrn(t, name), id: name === "p" ? "1" : undefined, props: undefined };
|
|
1097
1107
|
},
|
|
1098
1108
|
invoke: (ctx, tok, args, version, provider) => {
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
|
|
1109
|
+
assert_1.default.strictEqual(provider, "pulumi:providers:test::p::1");
|
|
1110
|
+
assert_1.default.strictEqual(tok, "test:index:echo");
|
|
1111
|
+
assert_1.default.deepStrictEqual(args, {
|
|
1102
1112
|
a: "hello",
|
|
1103
1113
|
b: true,
|
|
1104
1114
|
c: [0.99, 42, { z: "x" }],
|
|
@@ -1115,9 +1125,9 @@ describe("rpc", () => {
|
|
|
1115
1125
|
return { urn: makeUrn(t, name), id: name === "p" ? "1" : undefined, props: undefined };
|
|
1116
1126
|
},
|
|
1117
1127
|
invoke: (ctx, tok, args, version, provider) => {
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1128
|
+
assert_1.default.strictEqual(provider, "pulumi:providers:test::p::1");
|
|
1129
|
+
assert_1.default.strictEqual(tok, "test:index:echo");
|
|
1130
|
+
assert_1.default.deepStrictEqual(args, {
|
|
1121
1131
|
a: "hello",
|
|
1122
1132
|
b: true,
|
|
1123
1133
|
c: [0.99, 42, { z: "x" }],
|
|
@@ -1132,14 +1142,14 @@ describe("rpc", () => {
|
|
|
1132
1142
|
expectResourceCount: 2,
|
|
1133
1143
|
registerResource: (ctx, dryrun, t, name, res, dependencies, custom, protect, parent, provider) => {
|
|
1134
1144
|
if (name === "c") {
|
|
1135
|
-
|
|
1145
|
+
assert_1.default.strictEqual(provider, "");
|
|
1136
1146
|
}
|
|
1137
1147
|
return { urn: makeUrn(t, name), id: name === "p" ? "1" : undefined, props: undefined };
|
|
1138
1148
|
},
|
|
1139
1149
|
invoke: (ctx, tok, args, version, provider) => {
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
|
|
1150
|
+
assert_1.default.strictEqual(provider, "pulumi:providers:test::p::1");
|
|
1151
|
+
assert_1.default.strictEqual(tok, "test:index:echo");
|
|
1152
|
+
assert_1.default.deepStrictEqual(args, {
|
|
1143
1153
|
a: "hello",
|
|
1144
1154
|
b: true,
|
|
1145
1155
|
c: [0.99, 42, { z: "x" }],
|
|
@@ -1158,7 +1168,7 @@ describe("rpc", () => {
|
|
|
1158
1168
|
dependencies.sort();
|
|
1159
1169
|
// resources 'c' and 'd' should see resources 'a' and 'b' as dependencies (even
|
|
1160
1170
|
// though they are async constructed by the component)
|
|
1161
|
-
|
|
1171
|
+
assert_1.default.deepStrictEqual(dependencies, ["test:index:CustResource::a", "test:index:CustResource::b"]);
|
|
1162
1172
|
}
|
|
1163
1173
|
return { urn: makeUrn(t, name), id: undefined, props: undefined };
|
|
1164
1174
|
},
|
|
@@ -1169,9 +1179,9 @@ describe("rpc", () => {
|
|
|
1169
1179
|
expectResourceCount: 1,
|
|
1170
1180
|
registerResource: (ctx, dryrun, t, name, res) => {
|
|
1171
1181
|
const longString = "a".repeat(1024 * 1024 * 5);
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
|
|
1182
|
+
assert_1.default.strictEqual(t, "test:index:MyLargeStringResource");
|
|
1183
|
+
assert_1.default.strictEqual(name, "testResource1");
|
|
1184
|
+
assert_1.default.deepStrictEqual(res, { "largeStringProp": longString });
|
|
1175
1185
|
return {
|
|
1176
1186
|
urn: makeUrn(t, name),
|
|
1177
1187
|
id: name,
|
|
@@ -1186,7 +1196,7 @@ describe("rpc", () => {
|
|
|
1186
1196
|
expectResourceCount: 1,
|
|
1187
1197
|
registerResource: (ctx, dryrun, t, name, res, dependencies, custom, protect, parent, provider, propertyDeps, ignoreChanges, version, importID, replaceOnChanges) => {
|
|
1188
1198
|
if (name === "testResource") {
|
|
1189
|
-
|
|
1199
|
+
assert_1.default.deepStrictEqual(replaceOnChanges, ["foo"]);
|
|
1190
1200
|
}
|
|
1191
1201
|
return {
|
|
1192
1202
|
urn: makeUrn(t, name),
|
|
@@ -1201,8 +1211,8 @@ describe("rpc", () => {
|
|
|
1201
1211
|
program: path.join(base, "067.native_es_module/index.js"),
|
|
1202
1212
|
expectResourceCount: 1,
|
|
1203
1213
|
registerResource: (ctx, dryrun, t, name, res) => {
|
|
1204
|
-
|
|
1205
|
-
|
|
1214
|
+
assert_1.default.strictEqual(t, "test:index:MyResource");
|
|
1215
|
+
assert_1.default.strictEqual(name, "testResource1");
|
|
1206
1216
|
return { urn: makeUrn(t, name), id: undefined, props: undefined };
|
|
1207
1217
|
},
|
|
1208
1218
|
},
|
|
@@ -1211,7 +1221,7 @@ describe("rpc", () => {
|
|
|
1211
1221
|
expectResourceCount: 4,
|
|
1212
1222
|
registerResource: (ctx, dryrun, t, name, res, dependencies, custom, protect, parent, provider, propertyDeps, ignoreChanges, version, importID, replaceOnChanges, providers) => {
|
|
1213
1223
|
if (name === "singular" || name === "map" || name === "array") {
|
|
1214
|
-
|
|
1224
|
+
assert_1.default.deepStrictEqual(Object.keys(providers), ["test"]);
|
|
1215
1225
|
}
|
|
1216
1226
|
return { urn: makeUrn(t, name), id: undefined, props: undefined };
|
|
1217
1227
|
},
|
|
@@ -1224,10 +1234,24 @@ describe("rpc", () => {
|
|
|
1224
1234
|
ignoreDebug: true,
|
|
1225
1235
|
},
|
|
1226
1236
|
log: (ctx, severity, message, urn, streamId) => {
|
|
1227
|
-
|
|
1237
|
+
assert_1.default.strictEqual(message, "Found a TypeScript project containing an index.js file and no explicit entrypoint" +
|
|
1228
1238
|
" in Pulumi.yaml - Pulumi will use index.js");
|
|
1229
1239
|
},
|
|
1230
1240
|
},
|
|
1241
|
+
"unusual_alias_names": {
|
|
1242
|
+
program: path.join(base, "070.unusual_alias_names"),
|
|
1243
|
+
expectResourceCount: 4,
|
|
1244
|
+
registerResource: (ctx, dryrun, t, name, res, ...args) => {
|
|
1245
|
+
return { urn: makeUrn(t, name), id: undefined, props: undefined };
|
|
1246
|
+
},
|
|
1247
|
+
},
|
|
1248
|
+
"large_alias_counts": {
|
|
1249
|
+
program: path.join(base, "071.large_alias_counts"),
|
|
1250
|
+
expectResourceCount: 1,
|
|
1251
|
+
registerResource: (ctx, dryrun, t, name, res, ...args) => {
|
|
1252
|
+
return { urn: makeUrn(t, name), id: undefined, props: undefined };
|
|
1253
|
+
},
|
|
1254
|
+
},
|
|
1231
1255
|
};
|
|
1232
1256
|
for (const casename of Object.keys(cases)) {
|
|
1233
1257
|
// if (casename.indexOf("async_components") < 0) {
|
|
@@ -1395,21 +1419,21 @@ describe("rpc", () => {
|
|
|
1395
1419
|
if (expectError === undefined) {
|
|
1396
1420
|
expectError = "";
|
|
1397
1421
|
}
|
|
1398
|
-
|
|
1422
|
+
assert_1.default.strictEqual(runError, expectError, `Expected an error of "${expectError}"; got "${runError}"`);
|
|
1399
1423
|
let expectBail = opts.expectBail;
|
|
1400
1424
|
if (expectBail === undefined) {
|
|
1401
1425
|
expectBail = false;
|
|
1402
1426
|
}
|
|
1403
|
-
|
|
1427
|
+
assert_1.default.strictEqual(runBail, expectBail, `Expected an 'bail' of "${expectBail}"; got "${runBail}"`);
|
|
1404
1428
|
let expectResourceCount = opts.expectResourceCount;
|
|
1405
1429
|
if (expectResourceCount === undefined) {
|
|
1406
1430
|
expectResourceCount = 0;
|
|
1407
1431
|
}
|
|
1408
|
-
|
|
1432
|
+
assert_1.default.strictEqual(regCnt, expectResourceCount, `Expected exactly ${expectResourceCount} resource registrations; got ${regCnt}`);
|
|
1409
1433
|
if (opts.expectedLogs) {
|
|
1410
1434
|
const logs = opts.expectedLogs;
|
|
1411
1435
|
if (logs.count) {
|
|
1412
|
-
|
|
1436
|
+
assert_1.default.strictEqual(logCnt, logs.count, `Expected exactly ${logs.count} logs; got ${logCnt}`);
|
|
1413
1437
|
}
|
|
1414
1438
|
}
|
|
1415
1439
|
}
|
|
@@ -1443,7 +1467,7 @@ function parentDefaultsRegisterResource(ctx, dryrun, t, name, res, dependencies,
|
|
|
1443
1467
|
expectProviderName = `${rpath.slice(0, i).join("/")}-p`;
|
|
1444
1468
|
break;
|
|
1445
1469
|
default:
|
|
1446
|
-
|
|
1470
|
+
assert_1.default.fail(`unexpected path element in name: ${rpath[i]}`);
|
|
1447
1471
|
}
|
|
1448
1472
|
}
|
|
1449
1473
|
// r3 explicitly overrides its provider.
|
|
@@ -1451,8 +1475,8 @@ function parentDefaultsRegisterResource(ctx, dryrun, t, name, res, dependencies,
|
|
|
1451
1475
|
expectProviderName = `${rpath.slice(0, rpath.length - 1).join("/")}-p`;
|
|
1452
1476
|
}
|
|
1453
1477
|
const providerName = provider.split("::").reduce((_, v) => v);
|
|
1454
|
-
|
|
1455
|
-
|
|
1478
|
+
assert_1.default.strictEqual(`${name}.protect: ${protect}`, `${name}.protect: ${expectProtect}`);
|
|
1479
|
+
assert_1.default.strictEqual(`${name}.provider: ${providerName}`, `${name}.provider: ${expectProviderName}`);
|
|
1456
1480
|
}
|
|
1457
1481
|
return { urn: makeUrn(t, name), id: name, props: {} };
|
|
1458
1482
|
}
|