Commit a9397ca8 authored by Andreas Monsch's avatar Andreas Monsch Committed by oroulet

Fix Issue #108

Calling `sync.Server.get_node` raises an `AttributeError`.
This commit fixes the issue and adds a corresponding test.
parent bc9e2c0c
......@@ -209,7 +209,7 @@ class Server:
pass
def get_node(self, nodeid):
return Node(self.tloop, server.Server.get_node(self, nodeid))
return Node(self.tloop, self.aio_obj.get_node(nodeid))
@syncmethod
def import_xml(self, path=None, xmlstring=None):
......
import time
from concurrent.futures import Future
import pytest
......@@ -25,11 +24,11 @@ def server(tloop):
s.disable_clock(True)
s.set_endpoint('opc.tcp://0.0.0.0:8840/freeopcua/server/')
uri = "http://examples.freeopcua.github.io"
idx = s.register_namespace(uri)
myobj = s.nodes.objects.add_object(idx, "MyObject")
myvar = myobj.add_variable(idx, "MyVariable", 6.7)
mysin = myobj.add_variable(idx, "MySin", 0, ua.VariantType.Float)
meth = s.nodes.objects.add_method(idx, "Divide", divide, [ua.VariantType.Float, ua.VariantType.Float], [ua.VariantType.Float])
ns_idx = s.register_namespace(uri)
myobj = s.nodes.objects.add_object(ns_idx, "MyObject")
myobj.add_variable(ns_idx, "MyVariable", 6.7)
myobj.add_variable(ns_idx, "MySin", 0, ua.VariantType.Float)
s.nodes.objects.add_method(ns_idx, "Divide", divide, [ua.VariantType.Float, ua.VariantType.Float], [ua.VariantType.Float])
with s:
yield s
......@@ -60,7 +59,7 @@ def test_sync_client(client, idx):
assert myvar.get_value() == 6.7
def test_sync_get_node(client):
def test_sync_client_get_node(client):
node = client.get_node(85)
assert node == client.nodes.objects
nodes = node.get_children()
......@@ -69,6 +68,15 @@ def test_sync_get_node(client):
assert isinstance(nodes[0], Node)
def test_sync_server_get_node(server):
node = server.get_node(85)
assert node == server.nodes.objects
nodes = node.get_children()
assert len(nodes) > 2
assert nodes[0] == server.nodes.server
assert isinstance(nodes[0], Node)
class MySubHandler():
def __init__(self):
......
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