diff --git a/config/config.exs b/config/config.exs index d9cfaf3..c04ed23 100644 --- a/config/config.exs +++ b/config/config.exs @@ -11,7 +11,7 @@ config :tres, callback_args: [] config :logger, - level: :info, + level: :debug, format: "$date $time [$level] $message\n", metadata: [], handle_otp_reports: true diff --git a/test/lib/tres/secure_channel_test.exs b/test/lib/tres/secure_channel_test.exs new file mode 100644 index 0000000..afcc3f3 --- /dev/null +++ b/test/lib/tres/secure_channel_test.exs @@ -0,0 +1,39 @@ +defmodule Tres.SecureChannelTest do + use ExUnit.Case, async: false + + import ExUnit.CaptureLog + + @datapath_id "0000000000000001" + + @host 'localhost' + @port 6653 + @client_opts [:binary, {:packet, 0}] + + describe "Tres.SecureChannel" do + test "if hello message sending is slow" do + {:ok, socket} = connect() + _ = :gen_tcp.recv(socket, 0) + + fn -> Process.sleep(4000) end + |> capture_log() + |> Kernel.=~("connection terminated: Hello handshake timed out") + |> assert() + + _ = :gen_tcp.close(socket) + end + end + + # Helper + + defp connect do + {:ok, _socket} = :gen_tcp.connect(@host, @port, @client_opts) + end + + defp close(socket) do + :ok = :gen_tcp.close(socket) + end + + defp send_msg(socket, msg) do + :ok = :gen_tcp.send(socket, Openflow.to_binary(msg)) + end +end diff --git a/test/test_helper.exs b/test/test_helper.exs index 135c19a..5a9a105 100644 --- a/test/test_helper.exs +++ b/test/test_helper.exs @@ -1,2 +1,2 @@ ExUnit.configure(seed: 0) -ExUnit.start(trace: true) +ExUnit.start(trace: true, capture_log: true)