@@ -696,6 +696,9 @@ def test_duplicate_metrics_raises(self):
696696 # The name of the histogram itself isn't taken.
697697 Gauge ('h' , 'help' , registry = registry )
698698
699+ Info ('i' , 'help' , registry = registry )
700+ self .assertRaises (ValueError , Gauge , 'i_info' , 'help' , registry = registry )
701+
699702 def test_unregister_works (self ):
700703 registry = CollectorRegistry ()
701704 s = Summary ('s' , 'help' , registry = registry )
@@ -728,6 +731,34 @@ def test_restricted_registry(self):
728731 m .samples = [Sample ('s_sum' , {}, 7 )]
729732 self .assertEquals ([m ], registry .restricted_registry (['s_sum' ]).collect ())
730733
734+ def test_target_info_injected (self ):
735+ registry = CollectorRegistry (target_info = {'foo' : 'bar' })
736+ self .assertEqual (1 , registry .get_sample_value ('target_info' , {'foo' : 'bar' }))
737+
738+ def test_target_info_duplicate_detected (self ):
739+ registry = CollectorRegistry (target_info = {'foo' : 'bar' })
740+ self .assertRaises (ValueError , Info , 'target' , 'help' , registry = registry )
741+
742+ registry .set_target_info ({})
743+ i = Info ('target' , 'help' , registry = registry )
744+ registry .set_target_info ({})
745+ self .assertRaises (ValueError , Info , 'target' , 'help' , registry = registry )
746+ self .assertRaises (ValueError , registry .set_target_info , {'foo' : 'bar' })
747+ registry .unregister (i )
748+ registry .set_target_info ({'foo' : 'bar' })
749+
750+ def test_target_info_restricted_registry (self ):
751+ registry = CollectorRegistry (target_info = {'foo' : 'bar' })
752+ Summary ('s' , 'help' , registry = registry ).observe (7 )
753+
754+ m = Metric ('s' , 'help' , 'summary' )
755+ m .samples = [Sample ('s_sum' , {}, 7 )]
756+ self .assertEquals ([m ], registry .restricted_registry (['s_sum' ]).collect ())
757+
758+ m = Metric ('target' , 'Target metadata' , 'info' )
759+ m .samples = [Sample ('target_info' , {'foo' : 'bar' }, 1 )]
760+ self .assertEquals ([m ], registry .restricted_registry (['target_info' ]).collect ())
761+
731762
732763if __name__ == '__main__' :
733764 unittest .main ()
0 commit comments