def setUp(self): self.server = Server() url = "opc.tcp://localhost:48400/freeopcua/server/" self.server.set_endpoint(url) self.server.start() self.client = Window() self.client.ui.addrComboBox.setCurrentText(url) self.client.connect()
class TestClient(unittest.TestCase): def setUp(self): self.server = Server() url = "opc.tcp://localhost:48400/freeopcua/server/" self.server.set_endpoint(url) self.server.start() self.client = Window() self.client.ui.addrComboBox.setCurrentText(url) self.client.connect() def tearDown(self): self.client.disconnect() self.server.stop() def get_attr_value(self, text): idxlist = self.client.attrs_ui.model.match(self.client.attrs_ui.model.index(0, 0), Qt.DisplayRole, text, 1, Qt.MatchExactly | Qt.MatchRecursive) idx = idxlist[0] idx = idx.sibling(idx.row(), 1) item = self.client.attrs_ui.model.itemFromIndex(idx) return item.data(Qt.UserRole).value def test_select_objects(self): objects = self.server.nodes.objects self.client.tree_ui.set_current_node("Objects") self.assertEqual(objects, self.client.tree_ui.get_current_node()) self.assertGreater(self.client.attrs_ui.model.rowCount(), 6) print("REF COUNT", self.client.refs_ui.model.rowCount()) self.assertGreater(self.client.refs_ui.model.rowCount(), 1) data = self.get_attr_value("NodeId") self.assertEqual(data, objects.nodeid) def test_select_server_node(self): self.client.tree_ui.set_current_node("Objects") self.client.tree_ui.expand_current_node() # must be expanded to load children server_node = self.server.nodes.server self.client.tree_ui.set_current_node("Server") self.assertEqual(server_node, self.client.tree_ui.get_current_node()) self.assertGreater(self.client.attrs_ui.model.rowCount(), 6) self.assertGreater(self.client.refs_ui.model.rowCount(), 10) data = self.get_attr_value("NodeId") self.assertEqual(data, server_node.nodeid)