1919
2020
2121class  TestParse (unittest .TestCase ):
22+     def  assertEqualMetrics (self , first , second , msg = None ):
23+         super (TestParse , self ).assertEqual (first , second , msg )
24+ 
25+         # Test that samples are actually named tuples of type Sample. 
26+         for  a , b  in  zip (first , second ):
27+             for  sa , sb  in  zip (a .samples , b .samples ):
28+                 assert  sa .name  ==  sb .name 
2229
2330    def  test_simple_counter (self ):
2431        families  =  text_string_to_metric_families ("""# TYPE a counter 
2532# HELP a help 
2633a 1 
2734""" )
28-         self .assertEqual ([CounterMetricFamily ("a" , "help" , value = 1 )], list (families ))
35+         self .assertEqualMetrics ([CounterMetricFamily ("a" , "help" , value = 1 )], list (families ))
2936
3037    def  test_simple_gauge (self ):
3138        families  =  text_string_to_metric_families ("""# TYPE a gauge 
3239# HELP a help 
3340a 1 
3441""" )
35-         self .assertEqual ([GaugeMetricFamily ("a" , "help" , value = 1 )], list (families ))
42+         self .assertEqualMetrics ([GaugeMetricFamily ("a" , "help" , value = 1 )], list (families ))
3643
3744    def  test_simple_summary (self ):
3845        families  =  text_string_to_metric_families ("""# TYPE a summary 
@@ -41,7 +48,7 @@ def test_simple_summary(self):
4148a_sum 2 
4249""" )
4350        summary  =  SummaryMetricFamily ("a" , "help" , count_value = 1 , sum_value = 2 )
44-         self .assertEqual ([summary ], list (families ))
51+         self .assertEqualMetrics ([summary ], list (families ))
4552
4653    def  test_summary_quantiles (self ):
4754        families  =  text_string_to_metric_families ("""# TYPE a summary 
@@ -54,7 +61,7 @@ def test_summary_quantiles(self):
5461        # still need to be able to parse them. 
5562        metric_family  =  SummaryMetricFamily ("a" , "help" , count_value = 1 , sum_value = 2 )
5663        metric_family .add_sample ("a" , {"quantile" : "0.5" }, 0.7 )
57-         self .assertEqual ([metric_family ], list (families ))
64+         self .assertEqualMetrics ([metric_family ], list (families ))
5865
5966    def  test_simple_histogram (self ):
6067        families  =  text_string_to_metric_families ("""# TYPE a histogram 
@@ -64,14 +71,14 @@ def test_simple_histogram(self):
6471a_count 3 
6572a_sum 2 
6673""" )
67-         self .assertEqual ([HistogramMetricFamily ("a" , "help" , sum_value = 2 , buckets = [("1" , 0.0 ), ("+Inf" , 3.0 )])], list (families ))
74+         self .assertEqualMetrics ([HistogramMetricFamily ("a" , "help" , sum_value = 2 , buckets = [("1" , 0.0 ), ("+Inf" , 3.0 )])], list (families ))
6875
6976    def  test_no_metadata (self ):
7077        families  =  text_string_to_metric_families ("""a 1 
7178""" )
7279        metric_family  =  Metric ("a" , "" , "untyped" )
7380        metric_family .add_sample ("a" , {}, 1 )
74-         self .assertEqual ([metric_family ], list (families ))
81+         self .assertEqualMetrics ([metric_family ], list (families ))
7582
7683    def  test_untyped (self ):
7784        # https://github.com/prometheus/client_python/issues/79 
@@ -85,14 +92,14 @@ def test_untyped(self):
8592            Sample ("redis_connected_clients" , {"instance" : "rough-snowflake-web" , "port" : "6380" }, 10 ),
8693            Sample ("redis_connected_clients" , {"instance" : "rough-snowflake-web" , "port" : "6381" }, 12 ),
8794        ]
88-         self .assertEqual ([m ], list (families ))
95+         self .assertEqualMetrics ([m ], list (families ))
8996
9097    def  test_type_help_switched (self ):
9198        families  =  text_string_to_metric_families ("""# HELP a help 
9299# TYPE a counter 
93100a 1 
94101""" )
95-         self .assertEqual ([CounterMetricFamily ("a" , "help" , value = 1 )], list (families ))
102+         self .assertEqualMetrics ([CounterMetricFamily ("a" , "help" , value = 1 )], list (families ))
96103
97104    def  test_blank_lines_and_comments (self ):
98105        families  =  text_string_to_metric_families (""" 
@@ -103,14 +110,14 @@ def test_blank_lines_and_comments(self):
103110
104111a 1 
105112""" )
106-         self .assertEqual ([CounterMetricFamily ("a" , "help" , value = 1 )], list (families ))
113+         self .assertEqualMetrics ([CounterMetricFamily ("a" , "help" , value = 1 )], list (families ))
107114
108115    def  test_tabs (self ):
109116        families  =  text_string_to_metric_families ("""#\t TYPE\t a\t counter 
110117#\t HELP\t a\t help 
111118a\t 1 
112119""" )
113-         self .assertEqual ([CounterMetricFamily ("a" , "help" , value = 1 )], list (families ))
120+         self .assertEqualMetrics ([CounterMetricFamily ("a" , "help" , value = 1 )], list (families ))
114121
115122    def  test_labels_with_curly_braces (self ):
116123        families  =  text_string_to_metric_families ("""# TYPE a counter 
@@ -119,14 +126,14 @@ def test_labels_with_curly_braces(self):
119126""" )
120127        metric_family  =  CounterMetricFamily ("a" , "help" , labels = ["foo" , "bar" ])
121128        metric_family .add_metric (["bar" , "b{a}z" ], 1 )
122-         self .assertEqual ([metric_family ], list (families ))
129+         self .assertEqualMetrics ([metric_family ], list (families ))
123130
124131    def  test_empty_help (self ):
125132        families  =  text_string_to_metric_families ("""# TYPE a counter 
126133# HELP a 
127134a 1 
128135""" )
129-         self .assertEqual ([CounterMetricFamily ("a" , "" , value = 1 )], list (families ))
136+         self .assertEqualMetrics ([CounterMetricFamily ("a" , "" , value = 1 )], list (families ))
130137
131138    def  test_labels_and_infinite (self ):
132139        families  =  text_string_to_metric_families ("""# TYPE a counter 
@@ -137,7 +144,7 @@ def test_labels_and_infinite(self):
137144        metric_family  =  CounterMetricFamily ("a" , "help" , labels = ["foo" ])
138145        metric_family .add_metric (["bar" ], float ('inf' ))
139146        metric_family .add_metric (["baz" ], float ('-inf' ))
140-         self .assertEqual ([metric_family ], list (families ))
147+         self .assertEqualMetrics ([metric_family ], list (families ))
141148
142149    def  test_spaces (self ):
143150        families  =  text_string_to_metric_families ("""# TYPE a counter 
@@ -154,7 +161,7 @@ def test_spaces(self):
154161        metric_family .add_metric (["buz" ], 3 )
155162        metric_family .add_metric (["biz" ], 4 )
156163        metric_family .add_metric (["boz" ], 5 )
157-         self .assertEqual ([metric_family ], list (families ))
164+         self .assertEqualMetrics ([metric_family ], list (families ))
158165
159166    def  test_commas (self ):
160167        families  =  text_string_to_metric_families ("""# TYPE a counter 
@@ -177,7 +184,7 @@ def test_commas(self):
177184        b  =  CounterMetricFamily ("b" , "help" , value = 2 )
178185        c  =  CounterMetricFamily ("c" , "help" , value = 3 )
179186        d  =  CounterMetricFamily ("d" , "help" , value = 4 )
180-         self .assertEqual ([a , b , c , d ], list (families ))
187+         self .assertEqualMetrics ([a , b , c , d ], list (families ))
181188
182189    def  test_multiple_trailing_commas (self ):
183190        text  =  """# TYPE a counter 
@@ -192,7 +199,7 @@ def test_empty_brackets(self):
192199# HELP a help 
193200a{} 1 
194201""" )
195-         self .assertEqual ([CounterMetricFamily ("a" , "help" , value = 1 )], list (families ))
202+         self .assertEqualMetrics ([CounterMetricFamily ("a" , "help" , value = 1 )], list (families ))
196203
197204    def  test_nan (self ):
198205        families  =  text_string_to_metric_families ("""a NaN 
@@ -209,7 +216,7 @@ def test_empty_label(self):
209216        metric_family  =  CounterMetricFamily ("a" , "help" , labels = ["foo" ])
210217        metric_family .add_metric (["bar" ], 1 )
211218        metric_family .add_metric (["" ], 2 )
212-         self .assertEqual ([metric_family ], list (families ))
219+         self .assertEqualMetrics ([metric_family ], list (families ))
213220
214221    def  test_label_escaping (self ):
215222        for  escaped_val , unescaped_val  in  [
@@ -231,7 +238,7 @@ def test_label_escaping(self):
231238            metric_family  =  CounterMetricFamily (
232239                "a" , "help" , labels = ["foo" , "bar" ])
233240            metric_family .add_metric ([unescaped_val , "baz" ], 1 )
234-             self .assertEqual ([metric_family ], list (families ))
241+             self .assertEqualMetrics ([metric_family ], list (families ))
235242
236243    def  test_help_escaping (self ):
237244        for  escaped_val , unescaped_val  in  [
@@ -253,7 +260,7 @@ def test_help_escaping(self):
253260"""  %  escaped_val ))
254261            metric_family  =  CounterMetricFamily ("a" , unescaped_val , labels = ["foo" ])
255262            metric_family .add_metric (["bar" ], 1 )
256-             self .assertEqual ([metric_family ], list (families ))
263+             self .assertEqualMetrics ([metric_family ], list (families ))
257264
258265    def  test_escaping (self ):
259266        families  =  text_string_to_metric_families ("""# TYPE a counter 
@@ -264,7 +271,7 @@ def test_escaping(self):
264271        metric_family  =  CounterMetricFamily ("a" , "he\n \\ l\\ tp" , labels = ["foo" ])
265272        metric_family .add_metric (["b\" a\n r" ], 1 )
266273        metric_family .add_metric (["b\\ a\\ z" ], 2 )
267-         self .assertEqual ([metric_family ], list (families ))
274+         self .assertEqualMetrics ([metric_family ], list (families ))
268275
269276    def  test_timestamps_discarded (self ):
270277        families  =  text_string_to_metric_families ("""# TYPE a counter 
@@ -277,7 +284,7 @@ def test_timestamps_discarded(self):
277284        a  =  CounterMetricFamily ("a" , "help" , labels = ["foo" ])
278285        a .add_metric (["bar" ], 1 )
279286        b  =  CounterMetricFamily ("b" , "help" , value = 2 )
280-         self .assertEqual ([a , b ], list (families ))
287+         self .assertEqualMetrics ([a , b ], list (families ))
281288
282289    @unittest .skipIf (sys .version_info  <  (2 , 7 ), "Test requires Python 2.7+." ) 
283290    def  test_roundtrip (self ):
0 commit comments