From 7f91a531285d300225d68a0525c5771c0af47da7 Mon Sep 17 00:00:00 2001 From: Ryan Brandt Date: Thu, 30 Nov 2017 15:24:46 -0700 Subject: [PATCH] Allow () in dimensions Change-Id: Ic61a325162873572cad387593c7107cba1a41e15 --- monasca_common/tests/validation/test_metric_validation.py | 4 ++-- monasca_common/validation/metrics.py | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/monasca_common/tests/validation/test_metric_validation.py b/monasca_common/tests/validation/test_metric_validation.py index 7ee87203..29595cc4 100644 --- a/monasca_common/tests/validation/test_metric_validation.py +++ b/monasca_common/tests/validation/test_metric_validation.py @@ -24,7 +24,7 @@ invalid_name_chars = " <>={}(),\"\\\\;&" # a few valid characters to test valid_dimension_chars = " .'_-" -invalid_dimension_chars = "<>={}(),\"\\\\;&" +invalid_dimension_chars = "<>={},\"\\\\;&" class TestMetricValidation(base.BaseTestCase): @@ -182,7 +182,7 @@ class TestMetricValidation(base.BaseTestCase): def test_invalid_dimension_key_restricted_characters(self): metric = {"name": "test_metric_name", - "dimensions": {'A': 'B', 'B': 'C', '(D)': 'E'}, + "dimensions": {'A': 'B', 'B': 'C', 'D=': 'E'}, "timestamp": 1405630174123, "value": 5} self.assertRaisesRegex( diff --git a/monasca_common/validation/metrics.py b/monasca_common/validation/metrics.py index 1b67da93..c7da5bb9 100644 --- a/monasca_common/validation/metrics.py +++ b/monasca_common/validation/metrics.py @@ -30,9 +30,9 @@ VALUE_META_MAX_NUMBER = 16 VALUE_META_VALUE_MAX_LENGTH = 2048 VALUE_META_NAME_MAX_LENGTH = 255 -INVALID_CHARS = "<>={}(),\"\\\\;&" +INVALID_CHARS = "<>={},\"\\\\;&" RESTRICTED_DIMENSION_CHARS = re.compile('[' + INVALID_CHARS + ']') -RESTRICTED_NAME_CHARS = re.compile('[' + INVALID_CHARS + ' ' + ']') +RESTRICTED_NAME_CHARS = re.compile('[' + INVALID_CHARS + '() ' + ']') NUMERIC_VALUES = [int, float] if six.PY2: @@ -42,6 +42,7 @@ if six.PY2: NUMERIC_VALUES = tuple(NUMERIC_VALUES) # convert to tuple for instance call + class InvalidMetricName(Exception): pass