summaryrefslogtreecommitdiff
path: root/tests/test_vy_device.py
blob: 84ff0ed2ee054a5ea869fb6d81d97ea327846e0a (plain)
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
import sys
import os
import unittest
from pyvyos.device import VyDevice
from pyvyos.device import ApiResponse
from dotenv import load_dotenv
import os
import pprint 
import random, string

load_dotenv()  

hostname = os.getenv('VYDEVICE_HOSTNAME')
apikey = os.getenv('VYDEVICE_APIKEY')
port = os.getenv('VYDEVICE_PORT')
protocol = os.getenv('VYDEVICE_PROTOCOL')
verify = os.getenv('VYDEVICE_VERIFY_SSL')
if verify == "False":
    verify = False
else:
    verify = True


class TestVyDevice(unittest.TestCase):
    def setUp(self):
        self.device = VyDevice(hostname=hostname, apikey=apikey, port=port, protocol=protocol, verify=verify)

    def test_001_retrieve_show_config(self):
        response = self.device.retrieve_show_config([])
        pprint.pprint(response)

        self.assertEqual(response.status, 200)
        self.assertIsNotNone(response.result)
        self.assertFalse(response.error)

    def test_010_configure_set_interface(self):
        response = self.device.configure_set(path=["interfaces", "dummy", "dum1", "address", "192.168.140.1/24"])
        #pprint.pprint(response)

        self.assertEqual(response.status, 200)
        self.assertIsNone(response.result)
        self.assertFalse(response.error)
        
    def test_011_retrieve_return_values(self):
        response = self.device.retrieve_return_values(path=["interfaces", "dummy", "dum1", "address"])
        self.assertEqual(response.status, 200)
        self.assertIsNotNone(response.result)
        self.assertFalse(response.error)
        self.assertEqual(response.result, ['192.168.140.1/24'])

    def test_020_configure_delete_interface(self):
        response = self.device.configure_delete(path=["interfaces", "dummy", "dum1"])
        pprint.pprint(response)
        
        self.assertEqual(response.status, 200)
        self.assertIsNone(response.result)
        self.assertFalse(response.error)        

    def test_050_generate(self):
        randstring = ''.join(random.choice(string.ascii_letters + string.digits) for _ in range(20))
        keyrand =  f'/tmp/key_{randstring}'
        response = self.device.generate(path=["ssh", "client-key", keyrand])
        pprint.pprint(response)

        self.assertEqual(response.status, 200)
        self.assertIsNotNone(response.result)
        self.assertFalse(response.error)

    def test_100_show(self):
        response = self.device.show(path=["system", "image"])
        pprint.pprint(response)

        self.assertEqual(response.status, 200)
        self.assertIsNotNone(response.result)
        self.assertFalse(response.error)        

    def test_200_reset(self):
        response = self.device.reset(path=["conntrack-sync", "internal-cache"])
        pprint.pprint(response)

        self.assertEqual(response.status, 200)
        self.assertIsNotNone(response.result)
        self.assertFalse(response.error)

    def test_300_config_file_save(self):
        response = self.device.config_file_save(file="/config/test300.config")
        pprint.pprint(response)

        self.assertEqual(response.status, 200)
        self.assertIsNotNone(response.result)
        self.assertFalse(response.error)

    def test_301_config_file_save(self):
        response = self.device.config_file_save()
        pprint.pprint(response)

        self.assertEqual(response.status, 200)
        self.assertIsNotNone(response.result)
        self.assertFalse(response.error)


    def test_302_config_file_load(self):
        response = self.device.config_file_load(file="/config/test300.config")
        pprint.pprint(response)

        self.assertEqual(response.status, 200)
        self.assertIsNone(response.result)
        self.assertFalse(response.error)


    def tearDown(self):
        pass

if __name__ == '__main__':
    unittest.main()