Skip to content

Commit f2f51b5

Browse files
committed
filterx: add E2E tests for flatten()
Signed-off-by: Attila Szakacs <[email protected]>
1 parent 0511ad0 commit f2f51b5

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

tests/light/functional_tests/filterx/test_filterx.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1806,3 +1806,27 @@ def test_add_operator_for_base_types(config, syslog_ng):
18061806
r""""dict_dict":{"foo":"bar","baz":"other"}}""" + "\n"
18071807
)
18081808
assert file_true.read_log() == exp
1809+
1810+
1811+
def test_flatten(config, syslog_ng):
1812+
(file_true, file_false) = create_config(
1813+
config, r"""
1814+
dict = json({"top_level_field":42,"top_level_dict":{"inner_field":1337,"inner_dict":{"inner_inner_field":1}}});
1815+
1816+
default_separator = dict;
1817+
custom_separator = dict;
1818+
1819+
flatten(default_separator);
1820+
flatten(custom_separator, separator="->");
1821+
1822+
$MSG = json_array([default_separator, custom_separator]);
1823+
""",
1824+
)
1825+
syslog_ng.start(config)
1826+
1827+
assert file_true.get_stats()["processed"] == 1
1828+
assert "processed" not in file_false.get_stats()
1829+
assert file_true.read_log() == '[' \
1830+
'{"top_level_field":42,"top_level_dict.inner_dict.inner_inner_field":1,"top_level_dict.inner_field":1337},' \
1831+
'{"top_level_field":42,"top_level_dict->inner_dict->inner_inner_field":1,"top_level_dict->inner_field":1337}' \
1832+
']\n'

0 commit comments

Comments
 (0)