damondouglas opened a new pull request, #28893: URL: https://github.com/apache/beam/pull/28893
This PR closes #28708. It defines and implements a mock quota aware API. See PR branch's [.test-infra/mock-apis/README](https://github.com/damondouglas/beam/tree/rrio/testing/api/.test-infra/mock-apis) for more details. Notes for the reviewer: 1. The TL;DR; of this PR is that it allows us to write Beam tests using an API we can control i.e. the size of the quota, the contract, etc. It hosts both HTTP and gRPC with one codebase. 1. I attempted integration tests using testcontainers but given the various dependencies the test code was unreadable and had several race conditions. #28859 addresses the need for integration tests and Infrastructure-as-Code setup to make this easier. 1. The src/main/go path is to be compatible with other proto generated code. This PR includes src/main/java proto generated code. Python needs some further research as it didn't seem as straightforward. Python tests could call the HTTP endpoint directly. 1. To make the `./gradlew :beam-test-infra-mock-apis:check` happy, I had to add some suppress configurations that weren't relevant for this project. If this project were to use the gradle plugin for proto generation, it wouldn't play as nicely with Go, which is arguably more important. ------------------------ Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily: - [ ] Mention the appropriate issue in your description (for example: `addresses #123`), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, comment `fixes #<ISSUE NUMBER>` instead. - [ ] Update `CHANGES.md` with noteworthy changes. - [ ] If this contribution is large, please file an Apache [Individual Contributor License Agreement](https://www.apache.org/licenses/icla.pdf). See the [Contributor Guide](https://beam.apache.org/contribute) for more tips on [how to make review process smoother](https://github.com/apache/beam/blob/master/CONTRIBUTING.md#make-the-reviewers-job-easier). To check the build health, please visit [https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md](https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md) GitHub Actions Tests Status (on master branch) ------------------------------------------------------------------------------------------------ [](https://github.com/apache/beam/actions?query=workflow%3A%22Build+python+source+distribution+and+wheels%22+branch%3Amaster+event%3Aschedule) [](https://github.com/apache/beam/actions?query=workflow%3A%22Python+Tests%22+branch%3Amaster+event%3Aschedule) [](https://github.com/apache/beam/actions?query=workflow%3A%22Java+Tests%22+branch%3Amaster+event%3Aschedule) [](https://github.com/apache/beam/actions?query=workflow%3A%22Go+tests%22+branch%3Amaster+event%3Aschedule) See [CI.md](https://github.com/apache/beam/blob/master/CI.md) for more information about GitHub Actions CI or the [workflows README](https://github.com/apache/beam/blob/master/.github/workflows/README.md) to see a list of phrases to trigger workflows. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
