feat: add "mock_engine" feature to SDK to allow offline query testing #476
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.
Resolves #431 .
Adds a feature flag to the Rust SDK called
"mock_engine"
that gatesPluginEngine
functionality and some imports.Adds a field to the
PluginEngine
calledmock_responses
that contains a lookup table. Whenquery()
is called, if the"mock_engine"
feature is enabled, it will use that table instead of querying out to the Hipcheck core. This allows us to test query logic without spinning up a whole Hipcheck analysis.The SDK version of the
rand_data
plugin is updated to use the SDK macro system, and a test case has been added to demonstrate how plugins can be tested locally withmock_responses
.The
cfg
compiler flags have been carefully applied to ensure no "unused" warnings whether running with"mock_engine"
or not.I've temporarily left the commits split between what @patrickjcasey had done before he went on leave and what I have since added.