Current section
Files
Jump to
Current section
Files
test/server_tests/encryption_test.exs
defmodule ServerEncryptionTest do
use ExUnit.Case
alias OpcUA.Server
setup do
{:ok, pid} = OpcUA.Server.start_link
%{pid: pid}
end
test "Set default configuration with all policies", %{pid: pid} do
desired_config = [
port: 4014,
certificate: File.read!("./test/demo_certs/server_cert.der"),
private_key: File.read!("./test/demo_certs/server_key.der")
]
response = Server.set_default_config_with_certs(pid, desired_config)
assert response == :ok
end
test "Set basics (before adding security policies)", %{pid: pid} do
response = Server.set_basics(pid)
assert response == :ok
end
test "Set network layer (before adding security policies)", %{pid: pid} do
response = Server.set_basics(pid)
assert response == :ok
response = Server.set_network_tcp_layer(pid, 4015)
assert response == :ok
end
test "Add none security policy", %{pid: pid} do
response = Server.set_basics(pid)
assert response == :ok
response = Server.set_network_tcp_layer(pid, 4016)
assert response == :ok
certs_info = [
certificate: File.read!("./test/demo_certs/server_cert.der")
]
response = Server.add_none_policy(pid, certs_info)
assert response == :ok
end
test "Add basic128rsa15 security policy", %{pid: pid} do
response = Server.set_basics(pid)
assert response == :ok
response = Server.set_network_tcp_layer(pid, 4017)
assert response == :ok
certs_info = [
certificate: File.read!("./test/demo_certs/server_cert.der"),
private_key: File.read!("./test/demo_certs/server_key.der")
]
response = Server.add_basic128rsa15_policy(pid, certs_info)
assert response == :ok
end
test "Add basic256 security policy", %{pid: pid} do
response = Server.set_basics(pid)
assert response == :ok
response = Server.set_network_tcp_layer(pid, 4018)
assert response == :ok
certs_info = [
certificate: File.read!("./test/demo_certs/server_cert.der"),
private_key: File.read!("./test/demo_certs/server_key.der")
]
response = Server.add_basic256_policy(pid, certs_info)
assert response == :ok
end
test "Add basic256sha256 security policy", %{pid: pid} do
response = Server.set_basics(pid)
assert response == :ok
response = Server.set_network_tcp_layer(pid, 4019)
assert response == :ok
certs_info = [
certificate: File.read!("./test/demo_certs/server_cert.der"),
private_key: File.read!("./test/demo_certs/server_key.der")
]
response = Server.add_basic256sha256_policy(pid, certs_info)
assert response == :ok
end
test "Add all security policies (no endpoint)", %{pid: pid} do
response = Server.set_basics(pid)
assert response == :ok
response = Server.set_network_tcp_layer(pid, 4020)
assert response == :ok
certs_info = [
certificate: File.read!("./test/demo_certs/server_cert.der"),
private_key: File.read!("./test/demo_certs/server_key.der")
]
response = Server.add_all_policies(pid, certs_info)
assert response == :ok
end
test "Add none, basic256sha256 with endpoints", %{pid: pid} do
response = Server.set_basics(pid)
assert response == :ok
response = Server.set_network_tcp_layer(pid, 4021)
assert response == :ok
certs_info = [
certificate: File.read!("./test/demo_certs/server_cert.der"),
private_key: File.read!("./test/demo_certs/server_key.der")
]
# None policy must be added.
response = Server.add_none_policy(pid, certs_info)
assert response == :ok
response = Server.add_basic256sha256_policy(pid, certs_info)
assert response == :ok
response = Server.add_all_endpoints(pid)
assert response == :ok
assert :ok == Server.start(pid)
end
end