@@ -56,94 +56,6 @@ init_per_testcase(Testcase, Config) ->
5656end_per_testcase (Testcase , Config ) ->
5757 rabbit_ct_helpers :testcase_finished (Config , Testcase ).
5858
59- <<<<<<< HEAD
60- =======
61- amqp_x_cc_annotation (Config ) ->
62- ok = set_topic_permissions (Config , " ^a" , " .*" ),
63-
64- QName1 = <<" queue 1" >>,
65- QName2 = <<" queue 2" >>,
66- {Connection , Session1 , LinkPair } = amqp_utils :init (Config ),
67- {ok , _ } = rabbitmq_amqp_client :declare_queue (LinkPair , QName1 , #{}),
68- {ok , _ } = rabbitmq_amqp_client :declare_queue (LinkPair , QName2 , #{}),
69- ok = rabbitmq_amqp_client :bind_queue (LinkPair , QName1 , <<" amq.topic" >>, <<" a.1" >>, #{}),
70- ok = rabbitmq_amqp_client :bind_queue (LinkPair , QName2 , <<" amq.topic" >>, <<" a.2" >>, #{}),
71-
72- {ok , Sender1 } = amqp10_client :attach_sender_link (
73- Session1 ,
74- <<" sender 1" >>,
75- rabbitmq_amqp_address :exchange (<<" amq.topic" >>, <<" a.1" >>)),
76- ok = amqp_utils :wait_for_credit (Sender1 ),
77- {ok , Receiver1 } = amqp10_client :attach_receiver_link (
78- Session1 , <<" receiver 1" >>, rabbitmq_amqp_address :queue (QName1 ), settled ),
79- {ok , Receiver2 } = amqp10_client :attach_receiver_link (
80- Session1 , <<" receiver 2" >>, rabbitmq_amqp_address :queue (QName2 ), settled ),
81- % % We have permissions to send to both topics.
82- % % Therefore, m1 should be sent to both queues.
83- ok = amqp10_client :send_msg (Sender1 , amqp10_msg :set_message_annotations (
84- #{<<" x-cc" >> => {list , [{utf8 , <<" a.2" >>}]}},
85- amqp10_msg :new (<<" t1" >>, <<" m1" >>, true ))),
86- {ok , Msg1 } = amqp10_client :get_msg (Receiver1 ),
87- {ok , Msg2 } = amqp10_client :get_msg (Receiver2 ),
88- ? assertEqual ([<<" m1" >>], amqp10_msg :body (Msg1 )),
89- ? assertEqual ([<<" m1" >>], amqp10_msg :body (Msg2 )),
90- ok = amqp_utils :detach_link_sync (Sender1 ),
91- ok = amqp_utils :detach_link_sync (Receiver1 ),
92- ok = amqp_utils :detach_link_sync (Receiver2 ),
93-
94- {ok , Session2 } = amqp10_client :begin_session_sync (Connection ),
95- {ok , Sender2 } = amqp10_client :attach_sender_link (
96- Session2 ,
97- <<" sender 2" >>,
98- rabbitmq_amqp_address :exchange (<<" amq.topic" >>, <<" x.1" >>)),
99- ok = amqp_utils :wait_for_credit (Sender2 ),
100- ok = amqp10_client :send_msg (Sender2 , amqp10_msg :set_message_annotations (
101- #{<<" x-cc" >> => {list , [{utf8 , <<" a.2" >>}]}},
102- amqp10_msg :new (<<" t2" >>, <<" m2" >>, true ))),
103- receive
104- {amqp10_event ,
105- {session , Session2 ,
106- {ended ,
107- # 'v1_0.error' {
108- condition = ? V_1_0_AMQP_ERROR_UNAUTHORIZED_ACCESS ,
109- description = {utf8 , Description1 }}}}} ->
110- ? assertEqual (
111- <<" write access to topic 'x.1' in exchange 'amq.topic' in vhost '/' refused for user 'guest'" >>,
112- Description1 )
113- after 30_000 -> amqp_utils :flush (missing_ended ),
114- ct :fail ({missing_event , ? LINE })
115- end ,
116-
117- {ok , Session3 } = amqp10_client :begin_session_sync (Connection ),
118- {ok , Sender3 } = amqp10_client :attach_sender_link (
119- Session3 ,
120- <<" sender 3" >>,
121- rabbitmq_amqp_address :exchange (<<" amq.topic" >>, <<" a.1" >>)),
122- ok = amqp_utils :wait_for_credit (Sender3 ),
123- ok = amqp10_client :send_msg (Sender3 , amqp10_msg :set_message_annotations (
124- #{<<" x-cc" >> => {list , [{utf8 , <<" x.2" >>}]}},
125- amqp10_msg :new (<<" t3" >>, <<" m3" >>, true ))),
126- receive
127- {amqp10_event ,
128- {session , Session3 ,
129- {ended ,
130- # 'v1_0.error' {
131- condition = ? V_1_0_AMQP_ERROR_UNAUTHORIZED_ACCESS ,
132- description = {utf8 , Description2 }}}}} ->
133- ? assertEqual (
134- <<" write access to topic 'x.2' in exchange 'amq.topic' in vhost '/' refused for user 'guest'" >>,
135- Description2 )
136- after 30_000 -> amqp_utils :flush (missing_ended ),
137- ct :fail ({missing_event , ? LINE })
138- end ,
139-
140- {ok , #{message_count := 0 }} = rabbitmq_amqp_client :delete_queue (LinkPair , QName1 ),
141- {ok , #{message_count := 0 }} = rabbitmq_amqp_client :delete_queue (LinkPair , QName2 ),
142- ok = amqp_utils :end_session_sync (Session1 ),
143- ok = amqp10_client :close_connection (Connection ),
144- ok = clear_topic_permissions (Config ).
145-
146- >>>>>>> fe7a14133 (Test : Increase receive timeout in all rabbit test suites )
14759amqpl_cc_headers (Config ) ->
14860 amqpl_headers (<<" CC" >>, Config ).
14961
0 commit comments