From 45f99a2f773f5a174fff379ef32b53c267e49fc0 Mon Sep 17 00:00:00 2001 From: Maciej Szlosarczyk Date: Fri, 12 Jul 2019 15:14:48 +0300 Subject: [PATCH] Add test case for error request --- .../priv/test_backend_app/backend_server.rb | 6 ++++- .../priv/test_backend_app/views/error.erb | 13 ++++++++++ apps/epp_proxy/test/tls_client_SUITE.erl | 24 +++++++++++++++---- 3 files changed, 38 insertions(+), 5 deletions(-) create mode 100644 apps/epp_proxy/priv/test_backend_app/views/error.erb diff --git a/apps/epp_proxy/priv/test_backend_app/backend_server.rb b/apps/epp_proxy/priv/test_backend_app/backend_server.rb index 0a014d6..e866816 100644 --- a/apps/epp_proxy/priv/test_backend_app/backend_server.rb +++ b/apps/epp_proxy/priv/test_backend_app/backend_server.rb @@ -27,7 +27,11 @@ class BackendServer < Roda end - r.on "error" do + r.get "error" do + @code = r.params['code'] + @msg = r.params['msg'] + + render("error") end end end diff --git a/apps/epp_proxy/priv/test_backend_app/views/error.erb b/apps/epp_proxy/priv/test_backend_app/views/error.erb new file mode 100644 index 0000000..60c11ab --- /dev/null +++ b/apps/epp_proxy/priv/test_backend_app/views/error.erb @@ -0,0 +1,13 @@ + + + + + + <%= @msg %> + + + + ccReg-4018856528 + + + diff --git a/apps/epp_proxy/test/tls_client_SUITE.erl b/apps/epp_proxy/test/tls_client_SUITE.erl index b761b80..0c60217 100644 --- a/apps/epp_proxy/test/tls_client_SUITE.erl +++ b/apps/epp_proxy/test/tls_client_SUITE.erl @@ -9,14 +9,16 @@ greetings_test_case/1, session_test_case/1, valid_command_test_case/1, - invalid_command_test_case/1]). + invalid_command_test_case/1, + error_test_case/1]). all() -> [frame_size_test_case, greetings_test_case, session_test_case, valid_command_test_case, - invalid_command_test_case]. + invalid_command_test_case, + error_test_case]. init_per_suite(Config) -> application:ensure_all_started(epp_proxy), @@ -112,7 +114,7 @@ invalid_command_test_case(Config) -> _Data = receive_data(Socket), ok = send_data(login_command(), Socket), _LoginResponse = receive_data(Socket), - PollCommand = + InvalidCommand = <<"\n" "\n" "\n" @@ -120,10 +122,24 @@ invalid_command_test_case(Config) -> "foo bar baz\n" "\n" "\n">>, - ok = send_data(PollCommand, Socket), + ok = send_data(InvalidCommand, Socket), {error, closed} = receive_data(Socket), ok. +error_test_case(Config) -> + Options = proplists:get_value(ssl_options, Config), + {ok, Socket} = ssl:connect("localhost", 1443, Options, 2000), + _Data = receive_data(Socket), + ok = send_data(login_command(), Socket), + _LoginResponse = receive_data(Socket), + InvalidXml = + <<"\n">>, + ok = send_data(InvalidXml, Socket), + ErrorResponse = receive_data(Socket), + match_data(ErrorResponse, + "Command syntax error."), + ok. + %% Helper functions: length_of_data(Data) -> EPPEnvelope = binary:part(Data, {0, 4}),