1818 GaugeMetricFamily ,
1919 Histogram ,
2020 HistogramMetricFamily ,
21+ Info ,
22+ InfoMetricFamily ,
2123 Metric ,
2224 Summary ,
2325 SummaryMetricFamily ,
@@ -287,6 +289,8 @@ def test_setting_buckets(self):
287289 self .assertRaises (ValueError , Histogram , 'h' , 'help' , registry = None , buckets = [3 , 1 ])
288290
289291 def test_labels (self ):
292+ self .assertRaises (ValueError , Histogram , 'h2' , 'help' , registry = None , labelnames = ['le' ])
293+
290294 self .labels .labels ('a' ).observe (2 )
291295 self .assertEqual (0 , self .registry .get_sample_value ('hl_bucket' , {'le' : '1.0' , 'l' : 'a' }))
292296 self .assertEqual (1 , self .registry .get_sample_value ('hl_bucket' , {'le' : '2.5' , 'l' : 'a' }))
@@ -295,6 +299,7 @@ def test_labels(self):
295299 self .assertEqual (1 , self .registry .get_sample_value ('hl_count' , {'l' : 'a' }))
296300 self .assertEqual (2 , self .registry .get_sample_value ('hl_sum' , {'l' : 'a' }))
297301
302+
298303 def test_function_decorator (self ):
299304 self .assertEqual (0 , self .registry .get_sample_value ('h_count' ))
300305 self .assertEqual (0 , self .registry .get_sample_value ('h_bucket' , {'le' : '+Inf' }))
@@ -339,6 +344,25 @@ def test_block_decorator(self):
339344 self .assertEqual (1 , self .registry .get_sample_value ('h_bucket' , {'le' : '+Inf' }))
340345
341346
347+ class TestInfo (unittest .TestCase ):
348+ def setUp (self ):
349+ self .registry = CollectorRegistry ()
350+ self .info = Info ('i' , 'help' , registry = self .registry )
351+ self .labels = Info ('il' , 'help' , ['l' ], registry = self .registry )
352+
353+ def test_info (self ):
354+ self .assertEqual (1 , self .registry .get_sample_value ('i_info' , {}))
355+ self .info .info ({'a' : 'b' , 'c' : 'd' })
356+ self .assertEqual (None , self .registry .get_sample_value ('i_info' , {}))
357+ self .assertEqual (1 , self .registry .get_sample_value ('i_info' , {'a' : 'b' , 'c' : 'd' }))
358+
359+ def test_labels (self ):
360+ self .assertRaises (ValueError , self .labels .labels ('a' ).info , {'l' : '' })
361+
362+ self .labels .labels ('a' ).info ({'foo' : 'bar' })
363+ self .assertEqual (1 , self .registry .get_sample_value ('il_info' , {'l' : 'a' , 'foo' : 'bar' }))
364+
365+
342366class TestMetricWrapper (unittest .TestCase ):
343367 def setUp (self ):
344368 self .registry = CollectorRegistry ()
@@ -490,6 +514,16 @@ def test_histogram_labels(self):
490514 self .assertEqual (2 , self .registry .get_sample_value ('h_count' , {'a' : 'b' }))
491515 self .assertEqual (3 , self .registry .get_sample_value ('h_sum' , {'a' : 'b' }))
492516
517+ def test_info (self ):
518+ self .custom_collector (InfoMetricFamily ('i' , 'help' , value = {'a' : 'b' }))
519+ self .assertEqual (1 , self .registry .get_sample_value ('i_info' , {'a' : 'b' }))
520+
521+ def test_info_labels (self ):
522+ cmf = InfoMetricFamily ('i' , 'help' , labels = ['a' ])
523+ cmf .add_metric (['b' ], {'c' : 'd' })
524+ self .custom_collector (cmf )
525+ self .assertEqual (1 , self .registry .get_sample_value ('i_info' , {'a' : 'b' , 'c' : 'd' }))
526+
493527 def test_bad_constructors (self ):
494528 self .assertRaises (ValueError , UntypedMetricFamily , 'u' , 'help' , value = 1 , labels = [])
495529 self .assertRaises (ValueError , UntypedMetricFamily , 'u' , 'help' , value = 1 , labels = ['a' ])
@@ -513,6 +547,9 @@ def test_bad_constructors(self):
513547 self .assertRaises (ValueError , HistogramMetricFamily , 'h' , 'help' , buckets = {}, sum_value = 1 , labels = ['a' ])
514548 self .assertRaises (KeyError , HistogramMetricFamily , 'h' , 'help' , buckets = {}, sum_value = 1 )
515549
550+ self .assertRaises (ValueError , InfoMetricFamily , 'i' , 'help' , value = {}, labels = [])
551+ self .assertRaises (ValueError , InfoMetricFamily , 'i' , 'help' , value = {}, labels = ['a' ])
552+
516553 def test_labelnames (self ):
517554 cmf = UntypedMetricFamily ('u' , 'help' , labels = iter (['a' ]))
518555 self .assertEqual (('a' ,), cmf ._labelnames )
0 commit comments