🐛 prevent testutils from loading local providers #3040
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.
Testutils are meant as an in-memory testing utility for unit tests. However, in their default configuration they pull providers from the local system, which can have unforseen consequences.
Most of the code in
testutils.go
already sets up the runtime to use in-memory providers with linked dependencies.This changes ensures that we don't accidentally load installed providers on the system - or try to install online providers. For unit tests, we rely on providers that are fast to grab and execute, thus executable from memory. Other types of testing (particularly smoke/integration) are a different matter and not in scope of these utilities at the time of writing. (Which doesn't mean that they can't become that, but I think we want to be more explicit about when that happens, to avoid accidental side-effects where unit tests start to install providers)
Counter-points to this are very welcome!