Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What
Introduce integration test
close #14
How
A. Implement application server which serves flag value by request parameter.
This is
:integration-test:app
module.Application server is implemented with Armeria.
B. Add integration test as
:integration-test:testing
moduleTest requestes to above server by client implemented with Armeria.
Integration test can be executed localy by following operation. See also this document.
https://github.com/lavenderses/AWSAppConfig-OpenFeature-provider-java/blob/e426b4f3a2e1f4483d610ddcac017214583c5600/integration-test/README.md?plain=1#L11-L37
C. Run AWS AppConfig agent and server in docker-compose.
AWS AppConfig agent runs on
2772:2772
port. This agent watches file/integration-test/testing/src/test/resources/app:env:profile
and serves flags from the file.If you change the content in the file while running this container, you will get new flag value without restarting the container after a while (about 1 min).
An above application server runs on
8080:8080
. If you request toGET /{agentType}/booleanFlag?key={key}&defaultValue={defaultValue}
or any other endpoint, you can get feature flag value.This integration test also looks the endpoint, and compare the flag value with expectation.
Notes