@@ -45,7 +45,6 @@ def test_validate_message_for_publishing(connection: Connection) -> None:
45
45
46
46
47
47
def test_publish_queue (connection : Connection ) -> None :
48
-
49
48
queue_name = "test-queue"
50
49
management = connection .management ()
51
50
@@ -77,7 +76,6 @@ def test_publish_queue(connection: Connection) -> None:
77
76
78
77
79
78
def test_publish_per_message (connection : Connection ) -> None :
80
-
81
79
queue_name = "test-queue-1"
82
80
queue_name_2 = "test-queue-2"
83
81
management = connection .management ()
@@ -123,7 +121,6 @@ def test_publish_per_message(connection: Connection) -> None:
123
121
124
122
125
123
def test_publish_ssl (connection_ssl : Connection ) -> None :
126
-
127
124
queue_name = "test-queue"
128
125
management = connection_ssl .management ()
129
126
@@ -148,7 +145,6 @@ def test_publish_ssl(connection_ssl: Connection) -> None:
148
145
149
146
150
147
def test_publish_to_invalid_destination (connection : Connection ) -> None :
151
-
152
148
queue_name = "test-queue"
153
149
154
150
raised = False
@@ -169,7 +165,6 @@ def test_publish_to_invalid_destination(connection: Connection) -> None:
169
165
170
166
171
167
def test_publish_per_message_to_invalid_destination (connection : Connection ) -> None :
172
-
173
168
queue_name = "test-queue-1"
174
169
raised = False
175
170
@@ -193,7 +188,6 @@ def test_publish_per_message_to_invalid_destination(connection: Connection) -> N
193
188
194
189
195
190
def test_publish_per_message_both_address (connection : Connection ) -> None :
196
-
197
191
queue_name = "test-queue-1"
198
192
raised = False
199
193
@@ -223,7 +217,6 @@ def test_publish_per_message_both_address(connection: Connection) -> None:
223
217
224
218
225
219
def test_publish_exchange (connection : Connection ) -> None :
226
-
227
220
exchange_name = "test-exchange"
228
221
queue_name = "test-queue"
229
222
management = connection .management ()
@@ -342,7 +335,6 @@ def test_disconnection_reconnection() -> None:
342
335
343
336
344
337
def test_queue_info_for_stream_with_validations (connection : Connection ) -> None :
345
-
346
338
stream_name = "test_stream_info_with_validation"
347
339
messages_to_send = 200
348
340
@@ -361,7 +353,6 @@ def test_queue_info_for_stream_with_validations(connection: Connection) -> None:
361
353
362
354
363
355
def test_publish_per_message_exchange (connection : Connection ) -> None :
364
-
365
356
exchange_name = "test-exchange-per-message"
366
357
queue_name = "test-queue-per-message"
367
358
management = connection .management ()
@@ -407,7 +398,6 @@ def test_publish_per_message_exchange(connection: Connection) -> None:
407
398
408
399
409
400
def test_multiple_publishers (environment : Environment ) -> None :
410
-
411
401
stream_name = "test_multiple_publisher_1"
412
402
stream_name_2 = "test_multiple_publisher_2"
413
403
connection = environment .connection ()
@@ -456,3 +446,44 @@ def test_multiple_publishers(environment: Environment) -> None:
456
446
management .delete_queue (stream_name_2 )
457
447
458
448
management .close ()
449
+
450
+
451
+ def test_durable_message (connection : Connection ) -> None :
452
+ queue_name = "test_durable_message"
453
+
454
+ management = connection .management ()
455
+ management .declare_queue (QuorumQueueSpecification (name = queue_name ))
456
+ destination = AddressHelper .queue_address (queue_name )
457
+ publisher = connection .publisher (destination )
458
+ # message should be durable by default
459
+ status = publisher .publish (
460
+ Message (
461
+ body = Converter .string_to_bytes ("test" ),
462
+ )
463
+ )
464
+
465
+ assert status .remote_state == OutcomeState .ACCEPTED
466
+ # message should be not durable by setting the durable to False by the user
467
+ status = publisher .publish (
468
+ Message (
469
+ body = Converter .string_to_bytes ("test" ),
470
+ durable = False ,
471
+ )
472
+ )
473
+
474
+ assert status .remote_state == OutcomeState .ACCEPTED
475
+
476
+ consumer = connection .consumer (destination )
477
+ should_be_durable = consumer .consume ()
478
+ assert should_be_durable .durable is True
479
+
480
+ should_be_not_durable = consumer .consume ()
481
+ assert should_be_not_durable .durable is False
482
+
483
+ consumer .close ()
484
+
485
+ management .delete_queue (queue_name )
486
+
487
+ management .close ()
488
+
489
+ pass
0 commit comments