@@ -73,16 +73,25 @@ func TestEMFGetContainerPorts(t *testing.T) {
7373
7474func TestXrayAndOTLPGetContainerPorts (t * testing.T ) {
7575 cfg := getStringFromFile ("./test-resources/xrayAndOTLPAgentConfig.json" )
76+ wantPorts := []corev1.ContainerPort {
77+ {
78+ Name : CWA + XrayTraces ,
79+ Protocol : corev1 .ProtocolUDP ,
80+ ContainerPort : int32 (2000 ),
81+ },
82+ {
83+ Name : OtlpGrpc + "-4327" ,
84+ Protocol : corev1 .ProtocolTCP ,
85+ ContainerPort : int32 (4327 ),
86+ },
87+ {
88+ Name : OtlpHttp + "-4328" ,
89+ Protocol : corev1 .ProtocolTCP ,
90+ ContainerPort : int32 (4328 ),
91+ },
92+ }
7693 containerPorts := getContainerPorts (logger , cfg , "" , []corev1.ServicePort {})
77- assert .Equal (t , 3 , len (containerPorts ))
78- assert .Equal (t , int32 (2000 ), containerPorts [CWA + XrayTraces ].ContainerPort )
79- assert .Equal (t , CWA + XrayTraces , containerPorts [CWA + XrayTraces ].Name )
80- assert .Equal (t , int32 (4327 ), containerPorts [CWA + OtlpGrpc ].ContainerPort )
81- assert .Equal (t , CWA + OtlpGrpc , containerPorts [CWA + OtlpGrpc ].Name )
82- assert .Equal (t , corev1 .ProtocolTCP , containerPorts [CWA + OtlpGrpc ].Protocol )
83- assert .Equal (t , int32 (4328 ), containerPorts [CWA + OtlpHttp ].ContainerPort )
84- assert .Equal (t , CWA + OtlpHttp , containerPorts [CWA + OtlpHttp ].Name )
85- assert .Equal (t , corev1 .ProtocolTCP , containerPorts [CWA + OtlpHttp ].Protocol )
94+ checkPorts (t , wantPorts , containerPorts )
8695}
8796
8897func TestDefaultXRayAndOTLPGetContainerPorts (t * testing.T ) {
@@ -142,35 +151,65 @@ func TestNilMetricsGetContainerPorts(t *testing.T) {
142151func TestMultipleReceiversGetContainerPorts (t * testing.T ) {
143152 cfg := getStringFromFile ("./test-resources/multipleReceiversAgentConfig.json" )
144153 strings .Replace (cfg , "2900" , "2000" , 1 )
154+ wantPorts := []corev1.ContainerPort {
155+ {
156+ Name : CWA + AppSignalsGrpc ,
157+ Protocol : corev1 .ProtocolTCP ,
158+ ContainerPort : int32 (4315 ),
159+ },
160+ {
161+ Name : CWA + AppSignalsHttp ,
162+ Protocol : corev1 .ProtocolTCP ,
163+ ContainerPort : int32 (4316 ),
164+ },
165+ {
166+ Name : CWA + AppSignalsProxy ,
167+ Protocol : corev1 .ProtocolTCP ,
168+ ContainerPort : int32 (2000 ),
169+ },
170+ {
171+ Name : CWA + StatsD ,
172+ Protocol : corev1 .ProtocolUDP ,
173+ ContainerPort : int32 (8135 ),
174+ },
175+ {
176+ Name : CWA + CollectD ,
177+ Protocol : corev1 .ProtocolUDP ,
178+ ContainerPort : int32 (25936 ),
179+ },
180+ {
181+ Name : EMFTcp ,
182+ Protocol : corev1 .ProtocolTCP ,
183+ ContainerPort : int32 (25888 ),
184+ },
185+ {
186+ Name : EMFUdp ,
187+ Protocol : corev1 .ProtocolUDP ,
188+ ContainerPort : int32 (25888 ),
189+ },
190+ {
191+ Name : CWA + XrayTraces ,
192+ Protocol : corev1 .ProtocolUDP ,
193+ ContainerPort : int32 (2800 ),
194+ },
195+ {
196+ Name : CWA + XrayProxy ,
197+ Protocol : corev1 .ProtocolTCP ,
198+ ContainerPort : int32 (2900 ),
199+ },
200+ {
201+ Name : OtlpGrpc + "-4327" ,
202+ Protocol : corev1 .ProtocolTCP ,
203+ ContainerPort : int32 (4327 ),
204+ },
205+ {
206+ Name : OtlpHttp + "-4328" ,
207+ Protocol : corev1 .ProtocolTCP ,
208+ ContainerPort : int32 (4328 ),
209+ },
210+ }
145211 containerPorts := getContainerPorts (logger , cfg , "" , []corev1.ServicePort {})
146- assert .Equal (t , 11 , len (containerPorts ))
147- assert .Equal (t , int32 (4315 ), containerPorts [CWA + AppSignalsGrpc ].ContainerPort )
148- assert .Equal (t , CWA + AppSignalsGrpc , containerPorts [CWA + AppSignalsGrpc ].Name )
149- assert .Equal (t , int32 (4316 ), containerPorts [CWA + AppSignalsHttp ].ContainerPort )
150- assert .Equal (t , CWA + AppSignalsHttp , containerPorts [CWA + AppSignalsHttp ].Name )
151- assert .Equal (t , int32 (2000 ), containerPorts [CWA + AppSignalsProxy ].ContainerPort )
152- assert .Equal (t , CWA + AppSignalsProxy , containerPorts [CWA + AppSignalsProxy ].Name )
153- assert .Equal (t , int32 (8135 ), containerPorts [CWA + StatsD ].ContainerPort )
154- assert .Equal (t , CWA + StatsD , containerPorts [CWA + StatsD ].Name )
155- assert .Equal (t , corev1 .ProtocolUDP , containerPorts [CWA + StatsD ].Protocol )
156- assert .Equal (t , int32 (25936 ), containerPorts [CWA + CollectD ].ContainerPort )
157- assert .Equal (t , CWA + CollectD , containerPorts [CWA + CollectD ].Name )
158- assert .Equal (t , corev1 .ProtocolUDP , containerPorts [CWA + CollectD ].Protocol )
159- assert .Equal (t , int32 (25888 ), containerPorts [EMFTcp ].ContainerPort )
160- assert .Equal (t , EMFTcp , containerPorts [EMFTcp ].Name )
161- assert .Equal (t , int32 (25888 ), containerPorts [EMFUdp ].ContainerPort )
162- assert .Equal (t , EMFUdp , containerPorts [EMFUdp ].Name )
163- assert .Equal (t , corev1 .ProtocolUDP , containerPorts [EMFUdp ].Protocol )
164- assert .Equal (t , int32 (2800 ), containerPorts [CWA + XrayTraces ].ContainerPort )
165- assert .Equal (t , CWA + XrayTraces , containerPorts [CWA + XrayTraces ].Name )
166- assert .Equal (t , corev1 .ProtocolUDP , containerPorts [CWA + XrayTraces ].Protocol )
167- assert .Equal (t , int32 (2900 ), containerPorts [CWA + XrayProxy ].ContainerPort )
168- assert .Equal (t , CWA + XrayProxy , containerPorts [CWA + XrayProxy ].Name )
169- assert .Equal (t , corev1 .ProtocolTCP , containerPorts [CWA + XrayProxy ].Protocol )
170- assert .Equal (t , int32 (4327 ), containerPorts [CWA + OtlpGrpc ].ContainerPort )
171- assert .Equal (t , CWA + OtlpGrpc , containerPorts [CWA + OtlpGrpc ].Name )
172- assert .Equal (t , int32 (4328 ), containerPorts [CWA + OtlpHttp ].ContainerPort )
173- assert .Equal (t , CWA + OtlpHttp , containerPorts [CWA + OtlpHttp ].Name )
212+ checkPorts (t , wantPorts , containerPorts )
174213}
175214
176215func TestSpecPortsOverrideGetContainerPorts (t * testing.T ) {
@@ -201,38 +240,70 @@ func TestInvalidConfigGetContainerPorts(t *testing.T) {
201240 cfg = cfg + ","
202241 containerPorts := getContainerPorts (logger , cfg , "" , []corev1.ServicePort {})
203242 assert .Equal (t , 0 , len (containerPorts ))
204-
205243}
206244
207245func TestValidOTLPMetricsPort (t * testing.T ) {
208246 cfg := getStringFromFile ("./test-resources/otlpMetricsAgentConfig.json" )
247+ wantPorts := []corev1.ContainerPort {
248+ {
249+ Name : OtlpGrpc + "-1234" ,
250+ Protocol : corev1 .ProtocolTCP ,
251+ ContainerPort : int32 (1234 ),
252+ },
253+ {
254+ Name : OtlpHttp + "-2345" ,
255+ Protocol : corev1 .ProtocolTCP ,
256+ ContainerPort : int32 (2345 ),
257+ },
258+ }
209259 containerPorts := getContainerPorts (logger , cfg , "" , []corev1.ServicePort {})
210- assert .Equal (t , 2 , len (containerPorts ))
211- assert .Equal (t , int32 (1234 ), containerPorts ["cwa-otlp-grpc" ].ContainerPort )
212- assert .Equal (t , "cwa-otlp-grpc" , containerPorts ["cwa-otlp-grpc" ].Name )
213- assert .Equal (t , int32 (2345 ), containerPorts ["cwa-otlp-http" ].ContainerPort )
214- assert .Equal (t , "cwa-otlp-http" , containerPorts ["cwa-otlp-http" ].Name )
215-
260+ checkPorts (t , wantPorts , containerPorts )
216261}
217262
218263func TestValidOTLPLogsPort (t * testing.T ) {
219264 cfg := getStringFromFile ("./test-resources/otlpLogsAgentConfig.json" )
265+ wantPorts := []corev1.ContainerPort {
266+ {
267+ Name : OtlpGrpc + "-1234" ,
268+ Protocol : corev1 .ProtocolTCP ,
269+ ContainerPort : int32 (1234 ),
270+ },
271+ {
272+ Name : OtlpHttp + "-2345" ,
273+ Protocol : corev1 .ProtocolTCP ,
274+ ContainerPort : int32 (2345 ),
275+ },
276+ }
220277 containerPorts := getContainerPorts (logger , cfg , "" , []corev1.ServicePort {})
221- assert .Equal (t , 2 , len (containerPorts ))
222- assert .Equal (t , int32 (1234 ), containerPorts ["cwa-otlp-grpc" ].ContainerPort )
223- assert .Equal (t , "cwa-otlp-grpc" , containerPorts ["cwa-otlp-grpc" ].Name )
224- assert .Equal (t , int32 (2345 ), containerPorts ["cwa-otlp-http" ].ContainerPort )
225- assert .Equal (t , "cwa-otlp-http" , containerPorts ["cwa-otlp-http" ].Name )
278+ checkPorts (t , wantPorts , containerPorts )
226279}
227280
228281func TestValidOTLPLogsAndMetricsPort (t * testing.T ) {
229282 cfg := getStringFromFile ("./test-resources/otlpMetricsLogsAgentConfig.json" )
283+ wantPorts := []corev1.ContainerPort {
284+ {
285+ Name : OtlpGrpc + "-1234" ,
286+ Protocol : corev1 .ProtocolTCP ,
287+ ContainerPort : int32 (1234 ),
288+ },
289+ {
290+ Name : OtlpHttp + "-2345" ,
291+ Protocol : corev1 .ProtocolTCP ,
292+ ContainerPort : int32 (2345 ),
293+ },
294+ {
295+ Name : OtlpGrpc + "-4317" ,
296+ Protocol : corev1 .ProtocolTCP ,
297+ ContainerPort : int32 (4317 ),
298+ },
299+ {
300+ Name : OtlpHttp + "-4318" ,
301+ Protocol : corev1 .ProtocolTCP ,
302+ ContainerPort : int32 (4318 ),
303+ },
304+ }
230305 containerPorts := getContainerPorts (logger , cfg , "" , []corev1.ServicePort {})
231- assert .Equal (t , 2 , len (containerPorts ))
232- assert .Equal (t , int32 (1234 ), containerPorts ["cwa-otlp-grpc" ].ContainerPort )
233- assert .Equal (t , "cwa-otlp-grpc" , containerPorts ["cwa-otlp-grpc" ].Name )
234- assert .Equal (t , int32 (2345 ), containerPorts ["cwa-otlp-http" ].ContainerPort )
235- assert .Equal (t , "cwa-otlp-http" , containerPorts ["cwa-otlp-http" ].Name )
306+ checkPorts (t , wantPorts , containerPorts )
236307}
237308
238309func TestValidJSONAndValidOtelConfig (t * testing.T ) {
@@ -325,6 +396,18 @@ func TestJMXContainerInsightsGetContainerPorts(t *testing.T) {
325396 assert .Equal (t , corev1 .ProtocolTCP , containerPorts [JmxHttp ].Protocol )
326397}
327398
399+ func checkPorts (t * testing.T , want []corev1.ContainerPort , got map [string ]corev1.ContainerPort ) {
400+ t .Helper ()
401+
402+ assert .Equal (t , len (want ), len (got ))
403+ for _ , wantPort := range want {
404+ gotPort := got [wantPort .Name ]
405+ assert .Equal (t , wantPort .Name , gotPort .Name )
406+ assert .Equal (t , wantPort .Protocol , gotPort .Protocol )
407+ assert .Equal (t , wantPort .ContainerPort , gotPort .ContainerPort )
408+ }
409+ }
410+
328411func getStringFromFile (path string ) string {
329412 buf , err := os .ReadFile (path )
330413 if err != nil {
0 commit comments