@friggframework/devtools 2.0.0--canary.461.777e4f9.0 → 2.0.0--canary.461.27d4ea2.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.
@@ -490,6 +490,40 @@ describe('Resource Discovery', () => {
490
490
  // Should call AWS API discovery (shared mode finds resources across stages)
491
491
  expect(mockVpcDiscovery.discover).toHaveBeenCalled();
492
492
  });
493
+
494
+ it('should search for specific KMS alias in isolated mode to find orphaned keys', async () => {
495
+ const appDefinition = {
496
+ name: 'quo-integrations',
497
+ managementMode: 'managed',
498
+ vpcIsolation: 'isolated',
499
+ encryption: { fieldLevelEncryptionMethod: 'kms' },
500
+ };
501
+
502
+ process.env.SLS_STAGE = 'dev';
503
+
504
+ // Mock KMS discovery finding key via alias search
505
+ mockKmsDiscovery.discover.mockResolvedValue({
506
+ defaultKmsKeyId: 'arn:aws:kms:us-east-1:123:key/found-via-alias',
507
+ kmsKeyAlias: 'alias/quo-integrations-dev-frigg-kms',
508
+ });
509
+
510
+ const result = await gatherDiscoveredResources(appDefinition);
511
+
512
+ // Should pass keyAlias to discover orphaned KMS keys
513
+ expect(mockKmsDiscovery.discover).toHaveBeenCalledWith(
514
+ expect.objectContaining({
515
+ serviceName: 'quo-integrations',
516
+ stage: 'dev',
517
+ keyAlias: 'alias/quo-integrations-dev-frigg-kms',
518
+ })
519
+ );
520
+
521
+ // Should return discovered KMS key (even if orphaned from stack)
522
+ expect(result).toEqual({
523
+ defaultKmsKeyId: 'arn:aws:kms:us-east-1:123:key/found-via-alias',
524
+ kmsKeyAlias: 'alias/quo-integrations-dev-frigg-kms',
525
+ });
526
+ });
493
527
  });
494
528
  });
495
529
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@friggframework/devtools",
3
3
  "prettier": "@friggframework/prettier-config",
4
- "version": "2.0.0--canary.461.777e4f9.0",
4
+ "version": "2.0.0--canary.461.27d4ea2.0",
5
5
  "dependencies": {
6
6
  "@aws-sdk/client-ec2": "^3.835.0",
7
7
  "@aws-sdk/client-kms": "^3.835.0",
@@ -11,8 +11,8 @@
11
11
  "@babel/eslint-parser": "^7.18.9",
12
12
  "@babel/parser": "^7.25.3",
13
13
  "@babel/traverse": "^7.25.3",
14
- "@friggframework/schemas": "2.0.0--canary.461.777e4f9.0",
15
- "@friggframework/test": "2.0.0--canary.461.777e4f9.0",
14
+ "@friggframework/schemas": "2.0.0--canary.461.27d4ea2.0",
15
+ "@friggframework/test": "2.0.0--canary.461.27d4ea2.0",
16
16
  "@hapi/boom": "^10.0.1",
17
17
  "@inquirer/prompts": "^5.3.8",
18
18
  "axios": "^1.7.2",
@@ -34,8 +34,8 @@
34
34
  "serverless-http": "^2.7.0"
35
35
  },
36
36
  "devDependencies": {
37
- "@friggframework/eslint-config": "2.0.0--canary.461.777e4f9.0",
38
- "@friggframework/prettier-config": "2.0.0--canary.461.777e4f9.0",
37
+ "@friggframework/eslint-config": "2.0.0--canary.461.27d4ea2.0",
38
+ "@friggframework/prettier-config": "2.0.0--canary.461.27d4ea2.0",
39
39
  "aws-sdk-client-mock": "^4.1.0",
40
40
  "aws-sdk-client-mock-jest": "^4.1.0",
41
41
  "jest": "^30.1.3",
@@ -70,5 +70,5 @@
70
70
  "publishConfig": {
71
71
  "access": "public"
72
72
  },
73
- "gitHead": "777e4f9b9cb24b15d64144fa60ef4dd2feadbed5"
73
+ "gitHead": "27d4ea22c26e1cc261affa921951355fc4109f46"
74
74
  }