1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
# -*- coding: utf-8 -*-
from __future__ import absolute_import, division, print_function
__metaclass__ = type
import unittest
from ansible_collections.vyos.rest.plugins.modules.vyos_configure import (
_parse_command,
)
class TestVyOSConfigureParseCommand(unittest.TestCase):
def test_set_simple(self):
result = _parse_command("set system host-name vyos")
self.assertEqual(result, ("set", ["system", "host-name", "vyos"]))
def test_set_with_address(self):
result = _parse_command("set interfaces loopback lo address 20.1.1.1/32")
self.assertEqual(
result,
("set", ["interfaces", "loopback", "lo", "address", "20.1.1.1/32"]),
)
def test_delete_simple(self):
result = _parse_command("delete service snmp")
self.assertEqual(result, ("delete", ["service", "snmp"]))
def test_delete_with_path(self):
result = _parse_command("delete interfaces loopback lo address 20.1.1.1/32")
self.assertEqual(
result,
("delete", ["interfaces", "loopback", "lo", "address", "20.1.1.1/32"]),
)
def test_strips_leading_whitespace(self):
result = _parse_command(" set system host-name vyos")
self.assertEqual(result, ("set", ["system", "host-name", "vyos"]))
def test_invalid_command_returns_none(self):
result = _parse_command("commit")
self.assertIsNone(result)
def test_empty_string_returns_none(self):
result = _parse_command("")
self.assertIsNone(result)
def test_unknown_op_returns_none(self):
result = _parse_command("show interfaces")
self.assertIsNone(result)
def test_set_single_token_path(self):
result = _parse_command("set service")
self.assertEqual(result, ("set", ["service"]))
def test_delete_single_token_path(self):
result = _parse_command("delete service")
self.assertEqual(result, ("delete", ["service"]))
if __name__ == "__main__":
unittest.main()
|