@rockcarver/frodo-lib 2.0.0-45 → 2.0.0-46
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/build.zip +0 -0
- package/cjs/ops/cloud/SecretsOps.js +117 -23
- package/cjs/ops/cloud/SecretsOps.js.map +1 -1
- package/cjs/ops/cloud/SecretsOps.test.js +177 -0
- package/cjs/ops/cloud/SecretsOps.test.js.map +1 -0
- package/cjs/ops/cloud/VariablesOps.js +113 -16
- package/cjs/ops/cloud/VariablesOps.js.map +1 -1
- package/cjs/ops/cloud/VariablesOps.test.js +186 -0
- package/cjs/ops/cloud/VariablesOps.test.js.map +1 -0
- package/esm/ops/cloud/SecretsOps.js +79 -3
- package/esm/ops/cloud/SecretsOps.js.map +1 -1
- package/esm/ops/cloud/SecretsOps.test.js +164 -0
- package/esm/ops/cloud/SecretsOps.test.js.map +1 -0
- package/esm/ops/cloud/VariablesOps.js +77 -0
- package/esm/ops/cloud/VariablesOps.js.map +1 -1
- package/esm/ops/cloud/VariablesOps.test.js +173 -0
- package/esm/ops/cloud/VariablesOps.test.js.map +1 -0
- package/package.json +1 -1
- package/types/ops/cloud/SecretsOps.d.ts +32 -2
- package/types/ops/cloud/SecretsOps.d.ts.map +1 -1
- package/types/ops/cloud/VariablesOps.d.ts +30 -0
- package/types/ops/cloud/VariablesOps.d.ts.map +1 -1
package/build.zip
CHANGED
|
Binary file
|
|
@@ -9,6 +9,7 @@ Object.defineProperty(exports, "createSecret", {
|
|
|
9
9
|
return _SecretsApi.putSecret;
|
|
10
10
|
}
|
|
11
11
|
});
|
|
12
|
+
exports.createSecretsExportTemplate = createSecretsExportTemplate;
|
|
12
13
|
Object.defineProperty(exports, "createVersionOfSecret", {
|
|
13
14
|
enumerable: true,
|
|
14
15
|
get: function get() {
|
|
@@ -22,20 +23,11 @@ Object.defineProperty(exports, "deleteSecret", {
|
|
|
22
23
|
return _SecretsApi.deleteSecret;
|
|
23
24
|
}
|
|
24
25
|
});
|
|
25
|
-
Object.defineProperty(exports, "deleteVersionOfSecret", {
|
|
26
|
-
enumerable: true,
|
|
27
|
-
get: function get() {
|
|
28
|
-
return _SecretsApi.deleteVersionOfSecret;
|
|
29
|
-
}
|
|
30
|
-
});
|
|
31
26
|
exports.disableVersionOfSecret = disableVersionOfSecret;
|
|
32
27
|
exports.enableVersionOfSecret = enableVersionOfSecret;
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
return _SecretsApi.getSecret;
|
|
37
|
-
}
|
|
38
|
-
});
|
|
28
|
+
exports.exportSecret = exportSecret;
|
|
29
|
+
exports.exportSecrets = exportSecrets;
|
|
30
|
+
exports.readSecret = readSecret;
|
|
39
31
|
exports.readSecrets = readSecrets;
|
|
40
32
|
Object.defineProperty(exports, "readVersionOfSecret", {
|
|
41
33
|
enumerable: true,
|
|
@@ -56,6 +48,8 @@ Object.defineProperty(exports, "updateSecretDescription", {
|
|
|
56
48
|
}
|
|
57
49
|
});
|
|
58
50
|
var _SecretsApi = require("../../api/cloud/SecretsApi.js");
|
|
51
|
+
var _Console = require("../../utils/Console.js");
|
|
52
|
+
var _ExportImportUtils = require("../../utils/ExportImportUtils.js");
|
|
59
53
|
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
60
54
|
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
61
55
|
var _default = state => {
|
|
@@ -69,12 +63,27 @@ var _default = state => {
|
|
|
69
63
|
},
|
|
70
64
|
readSecret(secretId) {
|
|
71
65
|
return _asyncToGenerator(function* () {
|
|
72
|
-
return (
|
|
66
|
+
return readSecret({
|
|
73
67
|
secretId,
|
|
74
68
|
state
|
|
75
69
|
});
|
|
76
70
|
})();
|
|
77
71
|
},
|
|
72
|
+
exportSecret(secretId) {
|
|
73
|
+
return _asyncToGenerator(function* () {
|
|
74
|
+
return exportSecret({
|
|
75
|
+
secretId,
|
|
76
|
+
state
|
|
77
|
+
});
|
|
78
|
+
})();
|
|
79
|
+
},
|
|
80
|
+
exportSecrets() {
|
|
81
|
+
return _asyncToGenerator(function* () {
|
|
82
|
+
return exportSecrets({
|
|
83
|
+
state
|
|
84
|
+
});
|
|
85
|
+
})();
|
|
86
|
+
},
|
|
78
87
|
createSecret(secretId, value, description) {
|
|
79
88
|
var _arguments = arguments;
|
|
80
89
|
return _asyncToGenerator(function* () {
|
|
@@ -160,7 +169,7 @@ var _default = state => {
|
|
|
160
169
|
});
|
|
161
170
|
})();
|
|
162
171
|
},
|
|
163
|
-
//
|
|
172
|
+
// Deprecated
|
|
164
173
|
|
|
165
174
|
getSecrets() {
|
|
166
175
|
return _asyncToGenerator(function* () {
|
|
@@ -240,16 +249,85 @@ var _default = state => {
|
|
|
240
249
|
};
|
|
241
250
|
};
|
|
242
251
|
exports.default = _default;
|
|
243
|
-
function
|
|
252
|
+
function createSecretsExportTemplate(_ref) {
|
|
253
|
+
var {
|
|
254
|
+
state
|
|
255
|
+
} = _ref;
|
|
256
|
+
return {
|
|
257
|
+
meta: (0, _ExportImportUtils.getMetadata)({
|
|
258
|
+
state
|
|
259
|
+
}),
|
|
260
|
+
secrets: {}
|
|
261
|
+
};
|
|
262
|
+
}
|
|
263
|
+
function exportSecret(_x) {
|
|
264
|
+
return _exportSecret.apply(this, arguments);
|
|
265
|
+
}
|
|
266
|
+
function _exportSecret() {
|
|
267
|
+
_exportSecret = _asyncToGenerator(function* (_ref2) {
|
|
268
|
+
var {
|
|
269
|
+
secretId,
|
|
270
|
+
state
|
|
271
|
+
} = _ref2;
|
|
272
|
+
(0, _Console.debugMessage)({
|
|
273
|
+
message: "SecretsOps.exportSecret: start",
|
|
274
|
+
state
|
|
275
|
+
});
|
|
276
|
+
var exportData = createSecretsExportTemplate({
|
|
277
|
+
state
|
|
278
|
+
});
|
|
279
|
+
var secret = yield (0, _SecretsApi.getSecret)({
|
|
280
|
+
secretId,
|
|
281
|
+
state
|
|
282
|
+
});
|
|
283
|
+
exportData.secrets[secret._id] = secret;
|
|
284
|
+
(0, _Console.debugMessage)({
|
|
285
|
+
message: "VariablesOps.exportSecret: end",
|
|
286
|
+
state
|
|
287
|
+
});
|
|
288
|
+
return exportData;
|
|
289
|
+
});
|
|
290
|
+
return _exportSecret.apply(this, arguments);
|
|
291
|
+
}
|
|
292
|
+
function exportSecrets(_x2) {
|
|
293
|
+
return _exportSecrets.apply(this, arguments);
|
|
294
|
+
}
|
|
295
|
+
function _exportSecrets() {
|
|
296
|
+
_exportSecrets = _asyncToGenerator(function* (_ref3) {
|
|
297
|
+
var {
|
|
298
|
+
state
|
|
299
|
+
} = _ref3;
|
|
300
|
+
(0, _Console.debugMessage)({
|
|
301
|
+
message: "SecretsOps.exportSecrets: start",
|
|
302
|
+
state
|
|
303
|
+
});
|
|
304
|
+
var exportData = createSecretsExportTemplate({
|
|
305
|
+
state
|
|
306
|
+
});
|
|
307
|
+
var secrets = yield readSecrets({
|
|
308
|
+
state
|
|
309
|
+
});
|
|
310
|
+
for (var secret of secrets) {
|
|
311
|
+
exportData.secrets[secret._id] = secret;
|
|
312
|
+
}
|
|
313
|
+
(0, _Console.debugMessage)({
|
|
314
|
+
message: "SecretsOps.exportSecrets: end",
|
|
315
|
+
state
|
|
316
|
+
});
|
|
317
|
+
return exportData;
|
|
318
|
+
});
|
|
319
|
+
return _exportSecrets.apply(this, arguments);
|
|
320
|
+
}
|
|
321
|
+
function enableVersionOfSecret(_x3) {
|
|
244
322
|
return _enableVersionOfSecret.apply(this, arguments);
|
|
245
323
|
}
|
|
246
324
|
function _enableVersionOfSecret() {
|
|
247
|
-
_enableVersionOfSecret = _asyncToGenerator(function* (
|
|
325
|
+
_enableVersionOfSecret = _asyncToGenerator(function* (_ref4) {
|
|
248
326
|
var {
|
|
249
327
|
secretId,
|
|
250
328
|
version,
|
|
251
329
|
state
|
|
252
|
-
} =
|
|
330
|
+
} = _ref4;
|
|
253
331
|
return (0, _SecretsApi.setStatusOfVersionOfSecret)({
|
|
254
332
|
secretId,
|
|
255
333
|
version,
|
|
@@ -259,16 +337,16 @@ function _enableVersionOfSecret() {
|
|
|
259
337
|
});
|
|
260
338
|
return _enableVersionOfSecret.apply(this, arguments);
|
|
261
339
|
}
|
|
262
|
-
function disableVersionOfSecret(
|
|
340
|
+
function disableVersionOfSecret(_x4) {
|
|
263
341
|
return _disableVersionOfSecret.apply(this, arguments);
|
|
264
342
|
}
|
|
265
343
|
function _disableVersionOfSecret() {
|
|
266
|
-
_disableVersionOfSecret = _asyncToGenerator(function* (
|
|
344
|
+
_disableVersionOfSecret = _asyncToGenerator(function* (_ref5) {
|
|
267
345
|
var {
|
|
268
346
|
secretId,
|
|
269
347
|
version,
|
|
270
348
|
state
|
|
271
|
-
} =
|
|
349
|
+
} = _ref5;
|
|
272
350
|
return (0, _SecretsApi.setStatusOfVersionOfSecret)({
|
|
273
351
|
secretId,
|
|
274
352
|
version,
|
|
@@ -278,14 +356,30 @@ function _disableVersionOfSecret() {
|
|
|
278
356
|
});
|
|
279
357
|
return _disableVersionOfSecret.apply(this, arguments);
|
|
280
358
|
}
|
|
281
|
-
function
|
|
359
|
+
function readSecret(_x5) {
|
|
360
|
+
return _readSecret.apply(this, arguments);
|
|
361
|
+
}
|
|
362
|
+
function _readSecret() {
|
|
363
|
+
_readSecret = _asyncToGenerator(function* (_ref6) {
|
|
364
|
+
var {
|
|
365
|
+
secretId,
|
|
366
|
+
state
|
|
367
|
+
} = _ref6;
|
|
368
|
+
return yield (0, _SecretsApi.getSecret)({
|
|
369
|
+
secretId,
|
|
370
|
+
state
|
|
371
|
+
});
|
|
372
|
+
});
|
|
373
|
+
return _readSecret.apply(this, arguments);
|
|
374
|
+
}
|
|
375
|
+
function readSecrets(_x6) {
|
|
282
376
|
return _readSecrets.apply(this, arguments);
|
|
283
377
|
}
|
|
284
378
|
function _readSecrets() {
|
|
285
|
-
_readSecrets = _asyncToGenerator(function* (
|
|
379
|
+
_readSecrets = _asyncToGenerator(function* (_ref7) {
|
|
286
380
|
var {
|
|
287
381
|
state
|
|
288
|
-
} =
|
|
382
|
+
} = _ref7;
|
|
289
383
|
var {
|
|
290
384
|
result
|
|
291
385
|
} = yield (0, _SecretsApi.getSecrets)({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SecretsOps.js","names":["state","readSecrets","_asyncToGenerator","readSecret","secretId","_getSecret","createSecret","value","description","_arguments","arguments","encoding","length","undefined","useInPlaceholders","_putSecret","updateSecretDescription","_setSecretDescription","deleteSecret","_deleteSecret","readVersionsOfSecret","_getSecretVersions","createVersionOfSecret","_createNewVersionOfSecret","readVersionOfSecret","version","_getVersionOfSecret","enableVersionOfSecret","disableVersionOfSecret","deleteVersionOfSecret","_deleteVersionOfSecret","getSecrets","getSecret","putSecret","_arguments2","setSecretDescription","getSecretVersions","createNewVersionOfSecret","getVersionOfSecret","setStatusOfVersionOfSecret","status","_setStatusOfVersionOfSecret","exports","default","_default","_x","_enableVersionOfSecret","apply","_ref","_x2","_disableVersionOfSecret","_ref2","_x3","_readSecrets","_ref3","result","_getSecrets"],"sources":["../../../src/ops/cloud/SecretsOps.ts"],"sourcesContent":["import {\n createNewVersionOfSecret as _createNewVersionOfSecret,\n deleteSecret as _deleteSecret,\n deleteVersionOfSecret as _deleteVersionOfSecret,\n getSecret as _getSecret,\n getSecrets as _getSecrets,\n getSecretVersions as _getSecretVersions,\n getVersionOfSecret as _getVersionOfSecret,\n putSecret as _putSecret,\n SecretSkeleton,\n setSecretDescription as _setSecretDescription,\n setStatusOfVersionOfSecret as _setStatusOfVersionOfSecret,\n VersionOfSecretSkeleton,\n VersionOfSecretStatus,\n} from '../../api/cloud/SecretsApi';\nimport { State } from '../../shared/State';\n\nexport type Secret = {\n /**\n * Read all secrets\n * @returns {Promise<SecretSkeleton[]>} a promise that resolves to an array of secrets\n */\n readSecrets(): Promise<SecretSkeleton[]>;\n /**\n * Read secret\n * @param secretId secret id/name\n * @returns {Promise<SecretSkeleton>} a promise that resolves to a secret\n */\n readSecret(secretId: string): Promise<SecretSkeleton>;\n /**\n * Create secret\n * @param {string} secretId secret id/name\n * @param {string} value secret value\n * @param {string} description secret description\n * @param {string} encoding secret encoding (only `generic` is supported)\n * @param {boolean} useInPlaceholders flag indicating if the secret can be used in placeholders\n * @returns {Promise<SecretSkeleton>} a promise that resolves to a secret\n */\n createSecret(\n secretId: string,\n value: string,\n description: string,\n encoding?: string,\n useInPlaceholders?: boolean\n ): Promise<SecretSkeleton>;\n /**\n * Update secret description\n * @param {string} secretId secret id/name\n * @param {string} description secret description\n * @returns {Promise<any>} a promise that resolves to an empty string\n */\n updateSecretDescription(secretId: string, description: string): Promise<any>;\n /**\n * Delete secret\n * @param {string} secretId secret id/name\n * @returns {Promise<SecretSkeleton>} a promise that resolves to a secret object\n */\n deleteSecret(secretId: string): Promise<SecretSkeleton>;\n /**\n * Read versions of secret\n * @param {string} secretId secret id/name\n * @returns {Promise<VersionOfSecretSkeleton[]>} a promise that resolves to an array of secret versions\n */\n readVersionsOfSecret(secretId: string): Promise<VersionOfSecretSkeleton[]>;\n /**\n * Create version of secret\n * @param {string} secretId secret id/name\n * @param {string} value secret value\n * @returns {Promise<VersionOfSecretSkeleton>} a promise that resolves to a version object\n */\n createVersionOfSecret(\n secretId: string,\n value: string\n ): Promise<VersionOfSecretSkeleton>;\n /**\n * Read version of secret\n * @param {string} secretId secret id/name\n * @param {string} version secret version\n * @returns {Promise<VersionOfSecretSkeleton>} a promise that resolves to a version object\n */\n readVersionOfSecret(\n secretId: string,\n version: string\n ): Promise<VersionOfSecretSkeleton>;\n /**\n * Enable a version of a secret\n * @param {string} secretId secret id/name\n * @param {string} version secret version\n * @returns {Promise<VersionOfSecretSkeleton>} a promise that resolves to a status object\n */\n enableVersionOfSecret(\n secretId: string,\n version: string\n ): Promise<VersionOfSecretSkeleton>;\n /**\n * Disable a version of a secret\n * @param {string} secretId secret id/name\n * @param {string} version secret version\n * @returns {Promise<VersionOfSecretSkeleton>} a promise that resolves to a status object\n */\n disableVersionOfSecret(\n secretId: string,\n version: string\n ): Promise<VersionOfSecretSkeleton>;\n /**\n * Delete version of secret\n * @param {string} secretId secret id/name\n * @param {string} version secret version\n * @returns {Promise<VersionOfSecretSkeleton>} a promise that resolves to a version object\n */\n deleteVersionOfSecret(\n secretId: string,\n version: string\n ): Promise<VersionOfSecretSkeleton>;\n\n // Deprecated\n\n /**\n * Get all secrets\n * @returns {Promise<any[]>} a promise that resolves to an array of secrets\n * @deprecated since v2.0.0 use {@link Secret.readSecrets | readSecrets} instead\n * ```javascript\n * readSecrets(): Promise<SecretSkeleton[]>\n * ```\n * @group Deprecated\n */\n getSecrets(): Promise<SecretSkeleton[]>;\n /**\n * Get secret\n * @param secretId secret id/name\n * @returns {Promise<SecretSkeleton>} a promise that resolves to a secret\n * @deprecated since v2.0.0 use {@link Secret.readSecret | readSecret} instead\n * ```javascript\n * readSecret(secretId: string): Promise<any>\n * ```\n * @group Deprecated\n */\n getSecret(secretId: string): Promise<SecretSkeleton>;\n /**\n * Create secret\n * @param {string} secretId secret id/name\n * @param {string} value secret value\n * @param {string} description secret description\n * @param {string} encoding secret encoding (only `generic` is supported)\n * @param {boolean} useInPlaceholders flag indicating if the secret can be used in placeholders\n * @returns {Promise<SecretSkeleton>} a promise that resolves to a secret\n * @deprecated since v2.0.0 use {@link Secret.createSecret | createSecret} instead\n * ```javascript\n * createSecret(secretId: string, value: string, description: string, encoding?: string, useInPlaceholders?: boolean): Promise<any>\n * ```\n * @group Deprecated\n */\n putSecret(\n secretId: string,\n value: string,\n description: string,\n encoding?: string,\n useInPlaceholders?: boolean\n ): Promise<SecretSkeleton>;\n /**\n * Set secret description\n * @param {string} secretId secret id/name\n * @param {string} description secret description\n * @returns {Promise<any>} a promise that resolves to an empty string\n * @deprecated since v2.0.0 use {@link Secret.updateSecretDescription | updateSecretDescription} instead\n * ```javascript\n * updateSecretDescription(secretId: string, description: string): Promise<any>\n * ```\n * @group Deprecated\n */\n setSecretDescription(secretId: string, description: string): Promise<any>;\n /**\n * Get secret versions\n * @param {string} secretId secret id/name\n * @returns {Promise<VersionOfSecretSkeleton[]>} a promise that resolves to an array of secret versions\n * @deprecated since v2.0.0 use {@link Secret.readVersionsOfSecret | readVersionsOfSecret} instead\n * ```javascript\n * readVersionsOfSecret(secretId: string): Promise<any>\n * ```\n * @group Deprecated\n */\n getSecretVersions(secretId: string): Promise<VersionOfSecretSkeleton[]>;\n /**\n * Create new secret version\n * @param {string} secretId secret id/name\n * @param {string} value secret value\n * @returns {Promise<VersionOfSecretSkeleton>} a promise that resolves to a version object\n * @deprecated since v2.0.0 use {@link Secret.createVersionOfSecret | createVersionOfSecret} instead\n * ```javascript\n * createVersionOfSecret(secretId: string, value: string): Promise<any>\n * ```\n * @group Deprecated\n */\n createNewVersionOfSecret(\n secretId: string,\n value: string\n ): Promise<VersionOfSecretSkeleton>;\n /**\n * Get version of secret\n * @param {string} secretId secret id/name\n * @param {string} version secret version\n * @returns {Promise<VersionOfSecretSkeleton>} a promise that resolves to a version object\n * @deprecated since v2.0.0 use {@link Secret.readVersionOfSecret | readVersionOfSecret} instead\n * ```javascript\n * readVersionOfSecret(secretId: string, version: string): Promise<any>\n * ```\n * @group Deprecated\n */\n getVersionOfSecret(\n secretId: string,\n version: string\n ): Promise<VersionOfSecretSkeleton>;\n /**\n * Update the status of a version of a secret\n * @param {string} secretId secret id/name\n * @param {string} version secret version\n * @param {VersionOfSecretStatus} status status\n * @returns {Promise<VersionOfSecretSkeleton>} a promise that resolves to a status object\n * @deprecated since v2.0.0 use {@link Secret.enableVersionOfSecret | enableVersionOfSecret} or {@link Secret.disableVersionOfSecret | disableVersionOfSecret} instead\n * ```javascript\n * enableVersionOfSecret(secretId: string, version: string): Promise<any>\n * disableVersionOfSecret(secretId: string, version: string): Promise<any>\n * ```\n * @group Deprecated\n */\n setStatusOfVersionOfSecret(\n secretId: string,\n version: string,\n status: VersionOfSecretStatus\n ): Promise<VersionOfSecretSkeleton>;\n};\n\nexport default (state: State): Secret => {\n return {\n async readSecrets() {\n return readSecrets({ state });\n },\n async readSecret(secretId: string) {\n return _getSecret({ secretId, state });\n },\n async createSecret(\n secretId: string,\n value: string,\n description: string,\n encoding = 'generic',\n useInPlaceholders = true\n ) {\n return _putSecret({\n secretId,\n value,\n description,\n encoding,\n useInPlaceholders,\n state,\n });\n },\n async updateSecretDescription(secretId: string, description: string) {\n return _setSecretDescription({ secretId, description, state });\n },\n async deleteSecret(secretId: string) {\n return _deleteSecret({ secretId, state });\n },\n async readVersionsOfSecret(secretId: string) {\n return _getSecretVersions({ secretId, state });\n },\n async createVersionOfSecret(secretId: string, value: string) {\n return _createNewVersionOfSecret({ secretId, value, state });\n },\n async readVersionOfSecret(secretId: string, version: string) {\n return _getVersionOfSecret({ secretId, version, state });\n },\n async enableVersionOfSecret(secretId: string, version: string) {\n return enableVersionOfSecret({\n secretId,\n version,\n state,\n });\n },\n async disableVersionOfSecret(secretId: string, version: string) {\n return disableVersionOfSecret({\n secretId,\n version,\n state,\n });\n },\n async deleteVersionOfSecret(secretId: string, version: string) {\n return _deleteVersionOfSecret({ secretId, version, state });\n },\n\n // Deprecatd\n\n async getSecrets() {\n return readSecrets({ state });\n },\n async getSecret(secretId: string) {\n return _getSecret({ secretId, state });\n },\n async putSecret(\n secretId: string,\n value: string,\n description: string,\n encoding = 'generic',\n useInPlaceholders = true\n ) {\n return _putSecret({\n secretId,\n value,\n description,\n encoding,\n useInPlaceholders,\n state,\n });\n },\n async setSecretDescription(secretId: string, description: string) {\n return _setSecretDescription({ secretId, description, state });\n },\n async getSecretVersions(secretId: string) {\n return _getSecretVersions({ secretId, state });\n },\n async createNewVersionOfSecret(secretId: string, value: string) {\n return _createNewVersionOfSecret({ secretId, value, state });\n },\n async getVersionOfSecret(secretId: string, version: string) {\n return _getVersionOfSecret({ secretId, version, state });\n },\n async setStatusOfVersionOfSecret(\n secretId: string,\n version: string,\n status: VersionOfSecretStatus\n ) {\n return _setStatusOfVersionOfSecret({\n secretId,\n version,\n status,\n state,\n });\n },\n };\n};\n\nexport async function enableVersionOfSecret({\n secretId,\n version,\n state,\n}: {\n secretId: string;\n version: string;\n state: State;\n}) {\n return _setStatusOfVersionOfSecret({\n secretId,\n version,\n status: 'ENABLED',\n state,\n });\n}\n\nexport async function disableVersionOfSecret({\n secretId,\n version,\n state,\n}: {\n secretId: string;\n version: string;\n state: State;\n}) {\n return _setStatusOfVersionOfSecret({\n secretId,\n version,\n status: 'DISABLED',\n state,\n });\n}\n\nexport async function readSecrets({\n state,\n}: {\n state: State;\n}): Promise<SecretSkeleton[]> {\n const { result } = await _getSecrets({ state });\n return result;\n}\n\nexport {\n _putSecret as createSecret,\n _createNewVersionOfSecret as createVersionOfSecret,\n _deleteSecret as deleteSecret,\n _deleteVersionOfSecret as deleteVersionOfSecret,\n _getSecret as readSecret,\n _getVersionOfSecret as readVersionOfSecret,\n _getSecretVersions as readVersionsOfSecret,\n _setSecretDescription as updateSecretDescription,\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SecretsOps.js","names":["state","readSecrets","_asyncToGenerator","readSecret","secretId","exportSecret","exportSecrets","createSecret","value","description","_arguments","arguments","encoding","length","undefined","useInPlaceholders","_putSecret","updateSecretDescription","_setSecretDescription","deleteSecret","_deleteSecret","readVersionsOfSecret","_getSecretVersions","createVersionOfSecret","_createNewVersionOfSecret","readVersionOfSecret","version","_getVersionOfSecret","enableVersionOfSecret","disableVersionOfSecret","deleteVersionOfSecret","_deleteVersionOfSecret","getSecrets","getSecret","_getSecret","putSecret","_arguments2","setSecretDescription","getSecretVersions","createNewVersionOfSecret","getVersionOfSecret","setStatusOfVersionOfSecret","status","_setStatusOfVersionOfSecret","exports","default","_default","createSecretsExportTemplate","_ref","meta","getMetadata","secrets","_x","_exportSecret","apply","_ref2","debugMessage","message","exportData","secret","_id","_x2","_exportSecrets","_ref3","_x3","_enableVersionOfSecret","_ref4","_x4","_disableVersionOfSecret","_ref5","_x5","_readSecret","_ref6","_x6","_readSecrets","_ref7","result","_getSecrets"],"sources":["../../../src/ops/cloud/SecretsOps.ts"],"sourcesContent":["import {\n createNewVersionOfSecret as _createNewVersionOfSecret,\n deleteSecret as _deleteSecret,\n deleteVersionOfSecret as _deleteVersionOfSecret,\n getSecret as _getSecret,\n getSecrets as _getSecrets,\n getSecretVersions as _getSecretVersions,\n getVersionOfSecret as _getVersionOfSecret,\n putSecret as _putSecret,\n SecretSkeleton,\n setSecretDescription as _setSecretDescription,\n setStatusOfVersionOfSecret as _setStatusOfVersionOfSecret,\n VersionOfSecretSkeleton,\n VersionOfSecretStatus,\n} from '../../api/cloud/SecretsApi';\nimport { State } from '../../shared/State';\nimport { debugMessage } from '../../utils/Console';\nimport { getMetadata } from '../../utils/ExportImportUtils';\nimport { ExportMetaData } from '../OpsTypes';\n\nexport type Secret = {\n /**\n * Read all secrets\n * @returns {Promise<SecretSkeleton[]>} a promise that resolves to an array of secrets\n */\n readSecrets(): Promise<SecretSkeleton[]>;\n /**\n * Read secret\n * @param secretId secret id/name\n * @returns {Promise<SecretSkeleton>} a promise that resolves to a secret\n */\n readSecret(secretId: string): Promise<SecretSkeleton>;\n /**\n * Export secret. The response can be saved to file as is.\n * @param secretId secret id/name\n * @returns {Promise<SecretsExportInterface>} Promise resolving to a SecretsExportInterface object.\n */\n exportSecret(secretId): Promise<SecretsExportInterface>;\n /**\n * Export all secrets\n * @returns {Promise<SecretsExportInterface>} Promise resolving to an SecretsExportInterface object.\n */\n exportSecrets(): Promise<SecretsExportInterface>;\n /**\n * Create secret\n * @param {string} secretId secret id/name\n * @param {string} value secret value\n * @param {string} description secret description\n * @param {string} encoding secret encoding (only `generic` is supported)\n * @param {boolean} useInPlaceholders flag indicating if the secret can be used in placeholders\n * @returns {Promise<SecretSkeleton>} a promise that resolves to a secret\n */\n createSecret(\n secretId: string,\n value: string,\n description: string,\n encoding?: string,\n useInPlaceholders?: boolean\n ): Promise<SecretSkeleton>;\n /**\n * Update secret description\n * @param {string} secretId secret id/name\n * @param {string} description secret description\n * @returns {Promise<any>} a promise that resolves to an empty string\n */\n updateSecretDescription(secretId: string, description: string): Promise<any>;\n /**\n * Delete secret\n * @param {string} secretId secret id/name\n * @returns {Promise<SecretSkeleton>} a promise that resolves to a secret object\n */\n deleteSecret(secretId: string): Promise<SecretSkeleton>;\n /**\n * Read versions of secret\n * @param {string} secretId secret id/name\n * @returns {Promise<VersionOfSecretSkeleton[]>} a promise that resolves to an array of secret versions\n */\n readVersionsOfSecret(secretId: string): Promise<VersionOfSecretSkeleton[]>;\n /**\n * Create version of secret\n * @param {string} secretId secret id/name\n * @param {string} value secret value\n * @returns {Promise<VersionOfSecretSkeleton>} a promise that resolves to a version object\n */\n createVersionOfSecret(\n secretId: string,\n value: string\n ): Promise<VersionOfSecretSkeleton>;\n /**\n * Read version of secret\n * @param {string} secretId secret id/name\n * @param {string} version secret version\n * @returns {Promise<VersionOfSecretSkeleton>} a promise that resolves to a version object\n */\n readVersionOfSecret(\n secretId: string,\n version: string\n ): Promise<VersionOfSecretSkeleton>;\n /**\n * Enable a version of a secret\n * @param {string} secretId secret id/name\n * @param {string} version secret version\n * @returns {Promise<VersionOfSecretSkeleton>} a promise that resolves to a status object\n */\n enableVersionOfSecret(\n secretId: string,\n version: string\n ): Promise<VersionOfSecretSkeleton>;\n /**\n * Disable a version of a secret\n * @param {string} secretId secret id/name\n * @param {string} version secret version\n * @returns {Promise<VersionOfSecretSkeleton>} a promise that resolves to a status object\n */\n disableVersionOfSecret(\n secretId: string,\n version: string\n ): Promise<VersionOfSecretSkeleton>;\n /**\n * Delete version of secret\n * @param {string} secretId secret id/name\n * @param {string} version secret version\n * @returns {Promise<VersionOfSecretSkeleton>} a promise that resolves to a version object\n */\n deleteVersionOfSecret(\n secretId: string,\n version: string\n ): Promise<VersionOfSecretSkeleton>;\n\n // Deprecated\n\n /**\n * Get all secrets\n * @returns {Promise<any[]>} a promise that resolves to an array of secrets\n * @deprecated since v2.0.0 use {@link Secret.readSecrets | readSecrets} instead\n * ```javascript\n * readSecrets(): Promise<SecretSkeleton[]>\n * ```\n * @group Deprecated\n */\n getSecrets(): Promise<SecretSkeleton[]>;\n /**\n * Get secret\n * @param secretId secret id/name\n * @returns {Promise<SecretSkeleton>} a promise that resolves to a secret\n * @deprecated since v2.0.0 use {@link Secret.readSecret | readSecret} instead\n * ```javascript\n * readSecret(secretId: string): Promise<any>\n * ```\n * @group Deprecated\n */\n getSecret(secretId: string): Promise<SecretSkeleton>;\n /**\n * Create secret\n * @param {string} secretId secret id/name\n * @param {string} value secret value\n * @param {string} description secret description\n * @param {string} encoding secret encoding (only `generic` is supported)\n * @param {boolean} useInPlaceholders flag indicating if the secret can be used in placeholders\n * @returns {Promise<SecretSkeleton>} a promise that resolves to a secret\n * @deprecated since v2.0.0 use {@link Secret.createSecret | createSecret} instead\n * ```javascript\n * createSecret(secretId: string, value: string, description: string, encoding?: string, useInPlaceholders?: boolean): Promise<any>\n * ```\n * @group Deprecated\n */\n putSecret(\n secretId: string,\n value: string,\n description: string,\n encoding?: string,\n useInPlaceholders?: boolean\n ): Promise<SecretSkeleton>;\n /**\n * Set secret description\n * @param {string} secretId secret id/name\n * @param {string} description secret description\n * @returns {Promise<any>} a promise that resolves to an empty string\n * @deprecated since v2.0.0 use {@link Secret.updateSecretDescription | updateSecretDescription} instead\n * ```javascript\n * updateSecretDescription(secretId: string, description: string): Promise<any>\n * ```\n * @group Deprecated\n */\n setSecretDescription(secretId: string, description: string): Promise<any>;\n /**\n * Get secret versions\n * @param {string} secretId secret id/name\n * @returns {Promise<VersionOfSecretSkeleton[]>} a promise that resolves to an array of secret versions\n * @deprecated since v2.0.0 use {@link Secret.readVersionsOfSecret | readVersionsOfSecret} instead\n * ```javascript\n * readVersionsOfSecret(secretId: string): Promise<any>\n * ```\n * @group Deprecated\n */\n getSecretVersions(secretId: string): Promise<VersionOfSecretSkeleton[]>;\n /**\n * Create new secret version\n * @param {string} secretId secret id/name\n * @param {string} value secret value\n * @returns {Promise<VersionOfSecretSkeleton>} a promise that resolves to a version object\n * @deprecated since v2.0.0 use {@link Secret.createVersionOfSecret | createVersionOfSecret} instead\n * ```javascript\n * createVersionOfSecret(secretId: string, value: string): Promise<any>\n * ```\n * @group Deprecated\n */\n createNewVersionOfSecret(\n secretId: string,\n value: string\n ): Promise<VersionOfSecretSkeleton>;\n /**\n * Get version of secret\n * @param {string} secretId secret id/name\n * @param {string} version secret version\n * @returns {Promise<VersionOfSecretSkeleton>} a promise that resolves to a version object\n * @deprecated since v2.0.0 use {@link Secret.readVersionOfSecret | readVersionOfSecret} instead\n * ```javascript\n * readVersionOfSecret(secretId: string, version: string): Promise<any>\n * ```\n * @group Deprecated\n */\n getVersionOfSecret(\n secretId: string,\n version: string\n ): Promise<VersionOfSecretSkeleton>;\n /**\n * Update the status of a version of a secret\n * @param {string} secretId secret id/name\n * @param {string} version secret version\n * @param {VersionOfSecretStatus} status status\n * @returns {Promise<VersionOfSecretSkeleton>} a promise that resolves to a status object\n * @deprecated since v2.0.0 use {@link Secret.enableVersionOfSecret | enableVersionOfSecret} or {@link Secret.disableVersionOfSecret | disableVersionOfSecret} instead\n * ```javascript\n * enableVersionOfSecret(secretId: string, version: string): Promise<any>\n * disableVersionOfSecret(secretId: string, version: string): Promise<any>\n * ```\n * @group Deprecated\n */\n setStatusOfVersionOfSecret(\n secretId: string,\n version: string,\n status: VersionOfSecretStatus\n ): Promise<VersionOfSecretSkeleton>;\n};\n\nexport default (state: State): Secret => {\n return {\n async readSecrets() {\n return readSecrets({ state });\n },\n async readSecret(secretId: string) {\n return readSecret({ secretId, state });\n },\n async exportSecret(secretId: string): Promise<SecretsExportInterface> {\n return exportSecret({ secretId, state });\n },\n async exportSecrets(): Promise<SecretsExportInterface> {\n return exportSecrets({ state });\n },\n async createSecret(\n secretId: string,\n value: string,\n description: string,\n encoding = 'generic',\n useInPlaceholders = true\n ) {\n return _putSecret({\n secretId,\n value,\n description,\n encoding,\n useInPlaceholders,\n state,\n });\n },\n async updateSecretDescription(secretId: string, description: string) {\n return _setSecretDescription({ secretId, description, state });\n },\n async deleteSecret(secretId: string) {\n return _deleteSecret({ secretId, state });\n },\n async readVersionsOfSecret(secretId: string) {\n return _getSecretVersions({ secretId, state });\n },\n async createVersionOfSecret(secretId: string, value: string) {\n return _createNewVersionOfSecret({ secretId, value, state });\n },\n async readVersionOfSecret(secretId: string, version: string) {\n return _getVersionOfSecret({ secretId, version, state });\n },\n async enableVersionOfSecret(secretId: string, version: string) {\n return enableVersionOfSecret({\n secretId,\n version,\n state,\n });\n },\n async disableVersionOfSecret(secretId: string, version: string) {\n return disableVersionOfSecret({\n secretId,\n version,\n state,\n });\n },\n async deleteVersionOfSecret(secretId: string, version: string) {\n return _deleteVersionOfSecret({ secretId, version, state });\n },\n\n // Deprecated\n\n async getSecrets() {\n return readSecrets({ state });\n },\n async getSecret(secretId: string) {\n return _getSecret({ secretId, state });\n },\n async putSecret(\n secretId: string,\n value: string,\n description: string,\n encoding = 'generic',\n useInPlaceholders = true\n ) {\n return _putSecret({\n secretId,\n value,\n description,\n encoding,\n useInPlaceholders,\n state,\n });\n },\n async setSecretDescription(secretId: string, description: string) {\n return _setSecretDescription({ secretId, description, state });\n },\n async getSecretVersions(secretId: string) {\n return _getSecretVersions({ secretId, state });\n },\n async createNewVersionOfSecret(secretId: string, value: string) {\n return _createNewVersionOfSecret({ secretId, value, state });\n },\n async getVersionOfSecret(secretId: string, version: string) {\n return _getVersionOfSecret({ secretId, version, state });\n },\n async setStatusOfVersionOfSecret(\n secretId: string,\n version: string,\n status: VersionOfSecretStatus\n ) {\n return _setStatusOfVersionOfSecret({\n secretId,\n version,\n status,\n state,\n });\n },\n };\n};\n\nexport interface SecretsExportInterface {\n meta?: ExportMetaData;\n secrets: Record<string, SecretSkeleton>;\n}\n\nexport function createSecretsExportTemplate({\n state,\n}: {\n state: State;\n}): SecretsExportInterface {\n return {\n meta: getMetadata({ state }),\n secrets: {},\n } as SecretsExportInterface;\n}\n\nexport async function exportSecret({\n secretId,\n state,\n}: {\n secretId: string;\n state: State;\n}): Promise<SecretsExportInterface> {\n debugMessage({ message: `SecretsOps.exportSecret: start`, state });\n const exportData = createSecretsExportTemplate({ state });\n const secret = await _getSecret({ secretId, state });\n exportData.secrets[secret._id] = secret;\n debugMessage({ message: `VariablesOps.exportSecret: end`, state });\n return exportData;\n}\n\nexport async function exportSecrets({\n state,\n}: {\n state: State;\n}): Promise<SecretsExportInterface> {\n debugMessage({ message: `SecretsOps.exportSecrets: start`, state });\n const exportData = createSecretsExportTemplate({ state });\n const secrets = await readSecrets({ state });\n for (const secret of secrets) {\n exportData.secrets[secret._id] = secret;\n }\n debugMessage({ message: `SecretsOps.exportSecrets: end`, state });\n return exportData;\n}\n\nexport async function enableVersionOfSecret({\n secretId,\n version,\n state,\n}: {\n secretId: string;\n version: string;\n state: State;\n}) {\n return _setStatusOfVersionOfSecret({\n secretId,\n version,\n status: 'ENABLED',\n state,\n });\n}\n\nexport async function disableVersionOfSecret({\n secretId,\n version,\n state,\n}: {\n secretId: string;\n version: string;\n state: State;\n}) {\n return _setStatusOfVersionOfSecret({\n secretId,\n version,\n status: 'DISABLED',\n state,\n });\n}\n\nexport async function readSecret({\n secretId,\n state,\n}: {\n secretId: string;\n state: State;\n}): Promise<SecretSkeleton> {\n return await _getSecret({ secretId, state });\n}\n\nexport async function readSecrets({\n state,\n}: {\n state: State;\n}): Promise<SecretSkeleton[]> {\n const { result } = await _getSecrets({ state });\n return result;\n}\n\nexport {\n _putSecret as createSecret,\n _createNewVersionOfSecret as createVersionOfSecret,\n _deleteSecret as deleteSecret,\n _getVersionOfSecret as readVersionOfSecret,\n _getSecretVersions as readVersionsOfSecret,\n _setSecretDescription as updateSecretDescription,\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _AutoSetupPolly = require("../../utils/AutoSetupPolly.js");
|
|
4
|
+
var _index = require("../../index.js");
|
|
5
|
+
var SecretsOps = _interopRequireWildcard(require("./SecretsOps.js"));
|
|
6
|
+
var _axios = _interopRequireDefault(require("axios"));
|
|
7
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
8
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
9
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
10
|
+
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
11
|
+
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } /**
|
|
12
|
+
* To record and update snapshots, you must perform 3 steps in order:
|
|
13
|
+
*
|
|
14
|
+
* 1. Record API responses
|
|
15
|
+
*
|
|
16
|
+
* To record API responses, you must call the test:record script and
|
|
17
|
+
* override all the connection state variables required to connect to the
|
|
18
|
+
* env to record from:
|
|
19
|
+
*
|
|
20
|
+
* ATTENTION: For the recording to succeed, you MUST make sure to use a
|
|
21
|
+
* user account, not a service account.
|
|
22
|
+
*
|
|
23
|
+
* FRODO_DEBUG=1 FRODO_HOST=frodo-dev npm run test:record SecretsOps
|
|
24
|
+
*
|
|
25
|
+
* The above command assumes that you have a connection profile for
|
|
26
|
+
* 'frodo-dev' on your development machine.
|
|
27
|
+
*
|
|
28
|
+
* 2. Update snapshots
|
|
29
|
+
*
|
|
30
|
+
* After recording API responses, you must manually update/create snapshots
|
|
31
|
+
* by running:
|
|
32
|
+
*
|
|
33
|
+
* FRODO_DEBUG=1 npm run test:update SecretsOps
|
|
34
|
+
*
|
|
35
|
+
* 3. Test your changes
|
|
36
|
+
*
|
|
37
|
+
* If 1 and 2 didn't produce any errors, you are ready to run the tests in
|
|
38
|
+
* replay mode and make sure they all succeed as well:
|
|
39
|
+
*
|
|
40
|
+
* FRODO_DEBUG=1 npm run test:only SecretsOps
|
|
41
|
+
*
|
|
42
|
+
* Note: FRODO_DEBUG=1 is optional and enables debug logging for some output
|
|
43
|
+
* in case things don't function as expected
|
|
44
|
+
*/
|
|
45
|
+
(0, _AutoSetupPolly.autoSetupPolly)();
|
|
46
|
+
function stageSecret(_x) {
|
|
47
|
+
return _stageSecret.apply(this, arguments);
|
|
48
|
+
}
|
|
49
|
+
function _stageSecret() {
|
|
50
|
+
_stageSecret = _asyncToGenerator(function* (secret) {
|
|
51
|
+
var create = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
52
|
+
// delete if exists, then create
|
|
53
|
+
try {
|
|
54
|
+
yield SecretsOps.deleteSecret({
|
|
55
|
+
secretId: secret.id,
|
|
56
|
+
state: _index.state
|
|
57
|
+
});
|
|
58
|
+
} catch (error) {
|
|
59
|
+
// ignore
|
|
60
|
+
} finally {
|
|
61
|
+
if (create) {
|
|
62
|
+
yield SecretsOps.createSecret({
|
|
63
|
+
secretId: secret.id,
|
|
64
|
+
value: secret.value,
|
|
65
|
+
description: secret.description,
|
|
66
|
+
encoding: secret.encoding,
|
|
67
|
+
useInPlaceholders: secret.useInPlaceholders,
|
|
68
|
+
state: _index.state
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
return _stageSecret.apply(this, arguments);
|
|
74
|
+
}
|
|
75
|
+
describe('SecretsOps', () => {
|
|
76
|
+
var secret1 = {
|
|
77
|
+
id: 'esv-frodo-test-secret-1',
|
|
78
|
+
value: 'value1',
|
|
79
|
+
description: 'description1',
|
|
80
|
+
encoding: 'generic',
|
|
81
|
+
useInPlaceholders: true
|
|
82
|
+
};
|
|
83
|
+
var secret2 = {
|
|
84
|
+
id: 'esv-frodo-test-secret-2',
|
|
85
|
+
value: 'value2',
|
|
86
|
+
description: 'description2',
|
|
87
|
+
encoding: 'generic',
|
|
88
|
+
useInPlaceholders: false
|
|
89
|
+
};
|
|
90
|
+
var secret3 = {
|
|
91
|
+
id: 'esv-frodo-test-secret-3',
|
|
92
|
+
value: 'value3',
|
|
93
|
+
description: 'description3',
|
|
94
|
+
encoding: 'generic',
|
|
95
|
+
useInPlaceholders: false
|
|
96
|
+
};
|
|
97
|
+
// in recording mode, setup test data before recording
|
|
98
|
+
beforeAll( /*#__PURE__*/_asyncToGenerator(function* () {
|
|
99
|
+
if (process.env.FRODO_POLLY_MODE === 'record') {
|
|
100
|
+
yield stageSecret(secret1);
|
|
101
|
+
yield stageSecret(secret2);
|
|
102
|
+
yield stageSecret(secret3, false);
|
|
103
|
+
}
|
|
104
|
+
}));
|
|
105
|
+
// in recording mode, remove test data after recording
|
|
106
|
+
afterAll( /*#__PURE__*/_asyncToGenerator(function* () {
|
|
107
|
+
if (process.env.FRODO_POLLY_MODE === 'record') {
|
|
108
|
+
yield stageSecret(secret1, false);
|
|
109
|
+
yield stageSecret(secret2, false);
|
|
110
|
+
yield stageSecret(secret3, false);
|
|
111
|
+
}
|
|
112
|
+
}));
|
|
113
|
+
describe('createSecretsExportTemplate()', () => {
|
|
114
|
+
test('0: Method is implemented', /*#__PURE__*/_asyncToGenerator(function* () {
|
|
115
|
+
expect(SecretsOps.createSecretsExportTemplate).toBeDefined();
|
|
116
|
+
}));
|
|
117
|
+
test('1: Return template with meta data', /*#__PURE__*/_asyncToGenerator(function* () {
|
|
118
|
+
expect(SecretsOps.createSecretsExportTemplate({
|
|
119
|
+
state: _index.state
|
|
120
|
+
})).toStrictEqual({
|
|
121
|
+
meta: expect.any(Object),
|
|
122
|
+
secrets: {}
|
|
123
|
+
});
|
|
124
|
+
}));
|
|
125
|
+
});
|
|
126
|
+
describe('exportSecrets()', () => {
|
|
127
|
+
test('0: Method is implemented', /*#__PURE__*/_asyncToGenerator(function* () {
|
|
128
|
+
expect(SecretsOps.exportSecrets).toBeDefined();
|
|
129
|
+
}));
|
|
130
|
+
test('1: Export all secrets', /*#__PURE__*/_asyncToGenerator(function* () {
|
|
131
|
+
var response = yield SecretsOps.exportSecrets({
|
|
132
|
+
state: _index.state
|
|
133
|
+
});
|
|
134
|
+
expect(response).toMatchSnapshot({
|
|
135
|
+
meta: expect.any(Object)
|
|
136
|
+
});
|
|
137
|
+
}));
|
|
138
|
+
});
|
|
139
|
+
describe('exportSecret()', () => {
|
|
140
|
+
test('0: Method is implemented', /*#__PURE__*/_asyncToGenerator(function* () {
|
|
141
|
+
expect(SecretsOps.exportSecret).toBeDefined();
|
|
142
|
+
}));
|
|
143
|
+
test('1: Export secret1', /*#__PURE__*/_asyncToGenerator(function* () {
|
|
144
|
+
var response = yield SecretsOps.exportSecret({
|
|
145
|
+
secretId: secret1.id,
|
|
146
|
+
state: _index.state
|
|
147
|
+
});
|
|
148
|
+
expect(response).toMatchSnapshot({
|
|
149
|
+
meta: expect.any(Object)
|
|
150
|
+
});
|
|
151
|
+
}));
|
|
152
|
+
test('2: Export secret2', /*#__PURE__*/_asyncToGenerator(function* () {
|
|
153
|
+
var response = yield SecretsOps.exportSecret({
|
|
154
|
+
secretId: secret2.id,
|
|
155
|
+
state: _index.state
|
|
156
|
+
});
|
|
157
|
+
expect(response).toMatchSnapshot({
|
|
158
|
+
meta: expect.any(Object)
|
|
159
|
+
});
|
|
160
|
+
}));
|
|
161
|
+
test('3: Export secret3 (non-existent)', /*#__PURE__*/_asyncToGenerator(function* () {
|
|
162
|
+
var errorCaught = false;
|
|
163
|
+
try {
|
|
164
|
+
yield SecretsOps.exportSecret({
|
|
165
|
+
secretId: secret3.id,
|
|
166
|
+
state: _index.state
|
|
167
|
+
});
|
|
168
|
+
} catch (e) {
|
|
169
|
+
errorCaught = true;
|
|
170
|
+
expect(_axios.default.isAxiosError(e)).toBeTruthy();
|
|
171
|
+
expect(e.response.status).toBe(404);
|
|
172
|
+
}
|
|
173
|
+
expect(errorCaught).toBeTruthy();
|
|
174
|
+
}));
|
|
175
|
+
});
|
|
176
|
+
});
|
|
177
|
+
//# sourceMappingURL=SecretsOps.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SecretsOps.test.js","names":["_axios","_interopRequireDefault","require","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","_interopRequireWildcard","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","autoSetupPolly","stageSecret","_x","_stageSecret","secret","create","length","SecretsOps","deleteSecret","secretId","id","state","createSecret","description","encoding","useInPlaceholders","describe","secret1","secret2","secret3","beforeAll","process","env","FRODO_POLLY_MODE","afterAll","test","expect","createSecretsExportTemplate","toBeDefined","toStrictEqual","meta","any","secrets","exportSecrets","response","toMatchSnapshot","exportSecret","errorCaught","axios","isAxiosError","toBeTruthy","status","toBe"],"sources":["../../../src/ops/cloud/SecretsOps.test.ts"],"sourcesContent":["/**\n * To record and update snapshots, you must perform 3 steps in order:\n *\n * 1. Record API responses\n *\n * To record API responses, you must call the test:record script and\n * override all the connection state variables required to connect to the\n * env to record from:\n *\n * ATTENTION: For the recording to succeed, you MUST make sure to use a\n * user account, not a service account.\n *\n * FRODO_DEBUG=1 FRODO_HOST=frodo-dev npm run test:record SecretsOps\n *\n * The above command assumes that you have a connection profile for\n * 'frodo-dev' on your development machine.\n *\n * 2. Update snapshots\n *\n * After recording API responses, you must manually update/create snapshots\n * by running:\n *\n * FRODO_DEBUG=1 npm run test:update SecretsOps\n *\n * 3. Test your changes\n *\n * If 1 and 2 didn't produce any errors, you are ready to run the tests in\n * replay mode and make sure they all succeed as well:\n *\n * FRODO_DEBUG=1 npm run test:only SecretsOps\n *\n * Note: FRODO_DEBUG=1 is optional and enables debug logging for some output\n * in case things don't function as expected\n */\n\nimport { autoSetupPolly } from \"../../utils/AutoSetupPolly\";\nimport { state } from \"../../index\";\nimport * as SecretsOps from './SecretsOps';\nimport axios, { AxiosError } from \"axios\";\n\nautoSetupPolly();\n\nasync function stageSecret(\n secret: {\n id: string;\n value: string;\n description: string;\n encoding: string;\n useInPlaceholders: boolean;\n },\n create = true\n) {\n // delete if exists, then create\n try {\n await SecretsOps.deleteSecret({ secretId: secret.id, state })\n } catch (error) {\n // ignore\n } finally {\n if (create) {\n await SecretsOps.createSecret({\n secretId: secret.id,\n value: secret.value,\n description: secret.description,\n encoding: secret.encoding,\n useInPlaceholders: secret.useInPlaceholders,\n state: state\n });\n }\n }\n}\n\ndescribe('SecretsOps', () => {\n const secret1 = {\n id: 'esv-frodo-test-secret-1',\n value: 'value1',\n description: 'description1',\n encoding: 'generic',\n useInPlaceholders: true\n }\n const secret2 = {\n id: 'esv-frodo-test-secret-2',\n value: 'value2',\n description: 'description2',\n encoding: 'generic',\n useInPlaceholders: false\n }\n const secret3 = {\n id: 'esv-frodo-test-secret-3',\n value: 'value3',\n description: 'description3',\n encoding: 'generic',\n useInPlaceholders: false\n }\n // in recording mode, setup test data before recording\n beforeAll(async () => {\n if (process.env.FRODO_POLLY_MODE === 'record') {\n await stageSecret(secret1);\n await stageSecret(secret2);\n await stageSecret(secret3, false);\n }\n });\n // in recording mode, remove test data after recording\n afterAll(async () => {\n if (process.env.FRODO_POLLY_MODE === 'record') {\n await stageSecret(secret1, false);\n await stageSecret(secret2, false);\n await stageSecret(secret3, false);\n }\n });\n\n describe('createSecretsExportTemplate()', () => {\n test('0: Method is implemented', async () => {\n expect(SecretsOps.createSecretsExportTemplate).toBeDefined();\n });\n\n test('1: Return template with meta data', async () => {\n expect(SecretsOps.createSecretsExportTemplate({ state: state })).toStrictEqual({\n meta: expect.any(Object),\n secrets: {}\n });\n });\n });\n\n describe('exportSecrets()', () => {\n test('0: Method is implemented', async () => {\n expect(SecretsOps.exportSecrets).toBeDefined();\n });\n\n test('1: Export all secrets', async () => {\n const response = await SecretsOps.exportSecrets({ state: state });\n expect(response).toMatchSnapshot({\n meta: expect.any(Object),\n });\n });\n });\n\n describe('exportSecret()', () => {\n test('0: Method is implemented', async () => {\n expect(SecretsOps.exportSecret).toBeDefined();\n });\n\n test('1: Export secret1', async () => {\n const response = await SecretsOps.exportSecret({ secretId: secret1.id, state: state });\n expect(response).toMatchSnapshot({\n meta: expect.any(Object),\n });\n });\n\n test('2: Export secret2', async () => {\n const response = await SecretsOps.exportSecret({ secretId: secret2.id, state: state });\n expect(response).toMatchSnapshot({\n meta: expect.any(Object),\n });\n });\n\n test('3: Export secret3 (non-existent)', async () => {\n let errorCaught = false;\n try {\n await SecretsOps.exportSecret({ secretId: secret3.id, state: state })\n } catch (e: any) {\n errorCaught = true;\n expect(axios.isAxiosError(e)).toBeTruthy();\n expect((e as AxiosError).response.status).toBe(404)\n }\n expect(errorCaught).toBeTruthy();\n });\n });\n});\n"],"mappings":"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"}
|