Current section
Files
Jump to
Current section
Files
test/server_tests/lifecycle_test.exs
defmodule ServerLifecycleTest do
use ExUnit.Case
alias OpcUA.Server
setup do
{:ok, pid} = OpcUA.Server.start_link
%{pid: pid}
end
test "Set/Get client config", state do
desired_config = %{
"application_description" => [%{
"application_uri" => "urn:open62541.server.application",
"discovery_url" => [],
"name" => "open62541-based OPC UA Application",
"product_uri" => "http://open62541.org",
"server" => "urn:open62541.server.application",
"type" => "server"
}],
"endpoint_description" => [
%{
"endpoint_url" => "",
"security_level" => 1,
"security_mode" => "none",
"security_profile_uri" => "http://opcfoundation.org/UA/SecurityPolicy#None",
"transport_profile_uri" =>
"http://opcfoundation.org/UA-Profile/Transport/uatcp-uasc-uabinary"
}
],
"hostname" => "localhost",
"n_threads" => 1
}
response = Server.set_default_config(state.pid)
assert response == :ok
response = Server.get_config(state.pid)
assert response == {:ok, desired_config}
end
test "Set hostname", state do
response = Server.set_default_config(state.pid)
assert response == :ok
response = Server.set_hostname(state.pid, "alde103")
assert response == :ok
{:ok, server_config} = Server.get_config(state.pid)
assert server_config["hostname"] == "alde103"
end
test "Set port nomber", state do
response = Server.set_default_config(state.pid)
assert response == :ok
response = Server.set_port(state.pid, 4040)
assert response == :ok
end
test "Set users", state do
response = Server.set_default_config(state.pid)
assert response == :ok
response = Server.set_users(state.pid, [{"alde", "edla"}, {"pedro", "ordep"}])
assert response == :ok
end
test "Start/stop server", state do
response = Server.set_default_config(state.pid)
assert response == :ok
response = Server.set_port(state.pid, 4022)
assert response == :ok
response = Server.start(state.pid)
assert response == :ok
response = Server.stop_server(state.pid)
assert response == :ok
end
end