cluster-api-provider-ibmcloud
cluster-api-provider-ibmcloud copied to clipboard
EPIC: Add UT accross various files in repository
/kind feature /area provider/ibmcloud
Describe the solution you'd like [A clear and concise description of what you want to happen.]
Recently we added lots of functionality but haven't added any corresponding UT's to it. Its time to add unit test cases and overall goal is to reach 80% of test coverage.
As a non-goal during the time of adding UT if we find any redundant or unwanted or code duplication, a separate PR needs to be submitted to optimize the code.
Anything else you would like to add: [Miscellaneous information that will assist in solving the issue.]
- [ ] cloud/scope/powervs_cluster.go
- [ ] cloud/scope/powervs_machine.go
Instructions for running individual tests on VS Code
- Get kubebuilder asset path
$ cd cluster-api-provider-ibmcloud
$ make setup-envtest
kube-builder assets set using darwin OS at location /Users/karthikkn/Library/Application Support/io.kubebuilder.envtest/k8s/1.29.3-darwin-amd64
- Create settings.json file with kubebuilder asset path
$ cd cluster-api-provider-ibmcloud/.vscode
$ cat settings.json
cat settings.json
{
"go.testEnvVars": {
"KUBEBUILDER_ASSETS": "/Users/karthikkn/Library/Application Support/io.kubebuilder.envtest/k8s/1.29.3-darwin-amd64",
},
}
- Run individual test by clicking on run test above test function name in VS Code editor
Instructions for checking code coverage of file
- Generate the test coverage html page
$ cd cluster-api-provider-ibmcloud/.vscode
$ make test-cover
A file named cover.html will be created under cluster-api-provider-ibmcloud directory
example path: /Users/karthikkn/k8-workspace/cluster-api-provider-ibmcloud/cover.html
- Copy the path of the file and paste in browser to view the html page and select the file to view the lines covered in UT.
### Helper PRs
- [ ] https://github.com/kubernetes-sigs/cluster-api-provider-ibmcloud/pull/1913
- [ ] https://github.com/kubernetes-sigs/cluster-api-provider-ibmcloud/pull/1899
### UT PRs
- [ ] https://github.com/kubernetes-sigs/cluster-api-provider-ibmcloud/pull/1912
- [ ] https://github.com/kubernetes-sigs/cluster-api-provider-ibmcloud/pull/1927
- [ ] https://github.com/kubernetes-sigs/cluster-api-provider-ibmcloud/pull/1928
~Will take up adding UT for cloud/scope/powervs_cluster.go~ Currently not assigning to myself, feel free to pick up UT for powervs_cluster.go
We will add UT for ibmpowervscluster_controller.go file once we finalize and fix the issue https://github.com/kubernetes-sigs/cluster-api-provider-ibmcloud/issues/1837 as it involves some code refactoring.
If contributing to this issue, Please do comment here with function name to avoid multiple folks working on same thing.
I am working on adding UT for ReconcileNetwork, ReconcileVPC and ReconcileVPCSubnets function
/reopen
@Karthik-K-N: Reopened this issue.
In response to this:
/reopen
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.
Picking up UT for the ReconcileLoadBalancers function
Picking up UT for ReconcileVPCSecurityGroups function
Picking up UT for ReconcileTransitGateway function
/reopen
@Karthik-K-N: Reopened this issue.
In response to this:
/reopen
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.
/reopen
@Amulyam24: Reopened this issue.
In response to this:
/reopen
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.
Unfortunately we discovered this bug https://github.com/kubernetes-sigs/cluster-api-provider-ibmcloud/issues/2026, which could have well avoided if we had UT.
picking up UT for ReconcileCOSInstance