@@ -24,21 +24,24 @@ import (
24
24
colfeaturegate "go.opentelemetry.io/collector/featuregate"
25
25
"gopkg.in/yaml.v2"
26
26
27
+ "github.com/open-telemetry/opentelemetry-operator/internal/api/convert"
27
28
ta "github.com/open-telemetry/opentelemetry-operator/internal/manifests/targetallocator/adapters"
28
29
"github.com/open-telemetry/opentelemetry-operator/pkg/featuregate"
29
30
)
30
31
31
32
func TestPrometheusParser (t * testing.T ) {
32
33
param , err := newParams ("test/test-img" , "testdata/http_sd_config_test.yaml" )
33
34
assert .NoError (t , err )
35
+ otelCol , err := convert .V1Alpha1to2 (param .OtelCol )
36
+ assert .NoError (t , err )
34
37
35
38
t .Run ("should update config with http_sd_config" , func (t * testing.T ) {
36
39
err := colfeaturegate .GlobalRegistry ().Set (featuregate .EnableTargetAllocatorRewrite .ID (), false )
37
40
require .NoError (t , err )
38
41
t .Cleanup (func () {
39
42
_ = colfeaturegate .GlobalRegistry ().Set (featuregate .EnableTargetAllocatorRewrite .ID (), true )
40
43
})
41
- actualConfig , err := ReplaceConfig (param . OtelCol )
44
+ actualConfig , err := ReplaceConfig (otelCol )
42
45
assert .NoError (t , err )
43
46
44
47
// prepare
@@ -71,8 +74,8 @@ func TestPrometheusParser(t *testing.T) {
71
74
72
75
t .Run ("should update config with targetAllocator block if block not present" , func (t * testing.T ) {
73
76
// Set up the test scenario
74
- param . OtelCol .Spec .TargetAllocator .Enabled = true
75
- actualConfig , err := ReplaceConfig (param . OtelCol )
77
+ otelCol .Spec .TargetAllocator .Enabled = true
78
+ actualConfig , err := ReplaceConfig (otelCol )
76
79
assert .NoError (t , err )
77
80
78
81
// Verify the expected changes in the config
@@ -96,9 +99,12 @@ func TestPrometheusParser(t *testing.T) {
96
99
// Set up the test scenario
97
100
paramTa , err := newParams ("test/test-img" , "testdata/http_sd_config_ta_test.yaml" )
98
101
require .NoError (t , err )
102
+ otelColTa , err := convert .V1Alpha1to2 (paramTa .OtelCol )
103
+ assert .NoError (t , err )
104
+
99
105
paramTa .OtelCol .Spec .TargetAllocator .Enabled = true
100
106
101
- actualConfig , err := ReplaceConfig (paramTa . OtelCol )
107
+ actualConfig , err := ReplaceConfig (otelColTa )
102
108
assert .NoError (t , err )
103
109
104
110
// Verify the expected changes in the config
@@ -119,8 +125,9 @@ func TestPrometheusParser(t *testing.T) {
119
125
})
120
126
121
127
t .Run ("should not update config with http_sd_config" , func (t * testing.T ) {
122
- param .OtelCol .Spec .TargetAllocator .Enabled = false
123
- actualConfig , err := ReplaceConfig (param .OtelCol )
128
+ otelCol .Spec .TargetAllocator .Enabled = false
129
+
130
+ actualConfig , err := ReplaceConfig (otelCol )
124
131
assert .NoError (t , err )
125
132
126
133
// prepare
@@ -156,17 +163,19 @@ func TestPrometheusParser(t *testing.T) {
156
163
func TestReplaceConfig (t * testing.T ) {
157
164
param , err := newParams ("test/test-img" , "testdata/relabel_config_original.yaml" )
158
165
assert .NoError (t , err )
166
+ otelCol , err := convert .V1Alpha1to2 (param .OtelCol )
167
+ assert .NoError (t , err )
159
168
160
169
t .Run ("should not modify config when TargetAllocator is disabled" , func (t * testing.T ) {
161
- param . OtelCol .Spec .TargetAllocator .Enabled = false
170
+ otelCol .Spec .TargetAllocator .Enabled = false
162
171
expectedConfigBytes , err := os .ReadFile ("testdata/relabel_config_original.yaml" )
163
172
assert .NoError (t , err )
164
173
expectedConfig := string (expectedConfigBytes )
165
174
166
- actualConfig , err := ReplaceConfig (param . OtelCol )
175
+ actualConfig , err := ReplaceConfig (otelCol )
167
176
assert .NoError (t , err )
168
177
169
- assert .Equal (t , expectedConfig , actualConfig )
178
+ assert .YAMLEq (t , expectedConfig , actualConfig )
170
179
})
171
180
172
181
t .Run ("should rewrite scrape configs with SD config when TargetAllocator is enabled and feature flag is not set" , func (t * testing.T ) {
@@ -176,28 +185,28 @@ func TestReplaceConfig(t *testing.T) {
176
185
_ = colfeaturegate .GlobalRegistry ().Set (featuregate .EnableTargetAllocatorRewrite .ID (), true )
177
186
})
178
187
179
- param . OtelCol .Spec .TargetAllocator .Enabled = true
188
+ otelCol .Spec .TargetAllocator .Enabled = true
180
189
181
190
expectedConfigBytes , err := os .ReadFile ("testdata/relabel_config_expected_with_sd_config.yaml" )
182
191
assert .NoError (t , err )
183
192
expectedConfig := string (expectedConfigBytes )
184
193
185
- actualConfig , err := ReplaceConfig (param . OtelCol )
194
+ actualConfig , err := ReplaceConfig (otelCol )
186
195
assert .NoError (t , err )
187
196
188
- assert .Equal (t , expectedConfig , actualConfig )
197
+ assert .YAMLEq (t , expectedConfig , actualConfig )
189
198
})
190
199
191
200
t .Run ("should remove scrape configs if TargetAllocator is enabled and feature flag is set" , func (t * testing.T ) {
192
- param . OtelCol .Spec .TargetAllocator .Enabled = true
201
+ otelCol .Spec .TargetAllocator .Enabled = true
193
202
194
203
expectedConfigBytes , err := os .ReadFile ("testdata/config_expected_targetallocator.yaml" )
195
204
assert .NoError (t , err )
196
205
expectedConfig := string (expectedConfigBytes )
197
206
198
- actualConfig , err := ReplaceConfig (param . OtelCol )
207
+ actualConfig , err := ReplaceConfig (otelCol )
199
208
assert .NoError (t , err )
200
209
201
- assert .Equal (t , expectedConfig , actualConfig )
210
+ assert .YAMLEq (t , expectedConfig , actualConfig )
202
211
})
203
212
}
0 commit comments