Commit 583b67c1 authored by olivier R-D's avatar olivier R-D

make sure namespace is an int like object to catch argument order errors

parent 14d7edfc
......@@ -371,6 +371,8 @@ class NodeId(FrozenClass):
self.NamespaceUri = ""
self.ServerIndex = 0
self._freeze = True
if not isinstance(self.NamespaceIndex, int):
raise UaError("NamespaceIndex must be an int")
if self.Identifier is None:
self.Identifier = 0
self.NodeIdType = NodeIdType.TwoByte
......
......@@ -122,6 +122,10 @@ class Unit(unittest.TestCase):
self.assertNotEqual(nid, ua.NodeId.from_string("i=5; ns=10"))
# not sure the next one is correct...
self.assertEqual(nid, ua.NodeId.from_string("i=45; ns=10; srv=serverid"))
nid1 = ua.NodeId("myid.mynodeid", 7)
self.assertEqual(nid1, ua.NodeId.from_string("ns=7; s=myid.mynodeid"))
def test_expandednodeid(self):
nid = ua.ExpandedNodeId()
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment