diff --git a/packages/amplify-cli/src/__tests__/commands/gen2-migration/refactor/generators/setup-jest.ts b/packages/amplify-cli/src/__tests__/commands/gen2-migration/refactor/generators/setup-jest.ts index cf60214329..b98aa700ad 100644 --- a/packages/amplify-cli/src/__tests__/commands/gen2-migration/refactor/generators/setup-jest.ts +++ b/packages/amplify-cli/src/__tests__/commands/gen2-migration/refactor/generators/setup-jest.ts @@ -1,7 +1,15 @@ -import { expect } from '@jest/globals'; import { toBeACloudFormationCommand } from './custom-test-matchers'; import { DescribeStackResourcesCommand } from '@aws-sdk/client-cloudformation'; +// Mock AWS SDK config loading +jest.mock('@smithy/shared-ini-file-loader', () => ({ + loadSharedConfigFiles: jest.fn().mockResolvedValue({ + configFile: { default: {} }, + credentialsFile: { default: {} }, + }), + getProfileName: jest.fn().mockReturnValue('default'), +})); + expect.extend({ toBeACloudFormationCommand, }); diff --git a/packages/amplify-cli/src/commands/gen2-migration/codegen-generate/src/generators/storage/index.ts b/packages/amplify-cli/src/commands/gen2-migration/codegen-generate/src/generators/storage/index.ts index d03f62f733..368c7672f1 100644 --- a/packages/amplify-cli/src/commands/gen2-migration/codegen-generate/src/generators/storage/index.ts +++ b/packages/amplify-cli/src/commands/gen2-migration/codegen-generate/src/generators/storage/index.ts @@ -55,7 +55,34 @@ export const renderStorage = (storageParams: StorageRenderParameters = {}) => { const postImportStatements = []; - // Remove name parameter - let Gen 2 auto-generate storage names + const amplifyGen1EnvStatement = createVariableStatement( + factory.createVariableDeclaration( + gen2BranchNameVariableName, + undefined, + undefined, + factory.createIdentifier('process.env.AWS_BRANCH ?? "sandbox"'), + ), + ); + postImportStatements.push(amplifyGen1EnvStatement); + + if (storageParams.storageIdentifier) { + const splitStorageIdentifier = storageParams.storageIdentifier.split('-'); + const storageNameWithoutBackendEnvName = splitStorageIdentifier.slice(0, -1).join('-'); + + const storageNameAssignment = createTemplateLiteral(`${storageNameWithoutBackendEnvName}-`, gen2BranchNameVariableName, ''); + const nameProperty = factory.createPropertyAssignment(factory.createIdentifier('name'), storageNameAssignment); + + // Add comments as leading trivia + ts.addSyntheticLeadingComment(nameProperty, ts.SyntaxKind.SingleLineCommentTrivia, ` Use this bucket name post refactor`, true); + ts.addSyntheticLeadingComment( + nameProperty, + ts.SyntaxKind.SingleLineCommentTrivia, + ` name: '${storageParams.storageIdentifier}',`, + true, + ); + + propertyAssignments.push(nameProperty); + } if (storageParams.accessPatterns) { propertyAssignments.push(getAccessPatterns(storageParams.accessPatterns)); }