diff --git a/sumologic_collectd_metrics/metrics_util.py b/sumologic_collectd_metrics/metrics_util.py index 3b12da5..91da177 100644 --- a/sumologic_collectd_metrics/metrics_util.py +++ b/sumologic_collectd_metrics/metrics_util.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- _reserved_symbols = { - ' ': None, + ' ': '_', '=': ':', } @@ -41,10 +41,6 @@ def validate_field(value, field, label1, label2): for reserved_symbol, replacement in _reserved_symbols.items(): if reserved_symbol in value: - if replacement is None: - raise Exception('%s %s for %s %s must not contain reserved symbol \"%s\"' % - (label1, value, label2, field, reserved_symbol)) - value = value.replace(reserved_symbol, replacement) return value diff --git a/test/test_metrics_config.py b/test/test_metrics_config.py index 8dc7bed..3b63c95 100644 --- a/test/test_metrics_config.py +++ b/test/test_metrics_config.py @@ -229,17 +229,6 @@ def test_invalid_http_post_interval_exception(): assert 'Specify HttpPostInterval' in str(e) -def test_contains_reserved_symbols_exception(): - with pytest.raises(Exception) as e: - met_config = Helper.default_config() - tags = ('meta_key1', 'meta_val1', 'meta_key2', 'meta val2') - config = CollectdConfig([Helper.url_node(), - tags_node(ConfigOptions.meta_tags, tags)]) - met_config.parse_config(config) - - assert 'Value meta val2 for Key Metadata must not contain reserved symbol " "' in str(e) - - def test_non_ascii_strings(): met_config = Helper.default_config() diff --git a/test/test_metrics_converter.py b/test/test_metrics_converter.py index 25f1b23..53be418 100644 --- a/test/test_metrics_converter.py +++ b/test/test_metrics_converter.py @@ -44,6 +44,10 @@ def test_gen_value_not_string_exception(): assert expected, value +def test_gen_value_reserved(): + assert gen_tag('tag_key space=', 'tag_value=t st') == 'tag_key_space:=tag_value:t_st' + + def test_tags_to_str(): tags = ['tag_key1=tag_val1', 'tag_key2=tag_val2', 'tag_key3=tag_val3'] tag_str = tags_to_str(tags)