def test_dispatcher_sends_via_http(self): test_signal = Signal() async_connect(http_test_handler, spooler='test_http', signal=test_signal, sender=Person) data = {} def testview(request, spooler): data.update({ 'spooler': spooler, 'data': request.POST.copy(), }) from django.http import HttpResponse return HttpResponse('OK') person = Person() with URLOverride((r'^spooler/(?P<spooler>.+)/$', testview)): test_signal.send(instance=person, sender=Person) print data assert data['spooler'] == 'test_http' assert data['data']['instance'] == str(person.id)
def test_submit(self): # XXX Move this to MPSigAsyncTest self.manager = TestSpoolManager() sc = SigAsyncContainer(manager=self.manager) self._container = Process(target=sc.run, args=()) self._container.start() try: async_test1 = Signal() async_connect(pass_handler, signal=async_test1, sender=Person) p = Person() async_test1.send(sender=Person, instance=p) try: self.manager._processed.get(timeout=1) except Empty: try: (s, f) = self.manager._failed.get_nowait() except Empty: raise AssertionError("Timed out waiting for entry to process") else: raise AssertionError("Job failed") finally: os.kill(self._container.pid, signal.SIGINT) self._container.join()