mirror of
https://github.com/Security-Onion-Solutions/securityonion.git
synced 2025-12-06 09:12:45 +01:00
update so-yaml tests
This commit is contained in:
@@ -44,8 +44,11 @@ def appendItem(content, key, listItem):
|
|||||||
else:
|
else:
|
||||||
try:
|
try:
|
||||||
content[key].append(listItem)
|
content[key].append(listItem)
|
||||||
except TypeError:
|
except AttributeError:
|
||||||
print("The key provided is likely not a list. No action was taken on the file.")
|
print("The key provided is not a list. No action was taken on the file.")
|
||||||
|
return 1
|
||||||
|
except KeyError:
|
||||||
|
print("The key provided does not exist. No action was taken on the file.")
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
def append(args):
|
def append(args):
|
||||||
|
|||||||
@@ -149,3 +149,55 @@ class TestRemove(unittest.TestCase):
|
|||||||
|
|
||||||
expected = "key1:\n child1: 123\n child2:\n deep1: 45\n deep2:\n - a\n - b\n - c\n - d\nkey2: false\nkey3:\n- e\n- f\n- g\n"
|
expected = "key1:\n child1: 123\n child2:\n deep1: 45\n deep2:\n - a\n - b\n - c\n - d\nkey2: false\nkey3:\n- e\n- f\n- g\n"
|
||||||
self.assertEqual(actual, expected)
|
self.assertEqual(actual, expected)
|
||||||
|
|
||||||
|
def test_append_key_noexist(self):
|
||||||
|
filename = "/tmp/so-yaml_test-append.yaml"
|
||||||
|
file = open(filename, "w")
|
||||||
|
file.write("{key1: { child1: 123, child2: { deep1: 45, deep2: [a,b,c] } }, key2: false, key3: [e,f,g]}")
|
||||||
|
file.close()
|
||||||
|
|
||||||
|
with patch('sys.exit', new=MagicMock()) as sysmock:
|
||||||
|
with patch('sys.stdout', new=StringIO()) as mock_stdout:
|
||||||
|
sys.argv = ["cmd", "append", filename, "key4", "h"]
|
||||||
|
soyaml.main()
|
||||||
|
sysmock.assert_called()
|
||||||
|
self.assertEqual(mock_stdout.getvalue(), "The key provided does not exist. No action was taken on the file.\n")
|
||||||
|
|
||||||
|
def test_append_key_noexist_deep(self):
|
||||||
|
filename = "/tmp/so-yaml_test-append.yaml"
|
||||||
|
file = open(filename, "w")
|
||||||
|
file.write("{key1: { child1: 123, child2: { deep1: 45, deep2: [a,b,c] } }, key2: false, key3: [e,f,g]}")
|
||||||
|
file.close()
|
||||||
|
|
||||||
|
with patch('sys.exit', new=MagicMock()) as sysmock:
|
||||||
|
with patch('sys.stdout', new=StringIO()) as mock_stdout:
|
||||||
|
sys.argv = ["cmd", "append", filename, "key1.child2.deep3", "h"]
|
||||||
|
soyaml.main()
|
||||||
|
sysmock.assert_called()
|
||||||
|
self.assertEqual(mock_stdout.getvalue(), "The key provided does not exist. No action was taken on the file.\n")
|
||||||
|
|
||||||
|
def test_append_key_nonlist(self):
|
||||||
|
filename = "/tmp/so-yaml_test-append.yaml"
|
||||||
|
file = open(filename, "w")
|
||||||
|
file.write("{key1: { child1: 123, child2: { deep1: 45, deep2: [a,b,c] } }, key2: false, key3: [e,f,g]}")
|
||||||
|
file.close()
|
||||||
|
|
||||||
|
with patch('sys.exit', new=MagicMock()) as sysmock:
|
||||||
|
with patch('sys.stdout', new=StringIO()) as mock_stdout:
|
||||||
|
sys.argv = ["cmd", "append", filename, "key1", "h"]
|
||||||
|
soyaml.main()
|
||||||
|
sysmock.assert_called()
|
||||||
|
self.assertEqual(mock_stdout.getvalue(), "The key provided is not a list. No action was taken on the file.\n")
|
||||||
|
|
||||||
|
def test_append_key_nonlist_deep(self):
|
||||||
|
filename = "/tmp/so-yaml_test-append.yaml"
|
||||||
|
file = open(filename, "w")
|
||||||
|
file.write("{key1: { child1: 123, child2: { deep1: 45, deep2: [a,b,c] } }, key2: false, key3: [e,f,g]}")
|
||||||
|
file.close()
|
||||||
|
|
||||||
|
with patch('sys.exit', new=MagicMock()) as sysmock:
|
||||||
|
with patch('sys.stdout', new=StringIO()) as mock_stdout:
|
||||||
|
sys.argv = ["cmd", "append", filename, "key1.child2.deep1", "h"]
|
||||||
|
soyaml.main()
|
||||||
|
sysmock.assert_called()
|
||||||
|
self.assertEqual(mock_stdout.getvalue(), "The key provided is not a list. No action was taken on the file.\n")
|
||||||
|
|||||||
Reference in New Issue
Block a user