Source code for cherrypy.test.test_native

"""Test the native server."""

import pytest
from requests_toolbelt import sessions

import cherrypy._cpnative_server


pytestmark = pytest.mark.skipif(
    'sys.platform == "win32"',
    reason='tests fail on Windows',
)


[docs]@pytest.fixture def cp_native_server(request): """A native server.""" class Root(object): @cherrypy.expose def index(self): return 'Hello World!' cls = cherrypy._cpnative_server.CPHTTPServer cherrypy.server.httpserver = cls(cherrypy.server) cherrypy.tree.mount(Root(), '/') cherrypy.engine.start() request.addfinalizer(cherrypy.engine.stop) url = 'http://localhost:{cherrypy.server.socket_port}'.format(**globals()) return sessions.BaseUrlSession(url)
[docs]def test_basic_request(cp_native_server): """A request to a native server should succeed.""" resp = cp_native_server.get('/') assert resp.ok assert resp.status_code == 200 assert resp.text == 'Hello World!'