Skip to content

Commit 05b4603

Browse files
Reduce admin test timeouts to reduce random failures
1 parent 36a8922 commit 05b4603

File tree

2 files changed

+49
-47
lines changed

2 files changed

+49
-47
lines changed

tests/async/test_admin.py

Lines changed: 26 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,8 @@ def with_instrumented_server(auth=False, **ikwargs):
2121
def decorator(f):
2222
@wraps(f)
2323
def wrapped(self, *args, **kwargs):
24-
sio = socketio.AsyncServer(async_mode='asgi')
24+
sio = socketio.AsyncServer(async_mode='asgi', ping_interval=5,
25+
ping_timeout=4)
2526

2627
@sio.event
2728
async def enter_room(sid, data):
@@ -107,76 +108,76 @@ def test_missing_auth(self):
107108

108109
@with_instrumented_server(auth=False)
109110
def test_admin_connect_with_no_auth(self):
110-
with socketio.SimpleClient() as admin_client:
111+
with socketio.SimpleClient(reconnection=False) as admin_client:
111112
admin_client.connect('http://localhost:8900', namespace='/admin')
112-
with socketio.SimpleClient() as admin_client:
113+
with socketio.SimpleClient(reconnection=False) as admin_client:
113114
admin_client.connect('http://localhost:8900', namespace='/admin',
114115
auth={'foo': 'bar'})
115116

116117
@with_instrumented_server(auth={'foo': 'bar'})
117118
def test_admin_connect_with_dict_auth(self):
118-
with socketio.SimpleClient() as admin_client:
119+
with socketio.SimpleClient(reconnection=False) as admin_client:
119120
admin_client.connect('http://localhost:8900', namespace='/admin',
120121
auth={'foo': 'bar'})
121-
with socketio.SimpleClient() as admin_client:
122+
with socketio.SimpleClient(reconnection=False) as admin_client:
122123
with pytest.raises(ConnectionError):
123124
admin_client.connect(
124125
'http://localhost:8900', namespace='/admin',
125126
auth={'foo': 'baz'})
126-
with socketio.SimpleClient() as admin_client:
127+
with socketio.SimpleClient(reconnection=False) as admin_client:
127128
with pytest.raises(ConnectionError):
128129
admin_client.connect(
129130
'http://localhost:8900', namespace='/admin')
130131

131132
@with_instrumented_server(auth=[{'foo': 'bar'},
132133
{'u': 'admin', 'p': 'secret'}])
133134
def test_admin_connect_with_list_auth(self):
134-
with socketio.SimpleClient() as admin_client:
135+
with socketio.SimpleClient(reconnection=False) as admin_client:
135136
admin_client.connect('http://localhost:8900', namespace='/admin',
136137
auth={'foo': 'bar'})
137-
with socketio.SimpleClient() as admin_client:
138+
with socketio.SimpleClient(reconnection=False) as admin_client:
138139
admin_client.connect('http://localhost:8900', namespace='/admin',
139140
auth={'u': 'admin', 'p': 'secret'})
140-
with socketio.SimpleClient() as admin_client:
141+
with socketio.SimpleClient(reconnection=False) as admin_client:
141142
with pytest.raises(ConnectionError):
142143
admin_client.connect('http://localhost:8900',
143144
namespace='/admin', auth={'foo': 'baz'})
144-
with socketio.SimpleClient() as admin_client:
145+
with socketio.SimpleClient(reconnection=False) as admin_client:
145146
with pytest.raises(ConnectionError):
146147
admin_client.connect('http://localhost:8900',
147148
namespace='/admin')
148149

149150
@with_instrumented_server(auth=_custom_auth)
150151
def test_admin_connect_with_function_auth(self):
151-
with socketio.SimpleClient() as admin_client:
152+
with socketio.SimpleClient(reconnection=False) as admin_client:
152153
admin_client.connect('http://localhost:8900', namespace='/admin',
153154
auth={'foo': 'bar'})
154-
with socketio.SimpleClient() as admin_client:
155+
with socketio.SimpleClient(reconnection=False) as admin_client:
155156
with pytest.raises(ConnectionError):
156157
admin_client.connect('http://localhost:8900',
157158
namespace='/admin', auth={'foo': 'baz'})
158-
with socketio.SimpleClient() as admin_client:
159+
with socketio.SimpleClient(reconnection=False) as admin_client:
159160
with pytest.raises(ConnectionError):
160161
admin_client.connect('http://localhost:8900',
161162
namespace='/admin')
162163

163164
@with_instrumented_server(auth=_async_custom_auth)
164165
def test_admin_connect_with_async_function_auth(self):
165-
with socketio.SimpleClient() as admin_client:
166+
with socketio.SimpleClient(reconnection=False) as admin_client:
166167
admin_client.connect('http://localhost:8900', namespace='/admin',
167168
auth={'foo': 'bar'})
168-
with socketio.SimpleClient() as admin_client:
169+
with socketio.SimpleClient(reconnection=False) as admin_client:
169170
with pytest.raises(ConnectionError):
170171
admin_client.connect('http://localhost:8900',
171172
namespace='/admin', auth={'foo': 'baz'})
172-
with socketio.SimpleClient() as admin_client:
173+
with socketio.SimpleClient(reconnection=False) as admin_client:
173174
with pytest.raises(ConnectionError):
174175
admin_client.connect('http://localhost:8900',
175176
namespace='/admin')
176177

177178
@with_instrumented_server()
178179
def test_admin_connect_only_admin(self):
179-
with socketio.SimpleClient() as admin_client:
180+
with socketio.SimpleClient(reconnection=False) as admin_client:
180181
admin_client.connect('http://localhost:8900', namespace='/admin')
181182
sid = admin_client.sid
182183
events = self._expect({'config': 1, 'all_sockets': 1,
@@ -201,10 +202,10 @@ def test_admin_connect_only_admin(self):
201202

202203
@with_instrumented_server()
203204
def test_admin_connect_with_others(self):
204-
with socketio.SimpleClient() as client1, \
205-
socketio.SimpleClient() as client2, \
206-
socketio.SimpleClient() as client3, \
207-
socketio.SimpleClient() as admin_client:
205+
with socketio.SimpleClient(reconnection=False) as client1, \
206+
socketio.SimpleClient(reconnection=False) as client2, \
207+
socketio.SimpleClient(reconnection=False) as client3, \
208+
socketio.SimpleClient(reconnection=False) as admin_client:
208209
client1.connect('http://localhost:8900')
209210
client1.emit('enter_room', 'room')
210211
sid1 = client1.sid
@@ -251,7 +252,7 @@ def test_admin_connect_with_others(self):
251252

252253
@with_instrumented_server(mode='production', read_only=True)
253254
def test_admin_connect_production(self):
254-
with socketio.SimpleClient() as admin_client:
255+
with socketio.SimpleClient(reconnection=False) as admin_client:
255256
admin_client.connect('http://localhost:8900', namespace='/admin')
256257
events = self._expect({'config': 1, 'server_stats': 2},
257258
admin_client)
@@ -272,9 +273,9 @@ def test_admin_connect_production(self):
272273

273274
@with_instrumented_server()
274275
def test_admin_features(self):
275-
with socketio.SimpleClient() as client1, \
276-
socketio.SimpleClient() as client2, \
277-
socketio.SimpleClient() as admin_client:
276+
with socketio.SimpleClient(reconnection=False) as client1, \
277+
socketio.SimpleClient(reconnection=False) as client2, \
278+
socketio.SimpleClient(reconnection=False) as admin_client:
278279
client1.connect('http://localhost:8900')
279280
client2.connect('http://localhost:8900')
280281
admin_client.connect('http://localhost:8900', namespace='/admin')

tests/common/test_admin.py

Lines changed: 23 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@ def with_instrumented_server(auth=False, **ikwargs):
1818
def decorator(f):
1919
@wraps(f)
2020
def wrapped(self, *args, **kwargs):
21-
sio = socketio.Server(async_mode='threading')
21+
sio = socketio.Server(async_mode='threading', ping_interval=5,
22+
ping_timeout=4)
2223

2324
@sio.event
2425
def enter_room(sid, data):
@@ -97,62 +98,62 @@ def test_missing_auth(self):
9798

9899
@with_instrumented_server(auth=False)
99100
def test_admin_connect_with_no_auth(self):
100-
with socketio.SimpleClient() as admin_client:
101+
with socketio.SimpleClient(reconnection=False) as admin_client:
101102
admin_client.connect('http://localhost:8900', namespace='/admin')
102-
with socketio.SimpleClient() as admin_client:
103+
with socketio.SimpleClient(reconnection=False) as admin_client:
103104
admin_client.connect('http://localhost:8900', namespace='/admin',
104105
auth={'foo': 'bar'})
105106

106107
@with_instrumented_server(auth={'foo': 'bar'})
107108
def test_admin_connect_with_dict_auth(self):
108-
with socketio.SimpleClient() as admin_client:
109+
with socketio.SimpleClient(reconnection=False) as admin_client:
109110
admin_client.connect('http://localhost:8900', namespace='/admin',
110111
auth={'foo': 'bar'})
111-
with socketio.SimpleClient() as admin_client:
112+
with socketio.SimpleClient(reconnection=False) as admin_client:
112113
with pytest.raises(ConnectionError):
113114
admin_client.connect(
114115
'http://localhost:8900', namespace='/admin',
115116
auth={'foo': 'baz'})
116-
with socketio.SimpleClient() as admin_client:
117+
with socketio.SimpleClient(reconnection=False) as admin_client:
117118
with pytest.raises(ConnectionError):
118119
admin_client.connect(
119120
'http://localhost:8900', namespace='/admin')
120121

121122
@with_instrumented_server(auth=[{'foo': 'bar'},
122123
{'u': 'admin', 'p': 'secret'}])
123124
def test_admin_connect_with_list_auth(self):
124-
with socketio.SimpleClient() as admin_client:
125+
with socketio.SimpleClient(reconnection=False) as admin_client:
125126
admin_client.connect('http://localhost:8900', namespace='/admin',
126127
auth={'foo': 'bar'})
127-
with socketio.SimpleClient() as admin_client:
128+
with socketio.SimpleClient(reconnection=False) as admin_client:
128129
admin_client.connect('http://localhost:8900', namespace='/admin',
129130
auth={'u': 'admin', 'p': 'secret'})
130-
with socketio.SimpleClient() as admin_client:
131+
with socketio.SimpleClient(reconnection=False) as admin_client:
131132
with pytest.raises(ConnectionError):
132133
admin_client.connect('http://localhost:8900',
133134
namespace='/admin', auth={'foo': 'baz'})
134-
with socketio.SimpleClient() as admin_client:
135+
with socketio.SimpleClient(reconnection=False) as admin_client:
135136
with pytest.raises(ConnectionError):
136137
admin_client.connect('http://localhost:8900',
137138
namespace='/admin')
138139

139140
@with_instrumented_server(auth=_custom_auth)
140141
def test_admin_connect_with_function_auth(self):
141-
with socketio.SimpleClient() as admin_client:
142+
with socketio.SimpleClient(reconnection=False) as admin_client:
142143
admin_client.connect('http://localhost:8900', namespace='/admin',
143144
auth={'foo': 'bar'})
144-
with socketio.SimpleClient() as admin_client:
145+
with socketio.SimpleClient(reconnection=False) as admin_client:
145146
with pytest.raises(ConnectionError):
146147
admin_client.connect('http://localhost:8900',
147148
namespace='/admin', auth={'foo': 'baz'})
148-
with socketio.SimpleClient() as admin_client:
149+
with socketio.SimpleClient(reconnection=False) as admin_client:
149150
with pytest.raises(ConnectionError):
150151
admin_client.connect('http://localhost:8900',
151152
namespace='/admin')
152153

153154
@with_instrumented_server()
154155
def test_admin_connect_only_admin(self):
155-
with socketio.SimpleClient() as admin_client:
156+
with socketio.SimpleClient(reconnection=False) as admin_client:
156157
admin_client.connect('http://localhost:8900', namespace='/admin')
157158
sid = admin_client.sid
158159
events = self._expect({'config': 1, 'all_sockets': 1,
@@ -177,10 +178,10 @@ def test_admin_connect_only_admin(self):
177178

178179
@with_instrumented_server()
179180
def test_admin_connect_with_others(self):
180-
with socketio.SimpleClient() as client1, \
181-
socketio.SimpleClient() as client2, \
182-
socketio.SimpleClient() as client3, \
183-
socketio.SimpleClient() as admin_client:
181+
with socketio.SimpleClient(reconnection=False) as client1, \
182+
socketio.SimpleClient(reconnection=False) as client2, \
183+
socketio.SimpleClient(reconnection=False) as client3, \
184+
socketio.SimpleClient(reconnection=False) as admin_client:
184185
client1.connect('http://localhost:8900')
185186
client1.emit('enter_room', 'room')
186187
sid1 = client1.sid
@@ -227,7 +228,7 @@ def test_admin_connect_with_others(self):
227228

228229
@with_instrumented_server(mode='production', read_only=True)
229230
def test_admin_connect_production(self):
230-
with socketio.SimpleClient() as admin_client:
231+
with socketio.SimpleClient(reconnection=False) as admin_client:
231232
admin_client.connect('http://localhost:8900', namespace='/admin')
232233
events = self._expect({'config': 1, 'server_stats': 2},
233234
admin_client)
@@ -248,9 +249,9 @@ def test_admin_connect_production(self):
248249

249250
@with_instrumented_server()
250251
def test_admin_features(self):
251-
with socketio.SimpleClient() as client1, \
252-
socketio.SimpleClient() as client2, \
253-
socketio.SimpleClient() as admin_client:
252+
with socketio.SimpleClient(reconnection=False) as client1, \
253+
socketio.SimpleClient(reconnection=False) as client2, \
254+
socketio.SimpleClient(reconnection=False) as admin_client:
254255
client1.connect('http://localhost:8900')
255256
client2.connect('http://localhost:8900')
256257
admin_client.connect('http://localhost:8900', namespace='/admin')

0 commit comments

Comments
 (0)