Skip to content

Commit 872dbb3

Browse files
committed
validate message
1 parent 6bb4eda commit 872dbb3

File tree

3 files changed

+27
-2
lines changed

3 files changed

+27
-2
lines changed

examples/streams/example_with_streams.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ def create_connection(environment: Environment) -> Connection:
8585

8686

8787
def main() -> None:
88-
queue_name = "example-queue"
88+
queue_name = "stream-example-queue"
8989

9090
print("connection to amqp server")
9191
environment = Environment("amqp://guest:guest@localhost:5672/")

rabbitmq_amqp_python_client/qpid/proton/_message.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ class Message(object):
113113
""" Default AMQP message priority"""
114114

115115
def __init__(
116-
self, body: Union[str, bytes, dict, None] = None, inferred=True, **kwargs
116+
self, body: Union[bytes, None] = None, inferred=True, **kwargs
117117
) -> None:
118118
# validate the types
119119

tests/test_publisher.py

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,31 @@
1919
from .utils import create_binding, publish_per_message
2020

2121

22+
def test_validate_message_for_publishing(connection: Connection) -> None:
23+
queue_name = "validate-publishing"
24+
management = connection.management()
25+
management.declare_queue(QuorumQueueSpecification(name=queue_name))
26+
publisher = connection.publisher(
27+
destination=AddressHelper.queue_address(queue_name)
28+
)
29+
try:
30+
publisher.publish(
31+
Message(body=Converter.string_to_bytes("test"), inferred=False)
32+
)
33+
except ArgumentOutOfRangeException as e:
34+
assert e.msg == "Message inferred must be True"
35+
36+
try:
37+
publisher.publish(Message(body="test"))
38+
except ArgumentOutOfRangeException as e:
39+
assert e.msg == "Message body must be of type bytes or None"
40+
41+
try:
42+
publisher.publish(Message(body={"key": "value"}))
43+
except ArgumentOutOfRangeException as e:
44+
assert e.msg == "Message body must be of type bytes or None"
45+
46+
2247
def test_publish_queue(connection: Connection) -> None:
2348

2449
queue_name = "test-queue"

0 commit comments

Comments
 (0)