Skip to content

Commit 9fd9a3f

Browse files
Fix flaky tests (#8)
1 parent fa5d21f commit 9fd9a3f

6 files changed

Lines changed: 24 additions & 24 deletions

tests/advertizerIntegrationTest.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ def test_sends_hello_when_advertises_service(self):
3737
# When
3838
advertizer.advertise(SERVICE_INFO)
3939

40-
wait_for_assertion(0.1, lambda: self.assertEqual(1, len(messages)))
40+
wait_for_assertion(1, lambda: self.assertEqual(1, len(messages)))
4141

4242
# Then
4343
self.assertEqual([SERVICE_INFO.to_dict()], messages)
@@ -61,7 +61,7 @@ def test_sends_hello_when_query_received(self):
6161
# When
6262
test_sender.send(ServiceQuery('test-service', 'test-role'))
6363

64-
wait_for_assertion(0.1, lambda: self.assertEqual(1, len(messages)))
64+
wait_for_assertion(1, lambda: self.assertEqual(1, len(messages)))
6565

6666
# Then
6767
self.assertEqual([SERVICE_INFO.to_dict()], messages)
@@ -86,7 +86,7 @@ def test_sends_hello_when_info_changed_and_query_received(self):
8686
query = ServiceQuery('test-service', 'test-role')
8787
test_sender.send(query)
8888

89-
wait_for_assertion(0.1, lambda: self.assertEqual(2, len(messages)))
89+
wait_for_assertion(1, lambda: self.assertEqual(2, len(messages)))
9090

9191
new_service_info = ServiceInfo(
9292
SERVICE_INFO.uuid, SERVICE_INFO.name, SERVICE_INFO.role, {'test': 'http://localhost:9090'}
@@ -96,7 +96,7 @@ def test_sends_hello_when_info_changed_and_query_received(self):
9696
# When
9797
test_sender.send(query)
9898

99-
wait_for_assertion(0.1, lambda: self.assertEqual(4, len(messages)))
99+
wait_for_assertion(1, lambda: self.assertEqual(4, len(messages)))
100100

101101
# Then
102102
self.assertEqual([
@@ -119,7 +119,7 @@ def test_sends_hello_when_schedules_advertisement_once(self):
119119
# When
120120
scheduled_advertizer.schedule(SERVICE_INFO, interval=0.01, one_shot=True)
121121

122-
wait_for_assertion(0.1, lambda: self.assertEqual(1, len(messages)))
122+
wait_for_assertion(1, lambda: self.assertEqual(1, len(messages)))
123123

124124
# Then
125125
self.assertEqual([SERVICE_INFO.to_dict()], messages)
@@ -141,7 +141,7 @@ def test_sends_hello_when_schedules_advertisement_periodically(self):
141141
scheduled_advertizer.schedule(SERVICE_INFO, interval=0.01)
142142

143143
# Then
144-
wait_for_assertion(0.1, lambda: self.assertEqual(5, len(messages)))
144+
wait_for_assertion(1, lambda: self.assertTrue(len(messages) >= 10))
145145

146146

147147
if __name__ == '__main__':

tests/apiIntegrationTest.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ def test_discoverer_caches_advertised_service(self):
3434
# When
3535
advertizer.advertise()
3636

37-
wait_for_assertion(0.1, lambda: self.assertEqual(1, len(discoverer.get_services())))
37+
wait_for_assertion(1, lambda: self.assertEqual(1, len(discoverer.get_services())))
3838

3939
# Then
4040
self.assertEqual({SERVICE_INFO.uuid: SERVICE_INFO}, discoverer.get_services())
@@ -57,7 +57,7 @@ def test_discoverer_caches_advertised_services(self):
5757
Thread(target=advertizer1.advertise).start()
5858
Thread(target=advertizer2.advertise).start()
5959

60-
wait_for_assertion(0.2, lambda: self.assertEqual(2, len(discoverer.get_services())))
60+
wait_for_assertion(1, lambda: self.assertEqual(2, len(discoverer.get_services())))
6161

6262
# Then
6363
self.assertEqual({
@@ -77,7 +77,7 @@ def test_discoverer_caches_advertised_service_when_advertisement_scheduled_once(
7777
# When
7878
advertizer.schedule(interval=0.01, one_shot=True)
7979

80-
wait_for_assertion(0.2, lambda: self.assertEqual(1, len(discoverer.get_services())))
80+
wait_for_assertion(1, lambda: self.assertEqual(1, len(discoverer.get_services())))
8181

8282
# Then
8383
self.assertEqual({SERVICE_INFO.uuid: SERVICE_INFO}, discoverer.get_services())
@@ -94,7 +94,7 @@ def test_discoverer_caches_advertised_service_when_advertisement_scheduled_perio
9494
# When
9595
advertizer.schedule(interval=0.01)
9696

97-
wait_for_assertion(0.2, lambda: self.assertEqual(1, len(discoverer.get_services())))
97+
wait_for_assertion(1, lambda: self.assertEqual(1, len(discoverer.get_services())))
9898

9999
# Then
100100
self.assertEqual({SERVICE_INFO.uuid: SERVICE_INFO}, discoverer.get_services())
@@ -111,7 +111,7 @@ def test_discoverer_caches_discovery_response_service(self):
111111
# When
112112
discoverer.discover()
113113

114-
wait_for_assertion(0.2, lambda: self.assertEqual(1, len(discoverer.get_services())))
114+
wait_for_assertion(1, lambda: self.assertEqual(1, len(discoverer.get_services())))
115115

116116
# Then
117117
self.assertEqual({SERVICE_INFO.uuid: SERVICE_INFO}, discoverer.get_services())
@@ -132,7 +132,7 @@ def test_discoverer_caches_discovery_response_services(self):
132132
# When
133133
discoverer.discover()
134134

135-
wait_for_assertion(0.2, lambda: self.assertEqual(2, len(discoverer.get_services())))
135+
wait_for_assertion(1, lambda: self.assertEqual(2, len(discoverer.get_services())))
136136

137137
# Then
138138
self.assertEqual({
@@ -152,7 +152,7 @@ def test_discoverer_caches_discovery_response_service_when_discovery_scheduled_o
152152
# When
153153
discoverer.schedule(interval=0.01, one_shot=True)
154154

155-
wait_for_assertion(0.2, lambda: self.assertEqual(1, len(discoverer.get_services())))
155+
wait_for_assertion(1, lambda: self.assertEqual(1, len(discoverer.get_services())))
156156

157157
# Then
158158
self.assertEqual({SERVICE_INFO.uuid: SERVICE_INFO}, discoverer.get_services())
@@ -169,7 +169,7 @@ def test_discoverer_caches_discovery_response_service_when_discovery_scheduled_p
169169
# When
170170
discoverer.schedule(interval=0.01)
171171

172-
wait_for_assertion(0.2, lambda: self.assertEqual(1, len(discoverer.get_services())))
172+
wait_for_assertion(1, lambda: self.assertEqual(1, len(discoverer.get_services())))
173173

174174
# Then
175175
self.assertEqual({SERVICE_INFO.uuid: SERVICE_INFO}, discoverer.get_services())

tests/discovererIntegrationTest.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ def test_discovers_service_when_hello_received(self):
3636
# When
3737
test_sender.send(SERVICE_INFO)
3838

39-
wait_for_assertion(0.1, lambda: self.assertEqual(1, len(discoverer.get_services())))
39+
wait_for_assertion(1, lambda: self.assertEqual(1, len(discoverer.get_services())))
4040

4141
# Then
4242
self.assertEqual({SERVICE_INFO.uuid: SERVICE_INFO}, discoverer.get_services())
@@ -53,15 +53,15 @@ def test_updates_service_when_info_changed(self):
5353

5454
test_sender.send(SERVICE_INFO)
5555

56-
wait_for_assertion(0.1, lambda: self.assertEqual(1, len(discoverer.get_services())))
56+
wait_for_assertion(1, lambda: self.assertEqual(1, len(discoverer.get_services())))
5757

5858
# When
5959
new_service_info = ServiceInfo(
6060
SERVICE_INFO.uuid, SERVICE_INFO.name, SERVICE_INFO.role, {'test': 'http://localhost:9090'}
6161
)
6262
test_sender.send(new_service_info)
6363

64-
wait_for_assertion(0.1, lambda: self.assertEqual(
64+
wait_for_assertion(1, lambda: self.assertEqual(
6565
'http://localhost:9090',
6666
discoverer.get_services()[SERVICE_INFO.uuid].urls['test']
6767
))
@@ -87,7 +87,7 @@ def test_sends_query(self):
8787
# When
8888
discoverer.discover(SERVICE_QUERY)
8989

90-
wait_for_assertion(0.1, lambda: self.assertEqual(1, len(messages)))
90+
wait_for_assertion(1, lambda: self.assertEqual(1, len(messages)))
9191

9292
# Then
9393
self.assertEqual([SERVICE_QUERY.__dict__], messages)
@@ -109,7 +109,7 @@ def test_sends_query_when_schedules_discovery_once(self):
109109
# When
110110
scheduled_discoverer.schedule(SERVICE_QUERY, interval=0.01, one_shot=True)
111111

112-
wait_for_assertion(0.1, lambda: self.assertEqual(1, len(messages)))
112+
wait_for_assertion(1, lambda: self.assertEqual(1, len(messages)))
113113

114114
# Then
115115
self.assertEqual([SERVICE_QUERY.__dict__], messages)
@@ -132,7 +132,7 @@ def test_sends_query_when_schedules_discovery_periodically(self):
132132
scheduled_discoverer.schedule(SERVICE_QUERY, interval=0.01)
133133

134134
# Then
135-
wait_for_assertion(0.1, lambda: self.assertEqual(5, len(messages)))
135+
wait_for_assertion(1, lambda: self.assertTrue(len(messages) >= 10))
136136

137137

138138
if __name__ == '__main__':

tests/dishReceiverTest.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ def test_calls_registered_handler_on_message(self):
127127
receiver.start(group)
128128

129129
# Then
130-
wait_for_assertion(0.1, lambda: handler.assert_called_once_with(SERVICE_INFO.to_dict()))
130+
wait_for_assertion(1, lambda: handler.assert_called_once_with(SERVICE_INFO.to_dict()))
131131

132132
def test_handles_message_receive_error_gracefully(self):
133133
# Given
@@ -168,7 +168,7 @@ def test_handles_handler_execution_error_gracefully(self):
168168
receiver.start(group)
169169

170170
# Then
171-
wait_for_assertion(0.1, lambda: handler.assert_called_once_with(SERVICE_INFO.to_dict()))
171+
wait_for_assertion(1, lambda: handler.assert_called_once_with(SERVICE_INFO.to_dict()))
172172

173173

174174
if __name__ == '__main__':

tests/receiverIntegrationTest.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ def test_receives_message(self):
3535
# When
3636
radio.send_json(SERVICE_INFO.to_dict(), group=group.name)
3737

38-
wait_for_assertion(0.1, lambda: self.assertEqual(1, len(messages)))
38+
wait_for_assertion(1, lambda: self.assertEqual(1, len(messages)))
3939

4040
# Then
4141
self.assertEqual([SERVICE_INFO.to_dict()], messages)

tests/senderIntegrationTest.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ def test_sends_message(self):
3838
# When
3939
sender.send(SERVICE_INFO)
4040

41-
wait_for_assertion(0.1, lambda: self.assertEqual(1, len(messages)))
41+
wait_for_assertion(1, lambda: self.assertEqual(1, len(messages)))
4242

4343
# Then
4444
self.assertEqual([SERVICE_INFO.to_dict()], messages)

0 commit comments

Comments
 (0)