@pulumi/esc-sdk 0.9.0-pubtest → 0.9.0-pubtest2

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pulumi/esc-sdk",
3
- "version": "v0.9.0-pubtest",
3
+ "version": "v0.9.0-pubtest2",
4
4
  "description": "NodeJS SDK for Pulumi ESC",
5
5
  "keywords": [
6
6
  "pulumi",
@@ -8,6 +8,7 @@
8
8
  "sdk",
9
9
  "category/cloud"
10
10
  ],
11
+ "main": "esc/src",
11
12
  "repository": {
12
13
  "type": "git",
13
14
  "url": "https://github.com/pulumi/esc.git",
package/package.json.bak CHANGED
@@ -8,6 +8,7 @@
8
8
  "sdk",
9
9
  "category/cloud"
10
10
  ],
11
+ "main": "esc/src",
11
12
  "repository": {
12
13
  "type": "git",
13
14
  "url": "https://github.com/pulumi/esc.git",
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,181 @@
1
+ "use strict";
2
+ // Copyright 2024, Pulumi Corporation.
3
+ //
4
+ // Licensed under the Apache License, Version 2.0 (the "License");
5
+ // you may not use this file except in compliance with the License.
6
+ // You may obtain a copy of the License at
7
+ //
8
+ // http://www.apache.org/licenses/LICENSE-2.0
9
+ //
10
+ // Unless required by applicable law or agreed to in writing, software
11
+ // distributed under the License is distributed on an "AS IS" BASIS,
12
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ // See the License for the specific language governing permissions and
14
+ // limitations under the License.
15
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
16
+ if (k2 === undefined) k2 = k;
17
+ var desc = Object.getOwnPropertyDescriptor(m, k);
18
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
19
+ desc = { enumerable: true, get: function() { return m[k]; } };
20
+ }
21
+ Object.defineProperty(o, k2, desc);
22
+ }) : (function(o, m, k, k2) {
23
+ if (k2 === undefined) k2 = k;
24
+ o[k2] = m[k];
25
+ }));
26
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
27
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
28
+ }) : function(o, v) {
29
+ o["default"] = v;
30
+ });
31
+ var __importStar = (this && this.__importStar) || function (mod) {
32
+ if (mod && mod.__esModule) return mod;
33
+ var result = {};
34
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
35
+ __setModuleDefault(result, mod);
36
+ return result;
37
+ };
38
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
39
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
40
+ return new (P || (P = Promise))(function (resolve, reject) {
41
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
42
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
43
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
44
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
45
+ });
46
+ };
47
+ var __importDefault = (this && this.__importDefault) || function (mod) {
48
+ return (mod && mod.__esModule) ? mod : { "default": mod };
49
+ };
50
+ Object.defineProperty(exports, "__esModule", { value: true });
51
+ const node_test_1 = require("node:test");
52
+ const assert_1 = __importDefault(require("assert"));
53
+ const esc = __importStar(require("../esc"));
54
+ const ENV_PREFIX = "sdk-ts-test";
55
+ (0, node_test_1.describe)("ESC", () => __awaiter(void 0, void 0, void 0, function* () {
56
+ const PULUMI_ACCESS_TOKEN = process.env.PULUMI_ACCESS_TOKEN;
57
+ const PULUMI_ORG = process.env.PULUMI_ORG;
58
+ if (!PULUMI_ACCESS_TOKEN) {
59
+ throw new Error("PULUMI_ACCESS_TOKEN not set");
60
+ }
61
+ if (!PULUMI_ORG) {
62
+ throw new Error("PULUMI_ORG not set");
63
+ }
64
+ let config = new esc.Configuration();
65
+ config.apiKey = `token ${PULUMI_ACCESS_TOKEN}`;
66
+ const client = new esc.EscApi(config);
67
+ const baseEnvName = `${ENV_PREFIX}-base-${Date.now()}`;
68
+ (0, node_test_1.before)(() => __awaiter(void 0, void 0, void 0, function* () {
69
+ const envDef = {
70
+ values: {
71
+ base: baseEnvName,
72
+ },
73
+ };
74
+ yield removeAllTestEnvs(client, PULUMI_ORG);
75
+ yield client.createEnvironment(PULUMI_ORG, baseEnvName);
76
+ yield client.updateEnvironment(PULUMI_ORG, baseEnvName, envDef);
77
+ }));
78
+ (0, node_test_1.after)(() => __awaiter(void 0, void 0, void 0, function* () {
79
+ yield client.deleteEnvironment(PULUMI_ORG, baseEnvName);
80
+ }));
81
+ (0, node_test_1.it)("should create, list, update, get, decrypt, open and delete an environment", () => __awaiter(void 0, void 0, void 0, function* () {
82
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
83
+ const name = `${ENV_PREFIX}-${Date.now()}`;
84
+ yield assert_1.default.doesNotReject(client.createEnvironment(PULUMI_ORG, name));
85
+ const orgs = yield client.listEnvironments(PULUMI_ORG);
86
+ assert_1.default.notEqual(orgs, undefined);
87
+ (0, assert_1.default)((_a = orgs === null || orgs === void 0 ? void 0 : orgs.environments) === null || _a === void 0 ? void 0 : _a.some((e) => e.name === name));
88
+ const envDef = {
89
+ imports: [baseEnvName],
90
+ values: {
91
+ foo: "bar",
92
+ my_secret: {
93
+ "fn::secret": "shh! don't tell anyone",
94
+ },
95
+ my_array: [1, 2, 3],
96
+ pulumiConfig: {
97
+ foo: "${foo}",
98
+ },
99
+ environmentVariables: {
100
+ FOO: "${foo}",
101
+ },
102
+ },
103
+ };
104
+ const diags = yield client.updateEnvironment(PULUMI_ORG, name, envDef);
105
+ assert_1.default.notEqual(diags, undefined);
106
+ assert_1.default.equal(diags === null || diags === void 0 ? void 0 : diags.diagnostics, undefined);
107
+ const env = yield client.getEnvironment(PULUMI_ORG, name);
108
+ assert_1.default.notEqual(env, undefined);
109
+ assertEnvDef(env, baseEnvName);
110
+ assert_1.default.notEqual((_c = (_b = env === null || env === void 0 ? void 0 : env.definition) === null || _b === void 0 ? void 0 : _b.values) === null || _c === void 0 ? void 0 : _c.my_secret, undefined);
111
+ const decryptEnv = yield client.decryptEnvironment(PULUMI_ORG, name);
112
+ assert_1.default.notEqual(decryptEnv, undefined);
113
+ assertEnvDef(decryptEnv, baseEnvName);
114
+ assert_1.default.equal((_e = (_d = decryptEnv === null || decryptEnv === void 0 ? void 0 : decryptEnv.definition) === null || _d === void 0 ? void 0 : _d.values) === null || _e === void 0 ? void 0 : _e.my_secret["fn::secret"], "shh! don't tell anyone");
115
+ const openEnv = yield client.openAndReadEnvironment(PULUMI_ORG, name);
116
+ assert_1.default.equal((_f = openEnv === null || openEnv === void 0 ? void 0 : openEnv.values) === null || _f === void 0 ? void 0 : _f.base, baseEnvName);
117
+ assert_1.default.equal((_g = openEnv === null || openEnv === void 0 ? void 0 : openEnv.values) === null || _g === void 0 ? void 0 : _g.foo, "bar");
118
+ assert_1.default.deepEqual((_h = openEnv === null || openEnv === void 0 ? void 0 : openEnv.values) === null || _h === void 0 ? void 0 : _h.my_array, [1, 2, 3]);
119
+ assert_1.default.deepEqual((_j = openEnv === null || openEnv === void 0 ? void 0 : openEnv.values) === null || _j === void 0 ? void 0 : _j.my_secret, "shh! don't tell anyone");
120
+ assert_1.default.equal((_l = (_k = openEnv === null || openEnv === void 0 ? void 0 : openEnv.values) === null || _k === void 0 ? void 0 : _k.pulumiConfig) === null || _l === void 0 ? void 0 : _l.foo, "bar");
121
+ assert_1.default.equal((_o = (_m = openEnv === null || openEnv === void 0 ? void 0 : openEnv.values) === null || _m === void 0 ? void 0 : _m.environmentVariables) === null || _o === void 0 ? void 0 : _o.FOO, "bar");
122
+ console.log("test");
123
+ const openInfo = yield client.openEnvironment(PULUMI_ORG, name);
124
+ assert_1.default.notEqual(openInfo, undefined);
125
+ const value = yield client.readOpenEnvironmentProperty(PULUMI_ORG, name, openInfo === null || openInfo === void 0 ? void 0 : openInfo.id, "pulumiConfig.foo");
126
+ assert_1.default.equal(value === null || value === void 0 ? void 0 : value.value, "bar");
127
+ yield client.deleteEnvironment(PULUMI_ORG, name);
128
+ }));
129
+ (0, node_test_1.it)("check environment valid", () => __awaiter(void 0, void 0, void 0, function* () {
130
+ var _p;
131
+ const envDef = {
132
+ values: {
133
+ foo: "bar",
134
+ },
135
+ };
136
+ const diags = yield client.checkEnvironment(PULUMI_ORG, envDef);
137
+ assert_1.default.notEqual(diags, undefined);
138
+ assert_1.default.equal((_p = diags === null || diags === void 0 ? void 0 : diags.diagnostics) === null || _p === void 0 ? void 0 : _p.length, 0);
139
+ }));
140
+ (0, node_test_1.it)("check environment invalid", () => __awaiter(void 0, void 0, void 0, function* () {
141
+ var _q, _r;
142
+ const envDef = {
143
+ values: {
144
+ foo: "bar",
145
+ pulumiConfig: {
146
+ foo: "${bad_ref}",
147
+ },
148
+ },
149
+ };
150
+ const diags = yield client.checkEnvironment(PULUMI_ORG, envDef);
151
+ assert_1.default.notEqual(diags, undefined);
152
+ assert_1.default.equal((_q = diags === null || diags === void 0 ? void 0 : diags.diagnostics) === null || _q === void 0 ? void 0 : _q.length, 1);
153
+ assert_1.default.equal((_r = diags === null || diags === void 0 ? void 0 : diags.diagnostics) === null || _r === void 0 ? void 0 : _r[0].summary, `unknown property "bad_ref"`);
154
+ }));
155
+ }));
156
+ function assertEnvDef(env, baseEnvName) {
157
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
158
+ assert_1.default.equal((_b = (_a = env.definition) === null || _a === void 0 ? void 0 : _a.imports) === null || _b === void 0 ? void 0 : _b.length, 1);
159
+ assert_1.default.equal((_d = (_c = env.definition) === null || _c === void 0 ? void 0 : _c.imports) === null || _d === void 0 ? void 0 : _d[0], baseEnvName);
160
+ assert_1.default.equal((_f = (_e = env.definition) === null || _e === void 0 ? void 0 : _e.values) === null || _f === void 0 ? void 0 : _f.foo, "bar");
161
+ assert_1.default.deepEqual((_h = (_g = env.definition) === null || _g === void 0 ? void 0 : _g.values) === null || _h === void 0 ? void 0 : _h.my_array, [1, 2, 3]);
162
+ assert_1.default.equal((_l = (_k = (_j = env.definition) === null || _j === void 0 ? void 0 : _j.values) === null || _k === void 0 ? void 0 : _k.pulumiConfig) === null || _l === void 0 ? void 0 : _l.foo, "${foo}");
163
+ assert_1.default.equal((_p = (_o = (_m = env.definition) === null || _m === void 0 ? void 0 : _m.values) === null || _o === void 0 ? void 0 : _o.environmentVariables) === null || _p === void 0 ? void 0 : _p.FOO, "${foo}");
164
+ }
165
+ function removeAllTestEnvs(client, orgName) {
166
+ return __awaiter(this, void 0, void 0, function* () {
167
+ var _a;
168
+ let continuationToken = undefined;
169
+ do {
170
+ const orgs = yield client.listEnvironments(orgName, continuationToken);
171
+ assert_1.default.notEqual(orgs, undefined);
172
+ (_a = orgs === null || orgs === void 0 ? void 0 : orgs.environments) === null || _a === void 0 ? void 0 : _a.forEach((e) => __awaiter(this, void 0, void 0, function* () {
173
+ if (e.name.startsWith(ENV_PREFIX)) {
174
+ yield client.deleteEnvironment(orgName, e.name);
175
+ }
176
+ }));
177
+ continuationToken = orgs === null || orgs === void 0 ? void 0 : orgs.nextToken;
178
+ } while (continuationToken !== undefined && continuationToken !== "");
179
+ });
180
+ }
181
+ //# sourceMappingURL=client.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.spec.js","sourceRoot":"","sources":["../../test/client.spec.ts"],"names":[],"mappings":"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"}
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes