kubernetes-sigs / aws-ebs-csi-driver

CSI driver for Amazon EBS https://aws.amazon.com/ebs/
Apache License 2.0
993 stars 797 forks source link

add more unit tests to increase test coverage #2089

Closed ElijahQuinones closed 3 months ago

ElijahQuinones commented 4 months ago

Is this a bug fix or adding new feature? This adds more units tests for more code coverage.

What is this PR about? / Why do we need it? As driver and Cloud coverage are both below 90% coverage this PR is to add more coverage to those areas

What testing is done? Ran the unit tests to validate they pass and ran make test/coverage to verify that the coverage had increased after each unit test was added

k8s-ci-robot commented 4 months ago

Hi @ElijahQuinones. Thanks for your PR.

I'm waiting for a kubernetes-sigs member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md). If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes-sigs/prow](https://github.com/kubernetes-sigs/prow/issues/new?title=Prow%20issue:) repository.
ElijahQuinones commented 4 months ago

This initial PR is just to get feedback from the team so the rest of the tests going forward that I write can conform to the same format.

torredil commented 4 months ago

/ok-to-test

This initial PR is just to get feedback from the team so the rest of the tests going forward that I write can conform to the same format.

@ElijahQuinones It's looking good!- inputs/outputs are being parameterized which makes sense and the tests are written in a table-driven manner, which is considered a best practice.

AndrewSirenko commented 4 months ago

Looks great to me so far! +1 To eddie's points. Readable tests with no over-reliance on mocking is a great sign as well.

github-actions[bot] commented 4 months ago

Code Coverage Diff

File Old Coverage New Coverage Delta
github.com/kubernetes-sigs/aws-ebs-csi-driver/pkg/cloud/cloud.go 85.7% 88.9% 3.2
github.com/kubernetes-sigs/aws-ebs-csi-driver/pkg/cloud/handlers.go 0.0% 4.8% 4.8
github.com/kubernetes-sigs/aws-ebs-csi-driver/pkg/driver/controller.go 82.8% 83.8% 1.0
github.com/kubernetes-sigs/aws-ebs-csi-driver/pkg/driver/controller_modify_volume.go 72.3% 78.3% 6.0
github.com/kubernetes-sigs/aws-ebs-csi-driver/pkg/driver/driver.go 0.0% 26.3% 26.3
github.com/kubernetes-sigs/aws-ebs-csi-driver/pkg/driver/validation.go 87.8% 97.3% 9.5
ElijahQuinones commented 3 months ago

/retest

ConnorJC3 commented 3 months ago

/lgtm

torredil commented 3 months ago

/lgtm

torredil commented 3 months ago

/approve

k8s-ci-robot commented 3 months ago

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: torredil

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files: - ~~[OWNERS](https://github.com/kubernetes-sigs/aws-ebs-csi-driver/blob/master/OWNERS)~~ [torredil] Approvers can indicate their approval by writing `/approve` in a comment Approvers can cancel approval by writing `/approve cancel` in a comment