예제 #1
0
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
예제 #2
0
파일: runserver.py 프로젝트: armooo/txango
    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)