Standalone WSGI server for running tests purpose.
Project description
You can use wsgitest to start a HTTP server for a WSGI application and control the process:
@Request.application
def application(request):
return Response('Hello World!')
class AppServerTestCase(TestCase):
def test_hello_app(self):
server = WSGITestServer.create(application)
try:
response = requests.get(server.application_url)
self.assertEqual(response.status_code, 200)
self.assertEqual(response.content, b"Hello World!")
finally:
server.terminate()
def test_hello_app_reference(self):
server = WSGITestServer.create("tests.test_server.application")
try:
response = requests.get(server.application_url)
self.assertEqual(response.status_code, 200)
self.assertEqual(response.content, b"Hello World!")
finally:
server.terminate()
The method WSGITestServer.create() initialize a multiprocessing.Process and wait for the server startup.
You can use server as a context manager to avoid that tests get stucked when you forget to “terminate” server:
@Request.application
def application(request):
return Response('Hello World!')
class AppServerTestCase(TestCase):
def test_hello_app(self):
with WSGITestServer(application) as server:
response = requests.get(server.application_url)
self.assertEqual(response.status_code, 200)
self.assertEqual(response.content, b"Hello World!")
You can also start server with an specific host/ip or TCP port:
@Request.application
def application(request):
return Response('Hello World!')
class AppServerTestCase(TestCase):
def test_hello_app(self):
with WSGITestServer(application, "0.0.0.0", 5000) as server:
response = requests.get(server.application_url)
self.assertEqual(response.status_code, 200)
self.assertEqual(response.content, b"Hello World!")
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
wsgitest-0.2.0.tar.gz
(4.2 kB
view details)
File details
Details for the file wsgitest-0.2.0.tar.gz
.
File metadata
- Download URL: wsgitest-0.2.0.tar.gz
- Upload date:
- Size: 4.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 06137e227d944837538d2d9a919c29fa31b9f4501337ca81827dd1a1b344e52c |
|
MD5 | d296d148926e038c4e70b6ce886928da |
|
BLAKE2b-256 | b09833d8053aab30d308d57e7c484cf6d4ed5a5ec3d15a73389f6c0e7c4ee25e |