NAME
OPCUA::Open62541::Test::Client - run open62541 client for testing
SYNOPSIS
use OPCUA::Open62541::Test::Client;
use Test::More tests => OPCUA::Open62541::Test::Client::planning();
my $client = OPCUA::Open62541::Test::Client->new();
DESCRIPTION
In a module test start and run an open62541 OPC UA client that connects to a server. The client is considered part of the test and will write to the TAP stream.
- OPCUA::Open62541::Test::Client::planning
-
Return the number of tests results that running one client will create. Add this to your number of planned tests.
METHODS
- $client = OPCUA::Open62541::Test::Client->new(%args);
-
Create a new test client instance.
- $client->url($url)
-
Optionally set the url. Returns the url created from localhost and port. Must be called after start() for that.
- $client->start()
-
Configure the client.
- $client->run()
-
Connect the client to the open62541 server.
- $client->iterate(\$end, $ident)
-
Run the iterate function of the client for up to 5 seconds. This has to be done to complete asynchronous calls. The scalar reference to $end is used to finish the iteration loop successfully when set to true in a callback. Otherwise the loop terminates with failure if the status of client run_iterate() is not good or after calling it 50 times. If $ident is set, it is used to identify a passed or failed test. This one test is not included in planning().
If $end is undef, the iteration will continue until the client has disconnected. If $end is an array or hash reference, the iteration will continue until the array or hash is empty. If $end is a code reference, the iteration will continue until the function call returns true.
- $client->stop()
-
Disconnect the client from the open62541 server.
SEE ALSO
OPCUA::Open62541, OPCUA::Open62541::Test::Server, OPCUA::Open62541::Test::Logger
AUTHORS
Alexander Bluhm <bluhm@genua.de>,
COPYRIGHT AND LICENSE
Copyright (c) 2020 Alexander Bluhm
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
Thanks to genua GmbH, https://www.genua.de/ for sponsoring this work.