Skip to content

Commit 2e5339c

Browse files
authored
Add test for prometheus selectors in conversion (open-telemetry#2724)
Signed-off-by: Pavol Loffay <[email protected]>
1 parent 249bfd4 commit 2e5339c

File tree

1 file changed

+59
-0
lines changed

1 file changed

+59
-0
lines changed

apis/v1alpha1/convert_test.go

+59
Original file line numberDiff line numberDiff line change
@@ -323,6 +323,65 @@ func Test_tov1beta1AndBack(t *testing.T) {
323323
assert.Equal(t, colalpha1, colalpha1Converted)
324324
}
325325

326+
func Test_tov1beta1AndBack_prometheus_selectors(t *testing.T) {
327+
t.Run("nil-selectors", func(t *testing.T) {
328+
colalpha1 := OpenTelemetryCollector{
329+
Spec: OpenTelemetryCollectorSpec{
330+
TargetAllocator: OpenTelemetryTargetAllocator{
331+
PrometheusCR: OpenTelemetryTargetAllocatorPrometheusCR{
332+
// nil or empty map means select everything
333+
PodMonitorSelector: nil,
334+
ServiceMonitorSelector: nil,
335+
},
336+
},
337+
},
338+
}
339+
340+
colbeta1 := v1beta1.OpenTelemetryCollector{}
341+
err := colalpha1.ConvertTo(&colbeta1)
342+
require.NoError(t, err)
343+
344+
// nil LabelSelector means select nothing
345+
// empty LabelSelector mean select everything
346+
assert.NotNil(t, colbeta1.Spec.TargetAllocator.PrometheusCR.PodMonitorSelector)
347+
assert.NotNil(t, colbeta1.Spec.TargetAllocator.PrometheusCR.ServiceMonitorSelector)
348+
assert.Equal(t, 0, len(colalpha1.Spec.TargetAllocator.PrometheusCR.PodMonitorSelector))
349+
assert.Equal(t, 0, len(colalpha1.Spec.TargetAllocator.PrometheusCR.ServiceMonitorSelector))
350+
351+
err = colalpha1.ConvertFrom(&colbeta1)
352+
require.NoError(t, err)
353+
assert.Nil(t, colalpha1.Spec.TargetAllocator.PrometheusCR.PodMonitorSelector)
354+
assert.Nil(t, colalpha1.Spec.TargetAllocator.PrometheusCR.ServiceMonitorSelector)
355+
})
356+
t.Run("empty-selectors", func(t *testing.T) {
357+
colalpha1 := OpenTelemetryCollector{
358+
Spec: OpenTelemetryCollectorSpec{
359+
TargetAllocator: OpenTelemetryTargetAllocator{
360+
PrometheusCR: OpenTelemetryTargetAllocatorPrometheusCR{
361+
// nil or empty map means select everything
362+
PodMonitorSelector: map[string]string{},
363+
ServiceMonitorSelector: map[string]string{},
364+
},
365+
},
366+
},
367+
}
368+
369+
colbeta1 := v1beta1.OpenTelemetryCollector{}
370+
err := colalpha1.ConvertTo(&colbeta1)
371+
require.NoError(t, err)
372+
373+
// nil LabelSelector means select nothing
374+
// empty LabelSelector mean select everything
375+
assert.NotNil(t, colbeta1.Spec.TargetAllocator.PrometheusCR.PodMonitorSelector)
376+
assert.NotNil(t, colbeta1.Spec.TargetAllocator.PrometheusCR.ServiceMonitorSelector)
377+
378+
err = colalpha1.ConvertFrom(&colbeta1)
379+
require.NoError(t, err)
380+
assert.Equal(t, map[string]string{}, colalpha1.Spec.TargetAllocator.PrometheusCR.PodMonitorSelector)
381+
assert.Equal(t, map[string]string{}, colalpha1.Spec.TargetAllocator.PrometheusCR.ServiceMonitorSelector)
382+
})
383+
}
384+
326385
func createTA() OpenTelemetryTargetAllocator {
327386
replicas := int32(2)
328387
runAsNonRoot := true

0 commit comments

Comments
 (0)