mirror of
https://github.com/Security-Onion-Solutions/securityonion.git
synced 2026-06-13 13:49:14 +02:00
Fix so-yaml get to output booleans in YAML format and add bool test
This commit is contained in:
@@ -346,7 +346,9 @@ def get(args):
|
|||||||
print(f"Key '{key}' not found by so-yaml.py", file=sys.stderr)
|
print(f"Key '{key}' not found by so-yaml.py", file=sys.stderr)
|
||||||
return 2
|
return 2
|
||||||
|
|
||||||
if isinstance(output, (dict, list)):
|
if isinstance(output, bool):
|
||||||
|
print(str(output).lower())
|
||||||
|
elif isinstance(output, (dict, list)):
|
||||||
print(yaml.safe_dump(output).strip())
|
print(yaml.safe_dump(output).strip())
|
||||||
else:
|
else:
|
||||||
print(output)
|
print(output)
|
||||||
|
|||||||
@@ -406,6 +406,17 @@ class TestRemove(unittest.TestCase):
|
|||||||
self.assertEqual(result, 0)
|
self.assertEqual(result, 0)
|
||||||
self.assertEqual("hello\n", mock_stdout.getvalue())
|
self.assertEqual("hello\n", mock_stdout.getvalue())
|
||||||
|
|
||||||
|
def test_get_bool(self):
|
||||||
|
with patch('sys.stdout', new=StringIO()) as mock_stdout:
|
||||||
|
filename = "/tmp/so-yaml_test-get.yaml"
|
||||||
|
file = open(filename, "w")
|
||||||
|
file.write("{key1: { child1: 123, child2: { deep1: 45 } }, key2: false, key3: [e,f,g]}")
|
||||||
|
file.close()
|
||||||
|
|
||||||
|
result = soyaml.get([filename, "key2"])
|
||||||
|
self.assertEqual(result, 0)
|
||||||
|
self.assertEqual("false\n", mock_stdout.getvalue())
|
||||||
|
|
||||||
def test_get_list(self):
|
def test_get_list(self):
|
||||||
with patch('sys.stdout', new=StringIO()) as mock_stdout:
|
with patch('sys.stdout', new=StringIO()) as mock_stdout:
|
||||||
filename = "/tmp/so-yaml_test-get.yaml"
|
filename = "/tmp/so-yaml_test-get.yaml"
|
||||||
|
|||||||
Reference in New Issue
Block a user