Skip to content

Commit 26f15a0

Browse files
author
DanielePalaia
committed
adding a test
1 parent 29607e5 commit 26f15a0

File tree

2 files changed

+56
-2
lines changed

2 files changed

+56
-2
lines changed

tests/test_connection.py

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,15 @@
1+
import time
2+
13
from rabbitmq_amqp_python_client import (
24
ClientCert,
35
Connection,
6+
ConnectionClosed,
47
SslConfigurationContext,
8+
StreamSpecification,
59
)
610

11+
from .http_requests import delete_all_connections
12+
713

814
def on_disconnected():
915

@@ -30,3 +36,53 @@ def test_connection_ssl() -> None:
3036
),
3137
)
3238
connection.dial()
39+
40+
41+
def test_connection_reconnection() -> None:
42+
43+
reconnected = False
44+
connection = None
45+
disconnected = False
46+
47+
def on_disconnected():
48+
49+
nonlocal connection
50+
51+
# reconnect
52+
if connection is not None:
53+
connection = Connection("amqp://guest:guest@localhost:5672/")
54+
connection.dial()
55+
56+
nonlocal reconnected
57+
reconnected = True
58+
59+
connection = Connection(
60+
"amqp://guest:guest@localhost:5672/", on_disconnection_handler=on_disconnected
61+
)
62+
connection.dial()
63+
64+
# delay
65+
time.sleep(5)
66+
# simulate a disconnection
67+
delete_all_connections()
68+
# raise a reconnection
69+
management = connection.management()
70+
stream_name = "test_stream_info_with_validation"
71+
queue_specification = StreamSpecification(
72+
name=stream_name,
73+
)
74+
75+
try:
76+
management.declare_queue(queue_specification)
77+
except ConnectionClosed:
78+
disconnected = True
79+
80+
# check that we reconnected
81+
management = connection.management()
82+
management.declare_queue(queue_specification)
83+
management.delete_queue(stream_name)
84+
management.close()
85+
connection.close()
86+
87+
assert disconnected is True
88+
assert reconnected is True

tests/test_publisher.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -166,8 +166,6 @@ def test_disconnection_reconnection() -> None:
166166
queue_name = "test-queue"
167167
connection_test = None
168168

169-
time.sleep(60)
170-
171169
def on_disconnected():
172170

173171
nonlocal publisher

0 commit comments

Comments
 (0)