Skip to content

Commit 4c89d30

Browse files
committed
[receiver/prometheus] Test forward/default fallback_scrape_protocol
This tests that the provided value is properlly forwared, and if there is no value, that a default is applied Signed-off-by: MATILLAT Quentin <[email protected]>
1 parent 9358ab1 commit 4c89d30

File tree

1 file changed

+24
-11
lines changed

1 file changed

+24
-11
lines changed

receiver/prometheusreceiver/targetallocator/manager_test.go

Lines changed: 24 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -67,9 +67,10 @@ type expectedMetricRelabelConfigTestResult struct {
6767
}
6868

6969
type expectedTestResultJobMap struct {
70-
Targets []string
71-
Labels model.LabelSet
72-
MetricRelabelConfig *expectedMetricRelabelConfigTestResult
70+
Targets []string
71+
Labels model.LabelSet
72+
MetricRelabelConfig *expectedMetricRelabelConfigTestResult
73+
ScrapeFallbackProtocol promconfig.ScrapeProtocol
7374
}
7475

7576
type expectedTestResult struct {
@@ -284,14 +285,15 @@ func TestTargetAllocatorJobRetrieval(t *testing.T) {
284285
"/scrape_configs": {
285286
mockTargetAllocatorResponseRaw{code: 200, data: map[string]map[string]any{
286287
"job1": {
287-
"job_name": "job1",
288-
"scrape_interval": "30s",
289-
"scrape_timeout": "30s",
290-
"scrape_protocols": []string{"OpenMetricsText1.0.0", "OpenMetricsText0.0.1", "PrometheusText0.0.4"},
291-
"metrics_path": "/metrics",
292-
"scheme": "http",
293-
"relabel_configs": nil,
294-
"metric_relabel_configs": nil,
288+
"job_name": "job1",
289+
"scrape_interval": "30s",
290+
"scrape_timeout": "30s",
291+
"scrape_protocols": []string{"OpenMetricsText1.0.0", "OpenMetricsText0.0.1", "PrometheusText0.0.4"},
292+
"metrics_path": "/metrics",
293+
"scheme": "http",
294+
"relabel_configs": nil,
295+
"metric_relabel_configs": nil,
296+
"fallback_scrape_protocol": promconfig.PrometheusText1_0_0,
295297
},
296298
"job2": {
297299
"job_name": "job2",
@@ -369,13 +371,15 @@ func TestTargetAllocatorJobRetrieval(t *testing.T) {
369371
"__meta_datacenter": "london",
370372
"__meta_prometheus_job": "node",
371373
},
374+
ScrapeFallbackProtocol: promconfig.PrometheusText1_0_0,
372375
},
373376
"job2": {
374377
Targets: []string{"10.0.40.2:9100", "10.0.40.3:9100"},
375378
Labels: map[model.LabelName]model.LabelValue{
376379
"__meta_datacenter": "london",
377380
"__meta_prometheus_job": "alertmanager",
378381
},
382+
ScrapeFallbackProtocol: promconfig.PrometheusText0_0_4, // Tests default value
379383
},
380384
},
381385
},
@@ -778,6 +782,15 @@ func TestTargetAllocatorJobRetrieval(t *testing.T) {
778782
}
779783
}
780784
}
785+
786+
if s.ScrapeFallbackProtocol != "" {
787+
for _, sc := range manager.promCfg.ScrapeConfigs {
788+
if sc.JobName == job {
789+
require.Equal(t, sc.ScrapeFallbackProtocol, s.ScrapeFallbackProtocol)
790+
}
791+
}
792+
}
793+
781794
found = true
782795
}
783796
require.True(t, found, "Returned job is not defined in expected values", group)

0 commit comments

Comments
 (0)