-
Notifications
You must be signed in to change notification settings - Fork 2.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
e2e tests: use HaveKey() and HaveLen() when possible #12482
Conversation
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: edsantiago 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:
Approvers can indicate their approval by writing |
Sample output using the new HaveLen():
Compare to:
|
LGTM once things go green. |
I need help here. (I could figure it out myself, but it'll be faster and more reliable for me to ask). The error is:
The cause is this diff: - Expect(inspectData[0].Config.Labels["homer"]).To(Equal(""))
+ Expect(inspectData[0].Config.Labels).To(HaveKeyWithValue("homer", "")) My initial interpretation is: Go returns |
sed -i -e 's/Expect(\(.*\)\[\(\".*\"\)\])\.To(Equal(/Expect(\1).To(HaveKeyWithValue(\2, /' test/e2e/*_test.go ...with two manual tweaks, because this converted: Expect(foo["bar"]).To(Equal("")) -> Expect(foo).To(HaveKeyWithValue("bar","")) It looks like the intention of the test was, instead: ...To(Not(HaveKey("bar"))) Signed-off-by: Ed Santiago <[email protected]>
sed -i -e 's/Expect(\(.*\)\[\(\".*\"\)\])\.To(\(.*\)/Expect(\1).To(HaveKeyWithValue(\2, \3)/' test/e2e/*_test.go Signed-off-by: Ed Santiago <[email protected]>
sed -i -e 's/Expect(len(\(.*\)))\.To(Equal(0))/Expect(\1).To(BeEmpty())/' test/e2e/*.go Signed-off-by: Ed Santiago <[email protected]>
sed -i -e 's/Expect(len(\(.*\)))\.To(BeNumerically("==", 0))/Expect(\1).To(BeEmpty())/' test/e2e/*.go Signed-off-by: Ed Santiago <[email protected]>
sed -i -e 's/Expect(len(\(.*\)))\.To(Equal(\(.*\)))/Expect(\1).To(HaveLen(\2))/' test/e2e/*.go Signed-off-by: Ed Santiago <[email protected]>
sed -i -e 's/Expect(len(\(.*\)))\.To(BeNumerically("==", \(.*\)))/Expect(\1).To(HaveLen(\2))/' test/e2e/*.go Signed-off-by: Ed Santiago <[email protected]>
Fix a handful of instances not covered by earlier automated replacements. Found via: ack 'Expect\(len' test/e2e There are still a bunch of BeNumerically(">", ...) that cannot (yet) be handled by HaveLen(). Leave those as they are. Signed-off-by: Ed Santiago <[email protected]>
Re-pushed on the assumption that my above comment is correct. Edit was to the first commit. I amended the commit message appropriately, to indicate manual muckery. |
LGTM |
Your assumption is correct, Ed /lgtm |
I learned about HaveKey() and HaveLen(). We should use them wherever possible.
This is another multi-part PR, in small reviewable chunks.