test: mock maven and npm providers in unitests #67
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.
Description
For maven-Java and npm-javascript package managers/providers, mock/stub interactions with mvn and npm cli tools.
that is, instead of actually invoking the cli, prepare files for each use case that will read the output of that file and will put it in the temp output file that the regular logic flow works with.
Motivations and Reasons
In pure unit-test , only the logic of the API library should be checked, and not the integration with package managers.
Integration with package managers( and with exhort backend) will be tested in integrations tests.
critical reason to mock/stub interactions with package manager - in npm, from time to time, the versions are changed, if the package-lock.json is changed, and in this case, for component analysis, it might break the tests and force you to change the expected sbom.json files from time to time.
It takes a lot of time to run tests ( especially in case of maven).
Checklist
Additional information