Skip to content

Commit 7fc9d20

Browse files
committed
test: verify RDS index query template includes authFilter
Add a unit test that directly exercises RDSIndexVTLGenerator and asserts the generated VTL contains ctx.stash.authFilter forwarding to the SQL Lambda payload. This ensures the authorization bypass cannot regress.
1 parent 201ffe5 commit 7fc9d20

1 file changed

Lines changed: 24 additions & 0 deletions

File tree

packages/amplify-graphql-index-transformer/src/__tests__/amplify-graphql-index-transformer.test.ts

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1504,6 +1504,30 @@ describe('Index query resolver creation', () => {
15041504
};
15051505
});
15061506

1507+
describe('RDS index query template includes authFilter', () => {
1508+
it('generates VTL that forwards ctx.stash.authFilter to the SQL Lambda payload', () => {
1509+
const { RDSIndexVTLGenerator } = require('../resolvers/generators/rds-vtl-generator');
1510+
const generator = new RDSIndexVTLGenerator();
1511+
const mockCtx: any = {
1512+
resourceHelper: {
1513+
getModelNameMapping: jest.fn().mockReturnValue('customer'),
1514+
},
1515+
output: {
1516+
getObject: jest.fn().mockReturnValue(undefined),
1517+
getTypeDefinitionsOfKind: jest.fn().mockReturnValue([]),
1518+
},
1519+
};
1520+
const vtl = generator.generateIndexQueryRequestTemplate(
1521+
{ name: 'byRep', queryField: 'listByRep' } as any,
1522+
mockCtx,
1523+
'Customer',
1524+
'listByRep',
1525+
);
1526+
expect(vtl).toContain('$ctx.stash.authFilter');
1527+
expect(vtl).toContain('lambdaInput.args.metadata.authFilter');
1528+
});
1529+
});
1530+
15071531
describe('auth', () => {
15081532
const API_KEY = 'API Key Authorization';
15091533
const IAM_AUTH_TYPE = 'IAM Authorization';

0 commit comments

Comments
 (0)