File tree Expand file tree Collapse file tree 3 files changed +56
-21
lines changed Expand file tree Collapse file tree 3 files changed +56
-21
lines changed Original file line number Diff line number Diff line change @@ -9,30 +9,9 @@ import (
9
9
10
10
"k8s.io/client-go/rest"
11
11
"k8s.io/client-go/tools/clientcmd"
12
- "k8s.io/client-go/tools/metrics"
13
- "k8s.io/klog/v2"
14
12
"k8s.io/kubectl/pkg/scheme"
15
13
)
16
14
17
- // FIXME(weifu):
18
- //
19
- // Write UT to cover it instead of hook
20
- type transportCacheTracker struct {}
21
-
22
- // Increment implements k8s.io/client-go/tools/metrics.TransportCreateCallsMetric interface.
23
- func (t * transportCacheTracker ) Increment (result string ) {
24
- if result != "uncacheable" {
25
- klog .Fatal ("unexpected use cache transport" )
26
- }
27
- klog .V (3 ).Infof ("transport cache: %s" , result )
28
- }
29
-
30
- func init () {
31
- metrics .Register (metrics.RegisterOpts {
32
- TransportCreateCalls : & transportCacheTracker {},
33
- })
34
- }
35
-
36
15
// NewClients creates N rest.Interface.
37
16
//
38
17
// FIXME(weifu):
Original file line number Diff line number Diff line change
1
+ package request
2
+
3
+ import (
4
+ "fmt"
5
+ "testing"
6
+
7
+ "github.com/stretchr/testify/assert"
8
+ "k8s.io/client-go/tools/metrics"
9
+ )
10
+
11
+ type transportCacheTracker struct {}
12
+
13
+ // Increment implements k8s.io/client-go/tools/metrics.TransportCreateCallsMetric interface.
14
+ func (t * transportCacheTracker ) Increment (result string ) {
15
+ if result != "uncacheable" {
16
+ panic (fmt .Errorf ("unexpected use cache transport: %s" , result ))
17
+ }
18
+ fmt .Printf ("transport cache: %s\n " , result )
19
+ }
20
+
21
+ func init () {
22
+ metrics .Register (metrics.RegisterOpts {
23
+ TransportCreateCalls : & transportCacheTracker {},
24
+ })
25
+ }
26
+
27
+ func TestNewClientShouldNotPanic (t * testing.T ) {
28
+ defer func () {
29
+ if r := recover (); r != nil {
30
+ t .Fatalf ("should not reuse transport: %v" , r )
31
+ }
32
+ }()
33
+ _ , err := NewClients ("testdata/dummy_nonexistent_kubeconfig.yaml" , 10 )
34
+ assert .NoError (t , err )
35
+ }
Original file line number Diff line number Diff line change
1
+ apiVersion : v1
2
+ clusters :
3
+ - cluster :
4
+ server : https://unit-test.kperf.io
5
+ name : unit-test.kperf.io
6
+ contexts :
7
+ - context :
8
+ cluster : unit-test.kperf.io
9
+ user : testing@unit-test.kperf.io
10
+ name : testing@unit-test.kperf.io
11
+ current-context : testing@unit-test.kperf.io
12
+ kind : Config
13
+ preferences : {}
14
+ users :
15
+ - name : testing@unit-test.kperf.io
16
+ user :
17
+ exec :
18
+ apiVersion : client.authentication.k8s.io/v1beta1
19
+ command : unknown
20
+ interactiveMode : IfAvailable
21
+ provideClusterInfo : false
You can’t perform that action at this time.
0 commit comments