Completed
Push — master ( d4c6f6...7ab182 )
by Olivier
50s
created

tests.py (4 issues)

1
2
import unittest
3
import sys
4
print("SYS:PATH", sys.path)
5
sys.path.insert(0, "python-opcua")
6
sys.path.insert(0, "opcua-widgets")
7
import os
8
print("PWD", os.getcwd())
9
10
from opcua import ua
11
12
from PyQt5.QtCore import QTimer, QSettings, QModelIndex, Qt, QCoreApplication
13
from PyQt5.QtWidgets import QApplication
14
from PyQt5.QtTest import QTest
15
16
from uamodeler.uamodeler import UaModeler
17
from uawidgets.new_node_dialogs import NewNodeBaseDialog, NewUaObjectDialog, NewUaVariableDialog, NewUaMethodDialog
18
19
20
class Tester(unittest.TestCase):
21
    def setUp(self):
22
        self.modeler = UaModeler()
23
        self.modeler.ui.actionNew.activate(0)
24
        #modeler.show()
25
        #sys.exit(app.exec_())
26
27
    def tearDown(self):
28
        self.modeler.server.stop()
29
30
    def test_add_folder(self):
31
        objects = self.modeler.server.nodes.objects
32
        self.modeler.tree_ui.set_current_node("Objects")
33
        self.assertEqual(objects, self.modeler.tree_ui.get_current_node())
34
        #self.modeler.ui.actionAddFolder.activate(0)  # we cannot call this, we need a link to dialog
35
        dia = NewNodeBaseDialog(self.modeler, "Add Folder", self.modeler.server)
36
        args = dia.get_args()
37
        new_node = objects.add_folder(*args)
38
        self.assertIn(new_node, objects.get_children())
39
40 View Code Duplication
    def test_add_variable_double(self):
41
        objects = self.modeler.server.nodes.objects
42
        self.modeler.tree_ui.set_current_node("Objects")
43
        self.assertEqual(objects, self.modeler.tree_ui.get_current_node())
44
        dia = NewUaVariableDialog(self.modeler, "Add Variable", self.modeler.server, default_value=9.99, dtype=ua.ObjectIds.Double)
45
        args = dia.get_args()
46
        new_node = objects.add_variable(*args)
47
        self.assertIn(new_node, objects.get_children())
48
49 View Code Duplication
    def test_add_variable_double_list(self):
0 ignored issues
show
This code seems to be duplicated in your project.
Loading history...
50
        objects = self.modeler.server.nodes.objects
51
        self.modeler.tree_ui.set_current_node("Objects")
52
        self.assertEqual(objects, self.modeler.tree_ui.get_current_node())
53
        val = [9.9, 5.5, 1.2]
54
        dia = NewUaVariableDialog(self.modeler, "Add Variable", self.modeler.server, default_value=val, dtype=ua.ObjectIds.Double)
55
        args = dia.get_args()
56
        new_node = objects.add_variable(*args)
57
        self.assertIn(new_node, objects.get_children())
58
        self.assertEqual(val, new_node.get_value())
59
60 View Code Duplication
    def test_add_variable_string(self):
61
        objects = self.modeler.server.nodes.objects
62
        self.modeler.tree_ui.set_current_node("Objects")
63
        self.assertEqual(objects, self.modeler.tree_ui.get_current_node())
64
        dia = NewUaVariableDialog(self.modeler, "Add Variable", self.modeler.server, default_value="lkjkl", dtype=ua.ObjectIds.String)
65
        args = dia.get_args()
66
        new_node = objects.add_variable(*args)
67
        self.assertIn(new_node, objects.get_children())
68
69 View Code Duplication
    def test_add_variable_extobj(self):
0 ignored issues
show
This code seems to be duplicated in your project.
Loading history...
70
        objects = self.modeler.server.nodes.objects
71
        self.modeler.tree_ui.set_current_node("Objects")
72
        self.assertEqual(objects, self.modeler.tree_ui.get_current_node())
73
        dia = NewUaVariableDialog(self.modeler, "Add Variable", self.modeler.server, default_value="lkjkl", dtype=ua.ObjectIds.Structure)
74
        args = dia.get_args()
75
        new_node = objects.add_variable(*args)
76
        self.assertIn(new_node, objects.get_children())
77
78 View Code Duplication
    def test_add_variable_bytes(self):
0 ignored issues
show
This code seems to be duplicated in your project.
Loading history...
79
        objects = self.modeler.server.nodes.objects
80
        self.modeler.tree_ui.set_current_node("Objects")
81
        self.assertEqual(objects, self.modeler.tree_ui.get_current_node())
82
        dia = NewUaVariableDialog(self.modeler, "Add Variable", self.modeler.server, default_value=b"lkjkl", dtype=ua.ObjectIds.ByteString)
83
        args = dia.get_args()
84
        new_node = objects.add_variable(*args)
85
        self.assertIn(new_node, objects.get_children())
86
87 View Code Duplication
    def test_add_variable_float_fail(self):
0 ignored issues
show
This code seems to be duplicated in your project.
Loading history...
88
        objects = self.modeler.server.nodes.objects
89
        self.modeler.tree_ui.set_current_node("Objects")
90
        self.assertEqual(objects, self.modeler.tree_ui.get_current_node())
91
        dia = NewUaVariableDialog(self.modeler, "Add Variable", self.modeler.server, default_value=b"lkjkl", dtype=ua.ObjectIds.Float)
92
        with self.assertRaises(ValueError):
93
            args = dia.get_args()
94
            new_node = objects.add_variable(*args)
95
96
97
98
99
100
101
if __name__ == "__main__":
102
    app = QApplication(sys.argv)
103
    unittest.main()
104
105
106