✨ Add envtest setup and controller tests #10
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.
What this PR does / why we need it:
Adding the envtest setup, that can be triggered by a Make target and allows unit tests for the controllers.
Adding a test provider objects
TestInfrastructureProviderClusterStackReleaseTemplate to make unit tests indepedent of any specific provider.
Adding mocking setup to generate mocks for the interfaces which can be used in unit testing. Adding mocks for Github client and for the kube client.
Adding utils package for testing that contains utility functions to work with conditions and checks whether certain objects have a specific condition and how its properties look like.
Adding local cluster stacks that have been downloaded from Github SovereignCloudStack/cluster-stacks repository to make unit tests independent of another repository and make it possible to run them locally.
Adding unit tests to CI.
Which issue(s) this PR fixes (optional, in
fixes #<issue number>(, fixes #<issue_number>, ...)
format, will close the issue(s) when PR gets merged):Fixes #9
TODOs: