@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.
|
|
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.
|
|
15
|
-
"@friggframework/test": "2.0.0--canary.461.
|
|
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.
|
|
38
|
-
"@friggframework/prettier-config": "2.0.0--canary.461.
|
|
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": "
|
|
73
|
+
"gitHead": "27d4ea22c26e1cc261affa921951355fc4109f46"
|
|
74
74
|
}
|