diff options
| author | Matthias Radestock <matthias@rabbitmq.com> | 2013-01-24 12:37:39 +0000 |
|---|---|---|
| committer | Matthias Radestock <matthias@rabbitmq.com> | 2013-01-24 12:37:39 +0000 |
| commit | da2b912c353b91c34be6fa94fce189ce312b4a64 (patch) | |
| tree | 3aa43c3b289770ea2c83a730b73427d2fea4ca3a | |
| parent | 51ccb4b6ed87e292b0b1f5a8360801e47c85f950 (diff) | |
| download | rabbitmq-server-git-da2b912c353b91c34be6fa94fce189ce312b4a64.tar.gz | |
add some tests for connection refusal
some of this is also tested in the Java client, but I'd rather have it
all in one place here.
| -rw-r--r-- | src/rabbit_tests.erl | 25 |
1 files changed, 21 insertions, 4 deletions
diff --git a/src/rabbit_tests.erl b/src/rabbit_tests.erl index 87fc607822..95e23d2905 100644 --- a/src/rabbit_tests.erl +++ b/src/rabbit_tests.erl @@ -62,6 +62,7 @@ all_tests() -> passed = test_runtime_parameters(), passed = test_policy_validation(), passed = test_server_status(), + passed = test_amqp_connection_refusal(), passed = test_confirms(), passed = do_if_secondary_node( @@ -1143,10 +1144,7 @@ test_server_status() -> rabbit_misc:r(<<"/">>, queue, <<"foo">>)), %% list connections - [#listener{host = H, port = P} | _] = - [L || L = #listener{node = N} <- rabbit_networking:active_listeners(), - N =:= node()], - + {H, P} = find_listener(), {ok, C} = gen_tcp:connect(H, P, []), gen_tcp:send(C, <<"AMQP", 0, 0, 9, 1>>), timer:sleep(100), @@ -1185,6 +1183,25 @@ test_server_status() -> passed. +test_amqp_connection_refusal() -> + [passed = test_amqp_connection_refusal(V) || + V <- [<<"AMQP",9,9,9,9>>, <<"AMQP",0,1,0,0>>, <<"XXXX",0,0,9,1>>]], + passed. + +test_amqp_connection_refusal(Header) -> + {H, P} = find_listener(), + {ok, C} = gen_tcp:connect(H, P, [binary, {active, false}]), + ok = gen_tcp:send(C, Header), + {ok, <<"AMQP",0,0,9,1>>} = gen_tcp:recv(C, 8, 100), + ok = gen_tcp:close(C), + passed. + +find_listener() -> + [#listener{host = H, port = P} | _] = + [L || L = #listener{node = N} <- rabbit_networking:active_listeners(), + N =:= node()], + {H, P}. + test_writer(Pid) -> receive shutdown -> ok; |
