MCPcopy
hub / github.com/prometheus/prometheus / TestNewParser

Function TestNewParser

model/textparse/interface_test.go:33–180  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

31)
32
33func TestNewParser(t *testing.T) {
34 t.Parallel()
35
36 requireNilParser := func(t *testing.T, p Parser) {
37 require.Nil(t, p)
38 }
39
40 requirePromParser := func(t *testing.T, p Parser) {
41 require.NotNil(t, p)
42 _, ok := p.(*PromParser)
43 require.True(t, ok)
44 }
45
46 requireOpenMetricsParser := func(t *testing.T, p Parser) {
47 require.NotNil(t, p)
48 _, ok := p.(*OpenMetricsParser)
49 require.True(t, ok)
50 }
51
52 requireProtobufParser := func(t *testing.T, p Parser) {
53 require.NotNil(t, p)
54 _, ok := p.(*ProtobufParser)
55 require.True(t, ok)
56 }
57
58 for name, tt := range map[string]*struct {
59 contentType string
60 fallbackScrapeProtocol config.ScrapeProtocol
61 validateParser func(*testing.T, Parser)
62 err string
63 }{
64 "empty-string": {
65 validateParser: requireNilParser,
66 err: "non-compliant scrape target sending blank Content-Type and no fallback_scrape_protocol specified for target",
67 },
68 "empty-string-fallback-text-plain": {
69 validateParser: requirePromParser,
70 fallbackScrapeProtocol: config.PrometheusText0_0_4,
71 err: "non-compliant scrape target sending blank Content-Type, using fallback_scrape_protocol \"text/plain\"",
72 },
73 "invalid-content-type-1": {
74 contentType: "invalid/",
75 validateParser: requireNilParser,
76 err: "expected token after slash",
77 },
78 "invalid-content-type-1-fallback-text-plain": {
79 contentType: "invalid/",
80 validateParser: requirePromParser,
81 fallbackScrapeProtocol: config.PrometheusText0_0_4,
82 err: "expected token after slash",
83 },
84 "invalid-content-type-1-fallback-openmetrics": {
85 contentType: "invalid/",
86 validateParser: requireOpenMetricsParser,
87 fallbackScrapeProtocol: config.OpenMetricsText0_0_1,
88 err: "expected token after slash",
89 },
90 "invalid-content-type-1-fallback-protobuf": {

Callers

nothing calls this directly

Calls 4

NewSymbolTableFunction · 0.92
HeaderMediaTypeMethod · 0.80
NewFunction · 0.70
RunMethod · 0.65

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…