|
1 | 1 | package utils
|
2 | 2 |
|
3 | 3 | import (
|
4 |
| - "crypto/tls" |
5 | 4 | "net/http"
|
6 |
| - "reflect" |
7 | 5 | "testing"
|
8 | 6 | )
|
9 | 7 |
|
10 | 8 | func TestNewHTTPClient(t *testing.T) {
|
11 |
| - wantInsecureClient := &http.Client{Transport: &http.Transport{ |
12 |
| - TLSClientConfig: &tls.Config{ |
13 |
| - InsecureSkipVerify: true, |
14 |
| - }, |
15 |
| - }} |
16 |
| - gotInsecureClient, err := NewHTTPClient(false, "") |
| 9 | + _, err := NewHTTPClient(false, "") |
17 | 10 | if err != nil {
|
18 | 11 | t.Errorf("not expecting error, but got: %s", err)
|
19 | 12 | }
|
20 |
| - if !reflect.DeepEqual(wantInsecureClient, gotInsecureClient) { |
21 |
| - t.Errorf("want: %v, got: %v", wantInsecureClient, gotInsecureClient) |
22 |
| - } |
23 | 13 |
|
24 | 14 | // wrong path
|
25 | 15 | _, err = NewHTTPClient(true, "\\//")
|
26 | 16 | if err == nil {
|
27 |
| - t.Error("want error but got none") |
| 17 | + t.Error("expected error but got none") |
28 | 18 | }
|
29 | 19 |
|
30 |
| - customCertPool, _ := LoadExtraCert("") |
31 |
| - wantHTTPClient := &http.Client{ |
32 |
| - Transport: &http.Transport{ |
33 |
| - TLSClientConfig: &tls.Config{ |
34 |
| - RootCAs: customCertPool, |
35 |
| - }, |
36 |
| - }, |
37 |
| - } |
38 |
| - gotHTTPClient, err := NewHTTPClient(true, "") |
| 20 | + // Check if `InsecureSkipVerify` is set correctly |
| 21 | + insecureClient, err := NewHTTPClient(false, "") |
39 | 22 | if err != nil {
|
40 |
| - t.Errorf("don't want error but got: %s", err) |
| 23 | + t.Fatalf("Expected no error, got %v", err) |
| 24 | + } |
| 25 | + transport := insecureClient.Transport.(*http.Transport) //nolint:forcetypeassert |
| 26 | + if transport.TLSClientConfig.InsecureSkipVerify != true { |
| 27 | + t.Errorf("expected InsecureSkipVerify to be true, got false") |
41 | 28 | }
|
42 | 29 |
|
43 |
| - if !reflect.DeepEqual(wantHTTPClient, gotHTTPClient) { |
44 |
| - t.Errorf("want: %v, got %v", wantHTTPClient, gotHTTPClient) |
| 30 | + // Check if RootCAs is set when expected |
| 31 | + certClient, err := NewHTTPClient(true, "") |
| 32 | + if err != nil { |
| 33 | + t.Fatalf("Expected no error, got %v", err) |
| 34 | + } |
| 35 | + transport = certClient.Transport.(*http.Transport) //nolint:forcetypeassert |
| 36 | + if transport.TLSClientConfig.RootCAs == nil { |
| 37 | + t.Errorf("expected RootCAs to be set, got nil") |
45 | 38 | }
|
46 | 39 | }
|
0 commit comments