MCPcopy
hub / github.com/prometheus/prometheus / TestToMetadata

Function TestToMetadata

prompb/rwcommon/codec_test.go:87–158  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

85}
86
87func TestToMetadata(t *testing.T) {
88 sym := writev2.NewSymbolTable()
89
90 for _, tc := range []struct {
91 input writev2.Metadata
92 expected metadata.Metadata
93 }{
94 {
95 input: writev2.Metadata{},
96 expected: metadata.Metadata{
97 Type: model.MetricTypeUnknown,
98 },
99 },
100 {
101 input: writev2.Metadata{
102 Type: 12414, // Unknown.
103 },
104 expected: metadata.Metadata{
105 Type: model.MetricTypeUnknown,
106 },
107 },
108 {
109 input: writev2.Metadata{
110 Type: writev2.Metadata_METRIC_TYPE_COUNTER,
111 HelpRef: sym.Symbolize("help1"),
112 UnitRef: sym.Symbolize("unit1"),
113 },
114 expected: metadata.Metadata{
115 Type: model.MetricTypeCounter,
116 Help: "help1",
117 Unit: "unit1",
118 },
119 },
120 {
121 input: writev2.Metadata{
122 Type: writev2.Metadata_METRIC_TYPE_STATESET,
123 HelpRef: sym.Symbolize("help2"),
124 },
125 expected: metadata.Metadata{
126 Type: model.MetricTypeStateset,
127 Help: "help2",
128 },
129 },
130 } {
131 t.Run("", func(t *testing.T) {
132 ts := writev2.TimeSeries{Metadata: tc.input}
133 meta, err := ts.ToMetadata(sym.Symbols())
134 require.NoError(t, err)
135 require.Equal(t, tc.expected, meta)
136 })
137 }
138
139 t.Run("out of bounds unit ref", func(t *testing.T) {
140 ts := writev2.TimeSeries{Metadata: writev2.Metadata{UnitRef: 999}}
141 _, err := ts.ToMetadata(sym.Symbols())
142 require.Error(t, err)
143 require.Contains(t, err.Error(), "metadata unit_ref 999 outside of symbols table")
144 })

Callers

nothing calls this directly

Calls 5

ToMetadataMethod · 0.95
SymbolizeMethod · 0.80
RunMethod · 0.65
SymbolsMethod · 0.65
ErrorMethod · 0.65

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…