Skip to content
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

feat(integ-tests): chain assertion api calls #22196

Merged
merged 5 commits into from
Sep 23, 2022
Merged

feat(integ-tests): chain assertion api calls #22196

merged 5 commits into from
Sep 23, 2022

Conversation

corymhall
Copy link
Contributor

@corymhall corymhall commented Sep 22, 2022

This PR does two things.

  1. Adds a helper method next() that makes it easier to chain assertion api calls together. Yes, it is possible to grab the underlying node and call addDependency, but I think then is a more intuitive experience.

Look at integ.log-group.ts to see where I updated a test from addDependency -> next

  1. Added an ApiCallBase class and renamed the api call interface. This will make it easier to add more types of Api Calls in the future (HttpApiCall coming soon*)

All Submissions:

Adding new Unconventional Dependencies:

  • This PR adds new unconventional dependencies following the process described here

New Features

  • Have you added the new feature to an integration test?
    • Did you use yarn integ to deploy the infrastructure and generate the snapshot (i.e. yarn integ without --dry-run)?

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license

This PR does two things.

1. Adds a helper method `then()` that makes it easier to chain assertion
   api calls together. Yes, it is possible to grab the underlying `node`
   and call `addDependency`, but I think `then` is a more intuitive
   experience.

Look at `integ.log-group.ts` to see where I updated a test from
`addDependency` -> `then`

2. Added an `ApiCallBase` class and renamed the api call interface. This
   will make it easier to add more types of Api Calls in the future
   (`HttpApiCall` coming soon*)
@mergify mergify bot added the contribution/core This is a PR that came from AWS. label Sep 22, 2022
@gitpod-io
Copy link

gitpod-io bot commented Sep 22, 2022

@github-actions github-actions bot added the p2 label Sep 22, 2022
@aws-cdk-automation aws-cdk-automation requested a review from a team September 22, 2022 18:08
@corymhall corymhall added the pr-linter/exempt-integ-test The PR linter will not require integ test changes label Sep 22, 2022
@mrgrain
Copy link
Contributor

mrgrain commented Sep 23, 2022

Not sure if this is a huge problem, but thenable objects are fairly well-formed in JS world. There's no reason why we can't have our own one. However they usually use a different signature: then(success: Callback, error: Callback) with Callback being a function of sorts.

It might be more clear to use something like chain() or next() like we do in Step Functions.

@corymhall
Copy link
Contributor Author

Not sure if this is a huge problem, but thenable objects are fairly well-formed in JS world. There's no reason why we can't have our own one. However they usually use a different signature: then(success: Callback, error: Callback) with Callback being a function of sorts.

It might be more clear to use something like chain() or next() like we do in Step Functions.

That's a good point, i'll change it to next()

Copy link
Contributor

@mrgrain mrgrain left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is cool! 🥇

@mergify
Copy link
Contributor

mergify bot commented Sep 23, 2022

Thank you for contributing! Your pull request will be updated from main and then merged automatically (do not update manually, and be sure to allow changes to be pushed to your fork).

@aws-cdk-automation
Copy link
Collaborator

AWS CodeBuild CI Report

  • CodeBuild project: AutoBuildv2Project1C6BFA3F-wQm2hXv2jqQv
  • Commit ID: 59b46b2
  • Result: SUCCEEDED
  • Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

@mergify mergify bot merged commit 530e07b into aws:main Sep 23, 2022
@mergify
Copy link
Contributor

mergify bot commented Sep 23, 2022

Thank you for contributing! Your pull request will be updated from main and then merged automatically (do not update manually, and be sure to allow changes to be pushed to your fork).

homakk pushed a commit to homakk/aws-cdk that referenced this pull request Dec 1, 2022
This PR does two things.

1. Adds a helper method `next()` that makes it easier to chain assertion api calls together. Yes, it is possible to grab the underlying `node` and call `addDependency`, but I think `then` is a more intuitive experience.

Look at `integ.log-group.ts` to see where I updated a test from `addDependency` -> `next`

2. Added an `ApiCallBase` class and renamed the api call interface. This will make it easier to add more types of Api Calls in the future (`HttpApiCall` coming soon*)


----

### All Submissions:

* [ ] Have you followed the guidelines in our [Contributing guide?](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md)

### Adding new Unconventional Dependencies:

* [ ] This PR adds new unconventional dependencies following the process described [here](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md/#adding-new-unconventional-dependencies)

### New Features

* [ ] Have you added the new feature to an [integration test](https://github.com/aws/aws-cdk/blob/main/INTEGRATION_TESTS.md)?
	* [ ] Did you use `yarn integ` to deploy the infrastructure and generate the snapshot (i.e. `yarn integ` without `--dry-run`)?

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
contribution/core This is a PR that came from AWS. p2 pr-linter/exempt-integ-test The PR linter will not require integ test changes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants