@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 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
- Object.defineProperty(exports, "readSecret", {
34
- enumerable: true,
35
- get: function get() {
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 (0, _SecretsApi.getSecret)({
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
- // Deprecatd
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 enableVersionOfSecret(_x) {
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* (_ref) {
325
+ _enableVersionOfSecret = _asyncToGenerator(function* (_ref4) {
248
326
  var {
249
327
  secretId,
250
328
  version,
251
329
  state
252
- } = _ref;
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(_x2) {
340
+ function disableVersionOfSecret(_x4) {
263
341
  return _disableVersionOfSecret.apply(this, arguments);
264
342
  }
265
343
  function _disableVersionOfSecret() {
266
- _disableVersionOfSecret = _asyncToGenerator(function* (_ref2) {
344
+ _disableVersionOfSecret = _asyncToGenerator(function* (_ref5) {
267
345
  var {
268
346
  secretId,
269
347
  version,
270
348
  state
271
- } = _ref2;
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 readSecrets(_x3) {
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* (_ref3) {
379
+ _readSecrets = _asyncToGenerator(function* (_ref7) {
286
380
  var {
287
381
  state
288
- } = _ref3;
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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"}