def test_django_resource(monkeypatch): pool = Mock(name='pool') ThreadPool = Mock(name='ThreadPool', return_value=pool) monkeypatch.setattr(resource.threadpool, 'ThreadPool', ThreadPool) reactor = Mock(name='reactor') monkeypatch.setattr(resource, 'reactor', reactor) WSGIResource = Mock(name='WSGIResource', return_value=sentinel.wsgir) monkeypatch.setattr(resource.wsgi, 'WSGIResource', WSGIResource) StaticResource = Mock(name='StaticResource', return_value=sentinel.staticr) monkeypatch.setattr(resource, 'StaticResource', StaticResource) r = resource.django_resource(sentinel.app) reactor.callWhenRunning.assert_called_with(pool.start) reactor.addSystemEventTrigger.assert_called_with('after', 'shutdown', pool.stop) WSGIResource.assert_called_with(reactor, pool, sentinel.app) assert r == sentinel.staticr
def inner_run(self, *args, **options): from django.utils import translation quit_command = (sys.platform == 'win32') and 'CTRL-BREAK' or 'CONTROL-C' self.stdout.write("Validating models...\n\n") self.validate(display_num_errors=True) self.stdout.write(( "Django version %(version)s, using settings %(settings)r\n" "Twisted web server is running at http://%(addr)s:%(port)s/\n" "Quit the server with %(quit_command)s.\n" ) % { "version": self.get_version(), "settings": settings.SETTINGS_MODULE, "addr": self._raw_ipv6 and '[%s]' % self.addr or self.addr, "port": self.port, "quit_command": quit_command, }) applacation = self.get_handler(*args, **options) site = server.Site(django_resource()) reactor.listenTCP(int(self.port), site, interface=self.addr) reactor.run(installSignalHandlers=0)