157
157
is_public=is_public, public_url=public_url)
159
159
call = ("file_unpublished", (public_url,), {})
160
self.assertIn(call, self.aggregator.call_log)
160
self.assertIn(call, self.status_frontend.call_log)
163
class FakeTransfer(object):
164
"""A fake action queue command."""
167
class QueueChangedStatusTestCase(StatusListenerTestCase):
168
"""Queue changed events are passed to the status object."""
170
@defer.inlineCallbacks
171
def test_download_added_is_forwarded(self):
172
"""A Download added event is forwarded."""
173
self.patch(status_listener.action_queue, "Download", FakeTransfer)
174
fake_command = FakeTransfer()
177
self._listen_for('SYS_QUEUE_ADDED', d.callback)
178
self.main.event_q.push('SYS_QUEUE_ADDED', command=fake_command)
181
call = ("download_started", (fake_command,), {})
182
self.assertIn(call, self.status_frontend.call_log)
184
@defer.inlineCallbacks
185
def test_download_removed_is_forwarded(self):
186
"""A Download removed event is forwarded."""
187
self.patch(status_listener.action_queue, "Download", FakeTransfer)
188
fake_command = FakeTransfer()
191
self._listen_for('SYS_QUEUE_REMOVED', d.callback)
192
self.main.event_q.push('SYS_QUEUE_REMOVED', command=fake_command)
195
call = ("download_finished", (fake_command,), {})
196
self.assertIn(call, self.status_frontend.call_log)
198
@defer.inlineCallbacks
199
def test_upload_added_is_forwarded(self):
200
"""A Upload added event is forwarded."""
201
self.patch(status_listener.action_queue, "Upload", FakeTransfer)
202
fake_command = FakeTransfer()
205
self._listen_for('SYS_QUEUE_ADDED', d.callback)
206
self.main.event_q.push('SYS_QUEUE_ADDED', command=fake_command)
209
call = ("upload_started", (fake_command,), {})
210
self.assertIn(call, self.status_frontend.call_log)
212
@defer.inlineCallbacks
213
def test_upload_removed_is_forwarded(self):
214
"""A Upload removed event is forwarded."""
215
self.patch(status_listener.action_queue, "Upload", FakeTransfer)
216
fake_command = FakeTransfer()
219
self._listen_for('SYS_QUEUE_REMOVED', d.callback)
220
self.main.event_q.push('SYS_QUEUE_REMOVED', command=fake_command)
223
call = ("upload_finished", (fake_command,), {})
224
self.assertIn(call, self.status_frontend.call_log)
226
@defer.inlineCallbacks
227
def test_queue_added_is_forwarded(self):
228
"""A misc queue added event is forwarded."""
229
fake_command = object()
232
self._listen_for('SYS_QUEUE_ADDED', d.callback)
233
self.main.event_q.push('SYS_QUEUE_ADDED', command=fake_command)
236
call = ("queue_added", (fake_command,), {})
237
self.assertIn(call, self.status_frontend.call_log)
239
@defer.inlineCallbacks
240
def test_queue_removed_is_forwarded(self):
241
"""A queue removed event is forwarded."""
242
fake_command = object()
245
self._listen_for('SYS_QUEUE_REMOVED', d.callback)
246
self.main.event_q.push('SYS_QUEUE_REMOVED', command=fake_command)
249
call = ("queue_removed", (fake_command,), {})
250
self.assertIn(call, self.status_frontend.call_log)
252
@defer.inlineCallbacks
253
def test_queue_done_is_forwarded(self):
254
"""A queue done event is forwarded."""
256
self._listen_for('SYS_QUEUE_DONE', d.callback)
257
self.main.event_q.push('SYS_QUEUE_DONE')
260
call = ("queue_done", (), {})
261
self.assertIn(call, self.status_frontend.call_log)
264
class NewVolumesStatusTestCase(StatusListenerTestCase):
265
"""New volumes events are passed to the status object."""
267
@defer.inlineCallbacks
268
def test_new_unsubscribed_share_is_forwarded(self):
269
"""A new unsubscribed share event is forwarded."""
270
SHARE_ID = "fake share id"
272
share = Share(volume_id=SHARE_ID)
273
yield self.main.vm.add_share(share)
274
self._listen_for('VM_SHARE_CREATED', d.callback)
275
self.main.event_q.push('VM_SHARE_CREATED', share_id=share)
277
call = ("new_share_available", (share,), {})
278
self.assertIn(call, self.status_frontend.call_log)
280
@defer.inlineCallbacks
281
def test_new_unsubscribed_udf_is_forwarded(self):
282
"""A new unsubscribed udf event is forwarded."""
285
self._listen_for('VM_UDF_CREATED', d.callback)
286
self.main.event_q.push('VM_UDF_CREATED', udf=udf)
288
call = ("new_udf_available", (udf,), {})
289
self.assertIn(call, self.status_frontend.call_log)
292
class NetworkEventStatusTestCase(StatusListenerTestCase):
293
"""The connection to the server is lost and restored."""
295
@defer.inlineCallbacks
296
def test_connection_lost(self):
297
"""The connection to the server is lost."""
299
self._listen_for('SYS_CONNECTION_LOST', d.callback)
300
self.main.event_q.push('SYS_CONNECTION_LOST')
302
call = ("server_connection_lost", (), {})
303
self.assertIn(call, self.status_frontend.call_log)
305
@defer.inlineCallbacks
306
def test_connection_made_is_forwarded(self):
307
"""The connection to the server is made."""
309
self._listen_for('SYS_CONNECTION_MADE', d.callback)
310
self.main.event_q.push('SYS_CONNECTION_MADE')
312
call = ("server_connection_made", (), {})
313
self.assertIn(call, self.status_frontend.call_log)