-
Notifications
You must be signed in to change notification settings - Fork 174
fix: create custom http transport for each run for Auth tests #2749
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
Conversation
|
@gauron99: The label(s) DetailsIn response to this:
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. |
|
Skipping CI for Draft Pull Request. |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #2749 +/- ##
==========================================
+ Coverage 62.58% 63.45% +0.87%
==========================================
Files 131 131
Lines 15598 15598
==========================================
+ Hits 9762 9898 +136
+ Misses 4908 4743 -165
- Partials 928 957 +29
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
| // create trusted certificates pool and add our certificate | ||
| certPool := x509.NewCertPool() | ||
| certPool.AddCert(cert) | ||
|
|
||
| // client transport with the certificate | ||
| transport := &http.Transport{ | ||
| TLSClientConfig: &tls.Config{ | ||
| RootCAs: certPool, | ||
| }, | ||
| } | ||
|
|
||
| dialer := &net.Dialer{} | ||
|
|
||
| transport.DialContext = func(ctx context.Context, network, addr string) (net.Conn, error) { | ||
| h, p, err := net.SplitHostPort(addr) | ||
| if err != nil { | ||
| return nil, err | ||
| } | ||
| if h == "test.io" { | ||
| h = "localhost" | ||
| } | ||
| return dialer.DialContext(ctx, network, net.JoinHostPort(h, p)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
create custom transport and ca pool each run instead of mutating the http.defaultTransport on server creation
| }) | ||
|
|
||
| // generate Certificate | ||
| func generateCert(t *testing.T) (tls.Certificate, *x509.Certificate) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
move certificate gen to separate function
Signed-off-by: David Fridrich <fridrich.david19@gmail.com>
6ee75d9 to
ea89928
Compare
| certPool.AddCert(cert) | ||
|
|
||
| // client transport with the certificate | ||
| transport := &http.Transport{ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the startServer whichi previously used to handle the http transport mutation gets used by one more function TestCheckAuthEmptyCreds which still uses the default http transport instead of this one but doesnt seem to cause any problems?
Perhaps TestCheckAuthEmptyCreds needs to have the Transport changed as well
|
Looks good! |
|
/approve |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: gauron99, matejvasek The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
picking knative#2749 Signed-off-by: David Fridrich <fridrich.david19@gmail.com> Signed-off-by: Matej Vašek <mvasek@redhat.com>
* feat: remote storage class picking knative#2693 Co-authored-by: Luke Kingland <lkinglan@redhat.com> Signed-off-by: Matej Vašek <mvasek@redhat.com> * Python Middleware v2 Scaffolding picking knative#2685 Co-authored-by: Luke Kingland <lkinglan@redhat.com> Signed-off-by: Matej Vašek <mvasek@redhat.com> * Fix Python S2I On-Cluster build picking knative#2770 Signed-off-by: Matej Vašek <mvasek@redhat.com> * Fix http port 433 => 443 picking knative#2742 Signed-off-by: Matej Vašek <mvasek@redhat.com> * Trust loopback builders picking knative#2750 Signed-off-by: Matej Vašek <mvasek@redhat.com> * Add testcase for Go private repositories picking knative#2748 Signed-off-by: Matej Vašek <mvasek@redhat.com> * Test adjustments picking knative#2751 Signed-off-by: Matej Vašek <mvasek@redhat.com> * Allow host mounts for build phahse picking knative#2753 Signed-off-by: Matej Vašek <mvasek@redhat.com> * Use s2i in standard mode, not "as-dockerfile" picking knative#2764 Signed-off-by: Matej Vašek <mvasek@redhat.com> * Improvements for Go s2i assembler picking knative#2765 Signed-off-by: Matej Vašek <mvasek@redhat.com> * S2I (source-to-image) host binds picking knative#2766 Signed-off-by: Matej Vašek <mvasek@redhat.com> * Make build binds more similar to runtime binds picking knative#2768 Signed-off-by: Matej Vašek <mvasek@redhat.com> * Add guideline for private Go module usage picking knative#2771 Signed-off-by: Matej Vašek <mvasek@redhat.com> * Improve Go templates README picking knative#2848 Signed-off-by: Matej Vašek <mvasek@redhat.com> * Fix detection of hostname resolution failure picking knative#2841 Signed-off-by: Matej Vašek <mvasek@redhat.com> * Fix: Go scaffolding uses correct module name picking knative#2769 Signed-off-by: Matej Vašek <mvasek@redhat.com> * Fix non-containerized build/run /w external deps picking knative#2847 Signed-off-by: Matej Vašek <mvasek@redhat.com> * Tekton 1.0.x fixes picking #1349 Signed-off-by: Matej Vašek <mvasek@redhat.com> * Fix co-scheduling picking #1358 Co-authored-by: Jefferson Ramos <jeramos@redhat.com> Signed-off-by: Matej Vašek <mvasek@redhat.com> * test: fix gitlab test Signed-off-by: Matej Vašek <mvasek@redhat.com> * dapr install upgrade picking knative#3055 Co-authored-by: David Fridrich <fridrich.david19@gmail.com> Co-authored-by: Luke Kingland <lkinglan@redhat.com> Signed-off-by: Matej Vašek <mvasek@redhat.com> * fixup: go.mod Signed-off-by: Matej Vašek <mvasek@redhat.com> * fixup: update alpine version Signed-off-by: Matej Vašek <mvasek@redhat.com> * Migrate golangci-lint config to v2 picking knative#2781 Signed-off-by: Matej Vašek <mvasek@redhat.com> * Bump golangci-lint version picking knative#2784 Signed-off-by: Matej Vašek <mvasek@redhat.com> * fix flaky unit test picking knative#2749 Signed-off-by: David Fridrich <fridrich.david19@gmail.com> Signed-off-by: Matej Vašek <mvasek@redhat.com> --------- Signed-off-by: Matej Vašek <mvasek@redhat.com> Signed-off-by: David Fridrich <fridrich.david19@gmail.com> Co-authored-by: Luke Kingland <lkinglan@redhat.com> Co-authored-by: Jefferson Ramos <jeramos@redhat.com> Co-authored-by: David Fridrich <fridrich.david19@gmail.com>
The unit test got flaky after the auth version bump (im pretty sure) so in attempt to remedy this flakyness I edited the auth test function.
Main changes>
startServerand changed it into: create custom http transport on each run and pass it to the called function.