@rio-cloud/cdk-v2-constructs 6.17.0 → 6.18.0

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/docs/changelog.md CHANGED
@@ -2,6 +2,13 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [commit-and-tag-version](https://github.com/absolute-version/commit-and-tag-version) for commit guidelines.
4
4
 
5
+ ## [6.18.0](https://bitbucket.collaboration-man.com/projects/RIODEV/repos/cdk-v2-constructs/compare/commits?targetBranch=refs%2Ftags%2Fv6.17.0&sourceBranch=refs%2Ftags%2Fv6.18.0) (2025-02-18)
6
+
7
+
8
+ ### Features
9
+
10
+ * **test:** add NormalizedTestTemplate ([2131811](https://bitbucket.collaboration-man.com/projects/RIODEV/repos/cdk-v2-constructs/commits/2131811c9ec99f3aff5237a504b6d10ce383c4de))
11
+
5
12
  ## [6.17.0](https://bitbucket.collaboration-man.com/projects/RIODEV/repos/cdk-v2-constructs/compare/commits?targetBranch=refs%2Ftags%2Fv6.17.0-alpha.0&sourceBranch=refs%2Ftags%2Fv6.17.0) (2025-02-18)
6
13
 
7
14
  ## [6.17.0-alpha.0](https://bitbucket.collaboration-man.com/projects/RIODEV/repos/cdk-v2-constructs/compare/commits?targetBranch=refs%2Ftags%2Fv6.16.11-alpha.0&sourceBranch=refs%2Ftags%2Fv6.17.0-alpha.0) (2025-02-17)
@@ -0,0 +1,16 @@
1
+ import { Template } from 'aws-cdk-lib/assertions';
2
+ /**
3
+ * A utility class that normalizes a Template object to simplify template comparisons in tests.
4
+ *
5
+ * The fromTemplate() method works by replacing all occurrences of SHA-256 hash strings with a
6
+ * placeholder value ("dummy-cdk-asset"). This is particularly useful because elements like the S3
7
+ * keys for Lambda code assets include hash strings that change with every dependency update. Normalizing
8
+ * these values prevents false negatives during template object comparisons.
9
+ * @example
10
+ * const appStack = new AppStack()
11
+ * const template = Template.fromStack(appStack);
12
+ * expect(NormalizedTemplate.from(template).toMatchSnapshot();
13
+ */
14
+ export declare class NormalizedTestTemplate {
15
+ static fromTemplate(template: Template): Template;
16
+ }
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NormalizedTestTemplate = void 0;
4
+ /**
5
+ * A utility class that normalizes a Template object to simplify template comparisons in tests.
6
+ *
7
+ * The fromTemplate() method works by replacing all occurrences of SHA-256 hash strings with a
8
+ * placeholder value ("dummy-cdk-asset"). This is particularly useful because elements like the S3
9
+ * keys for Lambda code assets include hash strings that change with every dependency update. Normalizing
10
+ * these values prevents false negatives during template object comparisons.
11
+ * @example
12
+ * const appStack = new AppStack()
13
+ * const template = Template.fromStack(appStack);
14
+ * expect(NormalizedTemplate.from(template).toMatchSnapshot();
15
+ */
16
+ class NormalizedTestTemplate {
17
+ static fromTemplate(template) {
18
+ const templateString = JSON.stringify(template);
19
+ const sha256Regex = /\b[a-f0-9]{64}\b/gi; // Regular expression to match any SHA-256 hash string
20
+ const normalizedString = templateString.replace(sha256Regex, 'dummy-cdk-asset');
21
+ return JSON.parse(normalizedString);
22
+ }
23
+ }
24
+ exports.NormalizedTestTemplate = NormalizedTestTemplate;
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9ybWFsaXplZC10ZXN0LXRlbXBsYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Rlc3Qvbm9ybWFsaXplZC10ZXN0LXRlbXBsYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBOzs7Ozs7Ozs7OztHQVdHO0FBQ0gsTUFBYSxzQkFBc0I7SUFDMUIsTUFBTSxDQUFDLFlBQVksQ0FBQyxRQUFrQjtRQUMzQyxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hELE1BQU0sV0FBVyxHQUFHLG9CQUFvQixDQUFDLENBQUMsc0RBQXNEO1FBQ2hHLE1BQU0sZ0JBQWdCLEdBQUcsY0FBYyxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztRQUNoRixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUN0QyxDQUFDO0NBQ0Y7QUFQRCx3REFPQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRlbXBsYXRlIH0gZnJvbSAnYXdzLWNkay1saWIvYXNzZXJ0aW9ucyc7XG5cbi8qKlxuICogQSB1dGlsaXR5IGNsYXNzIHRoYXQgbm9ybWFsaXplcyBhIFRlbXBsYXRlIG9iamVjdCB0byBzaW1wbGlmeSB0ZW1wbGF0ZSBjb21wYXJpc29ucyBpbiB0ZXN0cy5cbiAqXG4gKiBUaGUgZnJvbVRlbXBsYXRlKCkgbWV0aG9kIHdvcmtzIGJ5IHJlcGxhY2luZyBhbGwgb2NjdXJyZW5jZXMgb2YgU0hBLTI1NiBoYXNoIHN0cmluZ3Mgd2l0aCBhXG4gKiBwbGFjZWhvbGRlciB2YWx1ZSAoXCJkdW1teS1jZGstYXNzZXRcIikuIFRoaXMgaXMgcGFydGljdWxhcmx5IHVzZWZ1bCBiZWNhdXNlIGVsZW1lbnRzIGxpa2UgdGhlIFMzXG4gKiBrZXlzIGZvciBMYW1iZGEgY29kZSBhc3NldHMgaW5jbHVkZSBoYXNoIHN0cmluZ3MgdGhhdCBjaGFuZ2Ugd2l0aCBldmVyeSBkZXBlbmRlbmN5IHVwZGF0ZS4gTm9ybWFsaXppbmdcbiAqIHRoZXNlIHZhbHVlcyBwcmV2ZW50cyBmYWxzZSBuZWdhdGl2ZXMgZHVyaW5nIHRlbXBsYXRlIG9iamVjdCBjb21wYXJpc29ucy5cbiAqIEBleGFtcGxlXG4gKiAgIGNvbnN0IGFwcFN0YWNrID0gbmV3IEFwcFN0YWNrKClcbiAqICAgY29uc3QgdGVtcGxhdGUgPSBUZW1wbGF0ZS5mcm9tU3RhY2soYXBwU3RhY2spO1xuICogICBleHBlY3QoTm9ybWFsaXplZFRlbXBsYXRlLmZyb20odGVtcGxhdGUpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuICovXG5leHBvcnQgY2xhc3MgTm9ybWFsaXplZFRlc3RUZW1wbGF0ZSB7XG4gIHB1YmxpYyBzdGF0aWMgZnJvbVRlbXBsYXRlKHRlbXBsYXRlOiBUZW1wbGF0ZSk6IFRlbXBsYXRlIHtcbiAgICBjb25zdCB0ZW1wbGF0ZVN0cmluZyA9IEpTT04uc3RyaW5naWZ5KHRlbXBsYXRlKTtcbiAgICBjb25zdCBzaGEyNTZSZWdleCA9IC9cXGJbYS1mMC05XXs2NH1cXGIvZ2k7IC8vIFJlZ3VsYXIgZXhwcmVzc2lvbiB0byBtYXRjaCBhbnkgU0hBLTI1NiBoYXNoIHN0cmluZ1xuICAgIGNvbnN0IG5vcm1hbGl6ZWRTdHJpbmcgPSB0ZW1wbGF0ZVN0cmluZy5yZXBsYWNlKHNoYTI1NlJlZ2V4LCAnZHVtbXktY2RrLWFzc2V0Jyk7XG4gICAgcmV0dXJuIEpTT04ucGFyc2Uobm9ybWFsaXplZFN0cmluZyk7XG4gIH1cbn1cbiJdfQ==
package/package.json CHANGED
@@ -15,7 +15,7 @@
15
15
  ],
16
16
  "main": "lib/index.js",
17
17
  "license": "Apache-2.0",
18
- "version": "6.17.0",
18
+ "version": "6.18.0",
19
19
  "types": "lib/index.d.ts",
20
20
  "stability": "stable",
21
21
  "exports": {
package/version.json CHANGED
@@ -1,3 +1,3 @@
1
1
  {
2
- "version": "6.17.0"
2
+ "version": "6.18.0"
3
3
  }