1313def test_base_metric (storage_cls ):
1414 storage = storage_cls ()
1515 registry = BaseRegistry (storage = storage )
16- metric_name = "test_base_metric"
17- metric = BaseMetric (metric_name , "test_base_metric doc" , ("label1" , "label2" ), registry = registry )
16+ metric_name = "test_base_metric\x00 \\ "
17+ metric = BaseMetric (metric_name , "test_base_metric doc \u4500 " , ("label1" , "label2" ), registry = registry )
1818
1919 assert registry .is_registered (metric )
20- assert repr (metric ) == "<BaseMetric[test_base_metric]: 0 samples>"
20+ assert repr (metric ) == "<BaseMetric[test_base_metric\x00 \\ ]: 0 samples>"
2121
2222 with pytest .raises (RuntimeError ) as exc_info :
2323 registry .register (metric )
@@ -29,16 +29,18 @@ def test_base_metric(storage_cls):
2929
3030 assert str (exc_info .value ) == u"Collector {0} already registered." .format (metric .uid )
3131
32- labels = metric .labels ({"label1" : "label1_value" , "label2" : "label2_value" })
32+ labels = metric .labels ({"label1\\ x \n \" " : "label1_value\\ x \n \" " , "label2" : "label2_value\\ x \n \" " })
3333
3434 assert isinstance (labels , MetricValue )
3535
3636 labels .inc (1 )
3737
3838 assert labels .get () == 1
3939
40- assert metric .text_export_header == "\n " .join (["# HELP test_base_metric test_base_metric doc" ,
41- "# TYPE test_base_metric untyped" ])
40+ assert metric .text_export_header == "\n " .join (["# HELP test_base_metric\x00 \\ \\ test_base_metric doc \\ \\ u4500" ,
41+ "# TYPE test_base_metric\x00 \\ \\ untyped" ])
42+
43+ assert labels .export_str .split (" " )[:2 ] == 'test_base_metric\x00 \\ \\ {label1\\ \\ x\\ n\\ "="label1_value\\ \\ x\\ n\\ "", label2="label2_value\\ \\ x\\ n\\ ""} 1.0' .split (" " )[:2 ] # noqa
4244
4345
4446@pytest .mark .parametrize ("storage_cls" , [LocalMemoryStorage , UWSGIStorage ])
0 commit comments