Add support for Remote Configs #793
Merged
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.
Goal
Adds support for testing of our Remote Config SDK feature.
Design
Adds a new
/error-config
endpoint and supporting Cucumber steps for checking requests and managing the responses.As part of this change I'm forming a new pattern for writing steps, into which we can steadily refactor existing step definitions:
lib/features/steps
contain the absolute minimum Ruby code.lib/features/support
contain all logic of any complexityThis will allow us to more thoroughly unit test step definitions when appropriate, as well as separating Cucumber-specific aspects from general logic. This could open the door for allowing test frameworks other than Cucumber.
Documentation
Markdown docs added in a new
features
folder (which I've moved the existingCommands.md
into).Changeset
error-config
endpoint added, backed by theErrorConfigServlet
.Tests
Added a new e2e test to exercise the endpoint and new steps. Some of the existing tests were refactored a little to make way for making GET requests in the tests rather than POST.