@@ -16,6 +16,7 @@ import (
16
16
"github.com/nginxinc/kubernetes-ingress/internal/telemetry"
17
17
conf_v1 "github.com/nginxinc/kubernetes-ingress/pkg/apis/configuration/v1"
18
18
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
19
+ testClient "k8s.io/client-go/kubernetes/fake"
19
20
)
20
21
21
22
func TestCreateNewCollectorWithCustomReportingPeriod (t * testing.T ) {
@@ -46,7 +47,8 @@ func TestCreateNewCollectorWithCustomExporter(t *testing.T) {
46
47
td := telemetry.Data {}
47
48
48
49
cfg := telemetry.CollectorConfig {
49
- Configurator : newConfigurator (t ),
50
+ K8sClientReader : testClient .NewSimpleClientset (),
51
+ Configurator : newConfigurator (t ),
50
52
}
51
53
52
54
c , err := telemetry .NewCollector (cfg , telemetry .WithExporter (exp ))
@@ -62,6 +64,76 @@ func TestCreateNewCollectorWithCustomExporter(t *testing.T) {
62
64
}
63
65
}
64
66
67
+ func TestCollectNodeCountInClusterWithOneNode (t * testing.T ) {
68
+ t .Parallel ()
69
+
70
+ buf := & bytes.Buffer {}
71
+ exp := & telemetry.StdoutExporter {Endpoint : buf }
72
+ cfg := telemetry.CollectorConfig {
73
+ Configurator : newConfigurator (t ),
74
+ K8sClientReader : testClient .NewSimpleClientset (node1 ),
75
+ }
76
+
77
+ c , err := telemetry .NewCollector (cfg , telemetry .WithExporter (exp ))
78
+ if err != nil {
79
+ t .Fatal (err )
80
+ }
81
+ c .Collect (context .Background ())
82
+
83
+ td := telemetry.Data {
84
+ ProjectMeta : telemetry.ProjectMeta {
85
+ Name : "" ,
86
+ Version : "" ,
87
+ },
88
+ NICResourceCounts : telemetry.NICResourceCounts {
89
+ VirtualServers : 0 ,
90
+ VirtualServerRoutes : 0 ,
91
+ TransportServers : 0 ,
92
+ },
93
+ NodeCount : 1 ,
94
+ }
95
+ want := fmt .Sprintf ("%+v" , td )
96
+ got := buf .String ()
97
+ if ! cmp .Equal (want , got ) {
98
+ t .Error (cmp .Diff (want , got ))
99
+ }
100
+ }
101
+
102
+ func TestCollectNodeCountInClusterWithThreeNodes (t * testing.T ) {
103
+ t .Parallel ()
104
+
105
+ buf := & bytes.Buffer {}
106
+ exp := & telemetry.StdoutExporter {Endpoint : buf }
107
+ cfg := telemetry.CollectorConfig {
108
+ Configurator : newConfigurator (t ),
109
+ K8sClientReader : testClient .NewSimpleClientset (node1 , node2 , node3 ),
110
+ }
111
+
112
+ c , err := telemetry .NewCollector (cfg , telemetry .WithExporter (exp ))
113
+ if err != nil {
114
+ t .Fatal (err )
115
+ }
116
+ c .Collect (context .Background ())
117
+
118
+ td := telemetry.Data {
119
+ ProjectMeta : telemetry.ProjectMeta {
120
+ Name : "" ,
121
+ Version : "" ,
122
+ },
123
+ NICResourceCounts : telemetry.NICResourceCounts {
124
+ VirtualServers : 0 ,
125
+ VirtualServerRoutes : 0 ,
126
+ TransportServers : 0 ,
127
+ },
128
+ NodeCount : 3 ,
129
+ }
130
+ want := fmt .Sprintf ("%+v" , td )
131
+ got := buf .String ()
132
+ if ! cmp .Equal (want , got ) {
133
+ t .Error (cmp .Diff (want , got ))
134
+ }
135
+ }
136
+
65
137
func TestCountVirtualServers (t * testing.T ) {
66
138
t .Parallel ()
67
139
@@ -171,7 +243,8 @@ func TestCountVirtualServers(t *testing.T) {
171
243
configurator := newConfigurator (t )
172
244
173
245
c , err := telemetry .NewCollector (telemetry.CollectorConfig {
174
- Configurator : configurator ,
246
+ K8sClientReader : testClient .NewSimpleClientset (),
247
+ Configurator : configurator ,
175
248
})
176
249
if err != nil {
177
250
t .Fatal (err )
@@ -184,7 +257,7 @@ func TestCountVirtualServers(t *testing.T) {
184
257
}
185
258
}
186
259
187
- gotTraceDataOnAdd , err := c .BuildReport ()
260
+ gotTraceDataOnAdd , err := c .BuildReport (context . Background () )
188
261
if err != nil {
189
262
t .Fatal (err )
190
263
}
@@ -202,7 +275,7 @@ func TestCountVirtualServers(t *testing.T) {
202
275
}
203
276
}
204
277
205
- gotTraceDataOnDelete , err := c .BuildReport ()
278
+ gotTraceDataOnDelete , err := c .BuildReport (context . Background () )
206
279
if err != nil {
207
280
t .Fatal (err )
208
281
}
@@ -342,7 +415,8 @@ func TestCountTransportServers(t *testing.T) {
342
415
configurator := newConfigurator (t )
343
416
344
417
c , err := telemetry .NewCollector (telemetry.CollectorConfig {
345
- Configurator : configurator ,
418
+ K8sClientReader : testClient .NewSimpleClientset (),
419
+ Configurator : configurator ,
346
420
})
347
421
if err != nil {
348
422
t .Fatal (err )
@@ -355,7 +429,7 @@ func TestCountTransportServers(t *testing.T) {
355
429
}
356
430
}
357
431
358
- gotTraceDataOnAdd , err := c .BuildReport ()
432
+ gotTraceDataOnAdd , err := c .BuildReport (context . Background () )
359
433
if err != nil {
360
434
t .Fatal (err )
361
435
}
@@ -373,7 +447,7 @@ func TestCountTransportServers(t *testing.T) {
373
447
}
374
448
}
375
449
376
- gotTraceDataOnDelete , err := c .BuildReport ()
450
+ gotTraceDataOnDelete , err := c .BuildReport (context . Background () )
377
451
if err != nil {
378
452
t .Fatal (err )
379
453
}
0 commit comments