24
24
from synapse .logging .context import make_deferred_yieldable
25
25
26
26
from tests import unittest
27
- from tests .test_utils import make_awaitable
27
+ from tests .test_utils import simple_async_mock
28
28
29
29
from ..utils import MockClock
30
30
@@ -49,11 +49,10 @@ def test_single_service_up_txn_sent(self):
49
49
txn = Mock (id = txn_id , service = service , events = events )
50
50
51
51
# mock methods
52
- self .store .get_appservice_state = Mock (
53
- return_value = defer .succeed (ApplicationServiceState .UP )
54
- )
55
- txn .send = Mock (return_value = make_awaitable (True ))
56
- self .store .create_appservice_txn = Mock (return_value = defer .succeed (txn ))
52
+ self .store .get_appservice_state = simple_async_mock (ApplicationServiceState .UP )
53
+ txn .send = simple_async_mock (True )
54
+ txn .complete = simple_async_mock (True )
55
+ self .store .create_appservice_txn = simple_async_mock (txn )
57
56
58
57
# actual call
59
58
self .successResultOf (defer .ensureDeferred (self .txnctrl .send (service , events )))
@@ -71,10 +70,10 @@ def test_single_service_down(self):
71
70
events = [Mock (), Mock ()]
72
71
73
72
txn = Mock (id = "idhere" , service = service , events = events )
74
- self .store .get_appservice_state = Mock (
75
- return_value = defer . succeed ( ApplicationServiceState .DOWN )
73
+ self .store .get_appservice_state = simple_async_mock (
74
+ ApplicationServiceState .DOWN
76
75
)
77
- self .store .create_appservice_txn = Mock ( return_value = defer . succeed ( txn ) )
76
+ self .store .create_appservice_txn = simple_async_mock ( txn )
78
77
79
78
# actual call
80
79
self .successResultOf (defer .ensureDeferred (self .txnctrl .send (service , events )))
@@ -94,12 +93,10 @@ def test_single_service_up_txn_not_sent(self):
94
93
txn = Mock (id = txn_id , service = service , events = events )
95
94
96
95
# mock methods
97
- self .store .get_appservice_state = Mock (
98
- return_value = defer .succeed (ApplicationServiceState .UP )
99
- )
100
- self .store .set_appservice_state = Mock (return_value = defer .succeed (True ))
101
- txn .send = Mock (return_value = make_awaitable (False )) # fails to send
102
- self .store .create_appservice_txn = Mock (return_value = defer .succeed (txn ))
96
+ self .store .get_appservice_state = simple_async_mock (ApplicationServiceState .UP )
97
+ self .store .set_appservice_state = simple_async_mock (True )
98
+ txn .send = simple_async_mock (False ) # fails to send
99
+ self .store .create_appservice_txn = simple_async_mock (txn )
103
100
104
101
# actual call
105
102
self .successResultOf (defer .ensureDeferred (self .txnctrl .send (service , events )))
@@ -122,7 +119,7 @@ def setUp(self):
122
119
self .as_api = Mock ()
123
120
self .store = Mock ()
124
121
self .service = Mock ()
125
- self .callback = Mock ()
122
+ self .callback = simple_async_mock ()
126
123
self .recoverer = _Recoverer (
127
124
clock = self .clock ,
128
125
as_api = self .as_api ,
@@ -144,8 +141,8 @@ def take_txn(*args, **kwargs):
144
141
self .recoverer .recover ()
145
142
# shouldn't have called anything prior to waiting for exp backoff
146
143
self .assertEquals (0 , self .store .get_oldest_unsent_txn .call_count )
147
- txn .send = Mock ( return_value = make_awaitable ( True ) )
148
- txn .complete . return_value = make_awaitable (None )
144
+ txn .send = simple_async_mock ( True )
145
+ txn .complete = simple_async_mock (None )
149
146
# wait for exp backoff
150
147
self .clock .advance_time (2 )
151
148
self .assertEquals (1 , txn .send .call_count )
@@ -170,8 +167,8 @@ def take_txn(*args, **kwargs):
170
167
171
168
self .recoverer .recover ()
172
169
self .assertEquals (0 , self .store .get_oldest_unsent_txn .call_count )
173
- txn .send = Mock ( return_value = make_awaitable ( False ) )
174
- txn .complete . return_value = make_awaitable (None )
170
+ txn .send = simple_async_mock ( False )
171
+ txn .complete = simple_async_mock (None )
175
172
self .clock .advance_time (2 )
176
173
self .assertEquals (1 , txn .send .call_count )
177
174
self .assertEquals (0 , txn .complete .call_count )
@@ -184,7 +181,7 @@ def take_txn(*args, **kwargs):
184
181
self .assertEquals (3 , txn .send .call_count )
185
182
self .assertEquals (0 , txn .complete .call_count )
186
183
self .assertEquals (0 , self .callback .call_count )
187
- txn .send = Mock ( return_value = make_awaitable ( True ) ) # successfully send the txn
184
+ txn .send = simple_async_mock ( True ) # successfully send the txn
188
185
pop_txn = True # returns the txn the first time, then no more.
189
186
self .clock .advance_time (16 )
190
187
self .assertEquals (1 , txn .send .call_count ) # new mock reset call count
@@ -195,6 +192,7 @@ def take_txn(*args, **kwargs):
195
192
class ApplicationServiceSchedulerQueuerTestCase (unittest .TestCase ):
196
193
def setUp (self ):
197
194
self .txn_ctrl = Mock ()
195
+ self .txn_ctrl .send = simple_async_mock ()
198
196
self .queuer = _ServiceQueuer (self .txn_ctrl , MockClock ())
199
197
200
198
def test_send_single_event_no_queue (self ):
0 commit comments