summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAyanda Dube <ayanda.dube@erlang-solutions.com>2019-02-18 12:10:46 +0100
committerAyanda Dube <ayanda.dube@erlang-solutions.com>2019-02-18 12:10:46 +0100
commitf2a01fda8a2079939604a7201659039ad2e501a0 (patch)
tree7f5e4012f836e681ca26298d0185c2fa77852713
parentf71ace363e55e9aca922c00831b49d420217b439 (diff)
downloadrabbitmq-server-git-f2a01fda8a2079939604a7201659039ad2e501a0.tar.gz
add test for 'network' type arbitrary channel sources
-rw-r--r--test/channel_source_SUITE.erl24
1 files changed, 24 insertions, 0 deletions
diff --git a/test/channel_source_SUITE.erl b/test/channel_source_SUITE.erl
index a18c2474b7..56b287e913 100644
--- a/test/channel_source_SUITE.erl
+++ b/test/channel_source_SUITE.erl
@@ -29,6 +29,7 @@ groups() ->
[
{non_parallel_tests, [], [
network_rabbit_reader_channel_source,
+ network_arbitrary_channel_source,
direct_channel_source,
undefined_channel_source
]}
@@ -87,6 +88,29 @@ network_rabbit_reader_channel_source1(Config) ->
{error, channel_terminated} = rabbit_channel:source(ServerCh, ?MODULE),
passed.
+network_arbitrary_channel_source(Config) ->
+ passed = rabbit_ct_broker_helpers:rpc(Config, 0,
+ ?MODULE, network_arbitrary_channel_source1, [Config]).
+
+network_arbitrary_channel_source1(Config) ->
+ Conn = rabbit_ct_client_helpers:open_unmanaged_connection(Config),
+ Writer = spawn(fun () -> rabbit_ct_broker_helpers:test_writer(self()) end),
+ {ok, Limiter} = rabbit_limiter:start_link(no_limiter_id),
+ {ok, Collector} = rabbit_queue_collector:start_link(no_collector_id),
+ {ok, Ch} = rabbit_channel:start_link(
+ 1, Conn, Writer, Conn, "", rabbit_framing_amqp_0_9_1,
+ rabbit_ct_broker_helpers:user(<<"guest">>), <<"/">>, [],
+ Collector, Limiter),
+ _ = rabbit_channel:source(Ch, ?MODULE),
+ [{amqp_params, #amqp_params_network{username = <<"guest">>,
+ password = <<"guest">>, host = "localhost", virtual_host = <<"/">>}}] =
+ rabbit_amqp_connection:amqp_params(Conn, 1000),
+ [{source, ?MODULE}] = rabbit_channel:info(Ch, [source]),
+ [exit(P, normal) || P <- [Writer, Limiter, Collector, Ch]],
+ amqp_connection:close(Conn),
+ {error, channel_terminated} = rabbit_channel:source(Ch, ?MODULE),
+ passed.
+
direct_channel_source(Config) ->
passed = rabbit_ct_broker_helpers:rpc(Config, 0,
?MODULE, direct_channel_source1, [Config]).