-
Notifications
You must be signed in to change notification settings - Fork 79
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chore: migrate pg array objects e2e test in gen2 cdk #2906
Conversation
Signed-off-by: Kevin Shan <siqishan@amazon.com>
Signed-off-by: Kevin Shan <siqishan@amazon.com>
Signed-off-by: Kevin Shan <siqishan@amazon.com>
[Resolved] Running into the same bootstrap issue in CI that blocks the E2E test running. |
Signed-off-by: Kevin Shan <siqishan@amazon.com>
…ray-objects-e2e-test
Signed-off-by: Kevin Shan <siqishan@amazon.com>
packages/amplify-graphql-api-construct-tests/src/__tests__/sql-pg-array-objects.test.ts
Show resolved
Hide resolved
} = options); | ||
const { projFolderName, connectionConfigName } = options; | ||
|
||
const templatePath = path.resolve(path.join(__dirname, '..', '__tests__', 'backends', 'sql-models')); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Now or in the next PR: Can we migrate this test to use the configurable stack so we can (eventually) remove the sql-models
stack? Eventually I'd like us to be using just one stack to reduce the number of test fixtures we have to maintain.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My thoughts of using an universal configurable-stack
:
- It's totally feasible to have all tests depends on a single stack with every test defines the specific parameter through various command
json
files, but more time-consuming than have individual CDK per test; - This requires expansion of current configurable stack functionalities, including support of other authorization modes like OIDC, IAM, etc., and the shift to
AmplifyAuth
construct from individualUserPool
. Plus,AmplifyAuth
provides a convenient way of managingauth
-related resources; - Another way of supporting different resources requirements of tests is to through more helper functions instead of a centralized provider like
AmplifyAuth
based on command files parameters, e.g. when the test is about IAM, then a helper calledcreateIAMIdentityPool
is applied to provision the resource; - Reducing the number of CDK related files to one stack will benefit maintaining the fixtures, and may need breaking and larger scale changes in current
configurable-stack
, which may lead to redesign of some of the tests' resources provision.
I could try to utilize the configurable-stack
to provision the resources, and figure if OIDC could be supported as well for better management over the test fixtures.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for your thoughts on this. For now, let's defer any move to configurable-stack, and we can consider a holistic design later.
packages/amplify-graphql-api-construct-tests/src/utils/sql-crudl-helper.ts
Outdated
Show resolved
Hide resolved
Signed-off-by: Kevin Shan <siqishan@amazon.com>
Signed-off-by: Kevin Shan <siqishan@amazon.com>
* chore: update .jsii assembly * chore: update .jsii assembly * chore: migrate pg array objects e2e test in gen2 cdk (#2906) * chore: graphql prep for test migration * refactor: generic graphql field selection string with fieldmap * feat: add postgres array objects e2e test * test: remove bootstrap in test code * chore: schema cleanup * chore: final cleanup * chore: add explanation on FieldMap ans examples * chore: remove dup test --------- Signed-off-by: Kevin Shan <siqishan@amazon.com> Co-authored-by: Tim Schmelter <schmelte@amazon.com> * fix(model-transformer) IndexName -> index in query list resolver (#2912) * chore: upgrade cdk library dependency to 2.158.0 (#2876) * chore: upgrade cdk dependency to 2.158.0 * chore: install and use nvm * chore: use full version for nvm * chore: testing linux build with nvm * chore: fix version in cdk tests * chore: update jsii files * update: increase memory size * add: debug statement * update: mem size back to 8096, use ps1 file for shell script * fix: path to Setup-NodeVersion.ps1 * fix: path to codebuild_specs/Setup-NodeVersion.ps1 * add: set runtime version * update: image * add: debug statement * update: use earlier code * add: debug statements * update: clean up code * update: use the correct image * add: list installed node versions and used nodejs.install * restart: install nvm using choco * add: back mem size variable * add: nvm install and use 18.20.4 * add: env var NVM_HOME and NVM_SYMLINK * add: spawn powershell as admin * update: remove all other builds * add: debug statement * add: env var path * update: print env var * add: commands * update: env var set up * add: refresh env var * update: more debug statement * update * revamp: find nvm.exe * update: install nvm windows directly * update: launch new shell if current shell does not recognize nvm * update: install node in buildspec * add: install and use node in build spec * update: use single quote to prevent interpreting \ * add: 2 scripts, one for installing nvm, another for using nvm * fix: path error * test: which way set env var * update: set up env var in pre_build * update: use choco in pre-build * fix: syntax error * update: build_windows working, running all tests * test: remove bootstrap in test code * debug: _runGqlE2ETests * update: debug_workflow * update: debug_workflow * update: debug_workflow * update: debug_workflow * add: debug statement * add: debug test * add: debug * update: use uuid for bucket name * remove: use of uuid * add: debug statement * update: use differrent bucket name * add: mili second timestamp * add: debug statement * remove: debug statement * remove: redundant code --------- Co-authored-by: Bobby Yu <bobbyu@amazon.com> Co-authored-by: Tim Schmelter <schmelte@amazon.com> * test: fix gen 1 init (#2924) * fix(conversation): allow changes to systemPrompt, inferenceConfig, aiModel to be hotswapped (#2923) * feat: auto increment support (#2883) * chore(graphql-default-value-transformer): tidy tests * test(graphql-default-value-transformer): add unit tests for auto increment support * feat: 🎸 utils to detect Postgres datasource * feat: 🎸 support auto increment Implements support for auto increment (serial) fields from Postgres datasources. Such fields are denoted by an empty `@default` applied to an `Int` field. * test(graphql-default-value-transformer): pk can be auto increment * test(graphql-default-value-transformer): auto-increment crud e2e * chore: describe test purpose * chore: removing logging * chore: describe why invalid cases are invalid * chore: remove unecessary e2e test case * chore: test messaging clarity * chore: type safety * chore: alphabetize list * chore: type of return value asserts against string Co-authored-by: Tim Schmelter <schmelte+github@amazon.com> * chore: test ensures customers can insert to serial fields with custom values * chore: verify that @default(value) works on mysql * chore: remove unecessary ssm test case * chore: update branch from main * test: value cannot be null on ddb --------- Co-authored-by: Tim Schmelter <schmelte+github@amazon.com> * fix(conversation): use functionMap for custom handler IFunction reference (#2922) * fix(generation): gracefully handle stringified tool_use responses (#2919) * feat(conversation): per message items and lambda history retrieval pattern (#2914) * fix: sql default value e2e failures (#2932) * fix(generation): remove trailing comma in inferenceConfig resolver code (#2933) * fix: add aws_iam to custom operations when enableIamAuthorization is enabled; fix graphql type utils (#2921) - test: Add additional tests to fix coverage metrics for unchanged files - test: Add implicit IAM auth support tests - Added a skipped test for custom type support, to be re-enabled once we figure out the right strategy for this. * fix: appsync ttl correct duration time unit in ms (#2928) Signed-off-by: Kevin Shan <siqishan@amazon.com> --------- Signed-off-by: Kevin Shan <siqishan@amazon.com> Co-authored-by: amplify-data-ci <amplify-data-dev+github@amazon.com> Co-authored-by: Kevin Shan <siqishan@amazon.com> Co-authored-by: Ian Saultz <52051793+atierian@users.noreply.github.com> Co-authored-by: Phani Srikar Edupuganti <55896475+phani-srikar@users.noreply.github.com> Co-authored-by: Bobby Yu <bobbyu@amazon.com> Co-authored-by: Dane Pilcher <dppilche@amazon.com> Co-authored-by: Peter V. <98245483+p5quared@users.noreply.github.com>
Description of changes
Migrate the Gen1 rds-pg-array-objects E2E test to Gen2 using CDK construct, with pre-provision of resources and generic operations. Plus minor fix/change on resource pre-provision process and CDK init.
CDK / CloudFormation Parameters Changed
Issue #, if available
Description of how you validated changes
CI checks and local pre-provision RDS clusters.
Checklist
yarn test
passesBy submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.