1
0
mirror of https://github.com/FreeOpcUa/opcua-asyncio synced 2025-10-29 17:07:18 +08:00

parse string Guid NodeId as UUID

This commit is contained in:
Christian Bergmiller
2019-05-08 15:20:12 +02:00
committed by oroulet
parent 59f1dd2b35
commit af65d7ddf1
2 changed files with 11 additions and 2 deletions

View File

@@ -355,7 +355,7 @@ class NodeId(object):
identifier = v identifier = v
elif k == "g": elif k == "g":
ntype = NodeIdType.Guid ntype = NodeIdType.Guid
identifier = v identifier = uuid.UUID(f"urn:uuid:{v}")
elif k == "b": elif k == "b":
ntype = NodeIdType.ByteString ntype = NodeIdType.ByteString
identifier = v identifier = v

View File

@@ -11,7 +11,7 @@ from datetime import datetime
from datetime import timedelta from datetime import timedelta
import math import math
from asyncua import ua, uamethod from asyncua import ua, uamethod, Node
from asyncua.common import ua_utils from asyncua.common import ua_utils
from asyncua.common.methods import call_method_full from asyncua.common.methods import call_method_full
from asyncua.common.copy_node_util import copy_node from asyncua.common.copy_node_util import copy_node
@@ -955,3 +955,12 @@ async def test_data_type_to_variant_type(opc):
} }
for dt, vdt in test_data.items(): for dt, vdt in test_data.items():
assert vdt == await ua_utils.data_type_to_variant_type(opc.opc.get_node(ua.NodeId(dt))) assert vdt == await ua_utils.data_type_to_variant_type(opc.opc.get_node(ua.NodeId(dt)))
async def test_guid_node_id():
"""
Test that a Node can be instantiated with a GUID string and that the NodeId ca be converted to binary.
"""
node = Node(None, "ns=4;g=35d5f86f-2777-4550-9d48-b098f5ee285c")
binary_node_id = ua.ua_binary.nodeid_to_binary(node.nodeid)
assert type(binary_node_id) is bytes