Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
opcua-asyncio
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Nikola Balog
opcua-asyncio
Commits
331382fa
Commit
331382fa
authored
Jul 11, 2016
by
Denis Štogl
Committed by
GitHub
Jul 11, 2016
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #237 from georgschoelly/fix_context_manager
fix __exit__ method of client and server class
parents
4d007b99
68ce1b82
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
38 additions
and
3 deletions
+38
-3
opcua/client/client.py
opcua/client/client.py
+1
-1
opcua/server/server.py
opcua/server/server.py
+1
-1
tests/tests_client.py
tests/tests_client.py
+18
-1
tests/tests_server.py
tests/tests_server.py
+18
-0
No files found.
opcua/client/client.py
View file @
331382fa
...
...
@@ -102,7 +102,7 @@ class Client(object):
self
.
connect
()
return
self
def
__exit__
(
self
):
def
__exit__
(
self
,
exc_type
,
exc_value
,
traceback
):
self
.
disconnect
()
@
staticmethod
...
...
opcua/server/server.py
View file @
331382fa
...
...
@@ -94,7 +94,7 @@ class Server(object):
self
.
start
()
return
self
def
__exit__
(
self
):
def
__exit__
(
self
,
exc_type
,
exc_value
,
traceback
):
self
.
stop
()
def
load_certificate
(
self
,
path
):
...
...
tests/tests_client.py
View file @
331382fa
...
...
@@ -82,4 +82,21 @@ class TestClient(unittest.TestCase, CommonTests, SubscriptionTests):
v_ro
.
set_value
(
9
)
self
.
assertEqual
(
v_ro
.
get_value
(),
2
)
def
test_context_manager
(
self
):
""" Context manager calls connect() and disconnect()
"""
state
=
[
0
]
def
increment_state
(
self
,
*
args
,
**
kwargs
):
state
[
0
]
+=
1
# create client and replace instance methods with dummy methods
client
=
Client
(
'opc.tcp://dummy_address:10000'
)
client
.
connect
=
increment_state
.
__get__
(
client
)
client
.
disconnect
=
increment_state
.
__get__
(
client
)
assert
state
[
0
]
==
0
with
client
:
# test if client connected
self
.
assertEqual
(
state
[
0
],
1
)
# test if client disconnected
self
.
assertEqual
(
state
[
0
],
2
)
tests/tests_server.py
View file @
331382fa
...
...
@@ -339,6 +339,24 @@ class TestServer(unittest.TestCase, CommonTests, SubscriptionTests):
tp2
=
v2
.
get_data_type
()
self
.
assertEqual
(
ua
.
NodeId
(
ua
.
ObjectIds
.
ApplicationType
),
tp2
)
def
test_context_manager
(
self
):
""" Context manager calls start() and stop()
"""
state
=
[
0
]
def
increment_state
(
self
,
*
args
,
**
kwargs
):
state
[
0
]
+=
1
# create server and replace instance methods with dummy methods
server
=
Server
()
server
.
start
=
increment_state
.
__get__
(
server
)
server
.
stop
=
increment_state
.
__get__
(
server
)
assert
state
[
0
]
==
0
with
server
:
# test if server started
self
.
assertEqual
(
state
[
0
],
1
)
# test if server stopped
self
.
assertEqual
(
state
[
0
],
2
)
def
check_eventgenerator_SourceServer
(
test
,
evgen
):
server
=
test
.
opc
.
get_server_node
()
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment