diff options
author | Erik Johnston <erik@matrix.org> | 2018-05-02 16:52:42 +0100 |
---|---|---|
committer | Erik Johnston <erik@matrix.org> | 2018-05-02 16:52:42 +0100 |
commit | 32015e1109bc955697353d8f8088e3f6b538d12c (patch) | |
tree | f3f8b7265608eb52d8c44b6dc2fd8efd863443ee /tests/metrics/test_metric.py | |
parent | Merge pull request #3168 from matrix-org/rav/fix_logformatter (diff) | |
download | synapse-32015e1109bc955697353d8f8088e3f6b538d12c.tar.xz |
Escape label values in prometheus metrics
Diffstat (limited to 'tests/metrics/test_metric.py')
-rw-r--r-- | tests/metrics/test_metric.py | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/tests/metrics/test_metric.py b/tests/metrics/test_metric.py index 39bde6e3f8..069c0be762 100644 --- a/tests/metrics/test_metric.py +++ b/tests/metrics/test_metric.py @@ -16,7 +16,8 @@ from tests import unittest from synapse.metrics.metric import ( - CounterMetric, CallbackMetric, DistributionMetric, CacheMetric + CounterMetric, CallbackMetric, DistributionMetric, CacheMetric, + _escape_label_value, ) @@ -171,3 +172,21 @@ class CacheMetricTestCase(unittest.TestCase): 'cache:size{name="cache_name"} 1', 'cache:evicted_size{name="cache_name"} 2', ]) + + +class LabelValueEscapeTestCase(unittest.TestCase): + def test_simple(self): + string = "safjhsdlifhyskljfksdfh" + self.assertEqual(string, _escape_label_value(string)) + + def test_escape(self): + self.assertEqual( + "abc\\\"def\\nghi\\\\", + _escape_label_value("abc\"def\nghi\\"), + ) + + def test_sequence_of_escapes(self): + self.assertEqual( + "abc\\\"def\\nghi\\\\\\n", + _escape_label_value("abc\"def\nghi\\\n"), + ) |