Skip to content

Latest commit

 

History

History
71 lines (53 loc) · 1.51 KB

README.rst

File metadata and controls

71 lines (53 loc) · 1.51 KB

dumdum

Create fake HTTP servers with simple stanzas.

This module allows you to easily create "dummy" servers from simple descriptive text. Need a dummy server for testing, or maybe the service you're trying to test doesn't have a "stage" environment? That's what this is for.

Installation

You can install the extension with pip like

pip install dumdum

Usage

dumdum is both a command-line utility and a library. It takes a simple _stanza_ format and generates a web server with endpoints from that. E.g. to do "hello world" you could do

printf "
> GET
> /hello
< body world
.
" | dumdum

Then you can test with

% curl http://localhost:8001/hello

> GET /hello HTTP/1.1
> Host: localhost:8001
> User-Agent: curl/7.51.0
> Accept: */*
>
* HTTP 1.0, assume close after body
< HTTP/1.0 200 OK
< Date: Wed, 17 May 2017 18:43:39 GMT
< Server: WSGIServer/0.1 Python/2.7.13
< Content-type: text/plain
< Content-Length: 7

world

This will create a server listening on the default port (8001). Dumdum is a WSGI compliant library, so you can easily serve it from your own code like

from wsgiref.simple_server import make_server
from dumdum import Dumdum

dum = Dumdum("""
> GET
> /hello
< body world
.
""")
srv = make_server('', 5000, dum.server)
srv.serve_forever()

Source and further details can be found at https://github.com/jar-o/dumdum