Skip to content

Commit 4d1c5d5

Browse files
author
DanielePalaia
committed
adding a publisher test
1 parent ecbc423 commit 4d1c5d5

File tree

2 files changed

+43
-3
lines changed

2 files changed

+43
-3
lines changed

examples/getting_started/main.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
ExchangeSpecification,
55
Message,
66
QueueType,
7-
StreamSpecification,
7+
QuorumQueueSpecification,
88
exchange_address,
99
)
1010

@@ -24,7 +24,7 @@ def main() -> None:
2424
management.declare_exchange(ExchangeSpecification(name=exchange_name, arguments={}))
2525

2626
management.declare_queue(
27-
StreamSpecification(name=queue_name, queue_type=QueueType.stream)
27+
QuorumQueueSpecification(name=queue_name, queue_type=QueueType.quorum)
2828
)
2929

3030
print("binding queue to exchange")

tests/test_publisher.py

Lines changed: 41 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,16 @@
11
import time
22

33
from rabbitmq_amqp_python_client import (
4+
BindingSpecification,
45
Connection,
6+
ExchangeSpecification,
57
Message,
68
QuorumQueueSpecification,
9+
exchange_address,
710
)
811

912

10-
def test_publish_exchange(connection: Connection) -> None:
13+
def test_publish_queue(connection: Connection) -> None:
1114

1215
queue_name = "test-queue"
1316
management = connection.management()
@@ -29,6 +32,43 @@ def test_publish_exchange(connection: Connection) -> None:
2932
management.delete_queue(queue_name)
3033

3134

35+
def test_publish_exchange(connection: Connection) -> None:
36+
37+
exchange_name = "test-exchange"
38+
queue_name = "test-queue"
39+
management = connection.management()
40+
routing_key = "routing-key"
41+
42+
management.declare_exchange(ExchangeSpecification(name=exchange_name, arguments={}))
43+
44+
management.declare_queue(QuorumQueueSpecification(name=queue_name))
45+
46+
management.bind(
47+
BindingSpecification(
48+
source_exchange=exchange_name,
49+
destination_queue=queue_name,
50+
binding_key=routing_key,
51+
)
52+
)
53+
54+
addr = exchange_address(exchange_name, routing_key)
55+
56+
raised = False
57+
58+
try:
59+
publisher = connection.publisher(addr)
60+
publisher.publish(Message(body="test"))
61+
except Exception:
62+
raised = True
63+
64+
assert raised is False
65+
66+
publisher.close()
67+
68+
management.delete_exchange(exchange_name)
69+
management.delete_queue(queue_name)
70+
71+
3272
def test_publish_purge(connection: Connection) -> None:
3373
connection = Connection("amqp://guest:guest@localhost:5672/")
3474
connection.dial()

0 commit comments

Comments
 (0)