Skip to main content

httpservermock

httpservermock provides a HTTP server mock that can be used to test code that needs to interact with an HTTP server.

pip install httpservermock
# or
poetry add --dev httpservermock

Example usage:

from urllib.error import HTTPError
from urllib.request import urlopen

import pytest

from httpservermock import MethodName, MockHTTPResponse, ServedBaseHTTPServerMock


def test_example() -> None:
    with ServedBaseHTTPServerMock() as httpmock:
        httpmock.responses[MethodName.GET].append(
            MockHTTPResponse(404, "Not Found", b"gone away", {})
        )
        httpmock.responses[MethodName.GET].append(
            MockHTTPResponse(200, "OK", b"here it is", {})
        )

        # send a request to get the first response
        with pytest.raises(HTTPError) as raised:
            urlopen(f"{httpmock.url}/bad/path")
        assert raised.value.code == 404

        # get and validate request that the mock received
        req = httpmock.requests[MethodName.GET].pop(0)
        assert req.path == "/bad/path"

        # send a request to get the second response
        resp = urlopen(f"{httpmock.url}/")
        assert resp.status == 200
        assert resp.read() == b"here it is"

        httpmock.responses[MethodName.GET].append(
            MockHTTPResponse(404, "Not Found", b"gone away", {})
        )
        httpmock.responses[MethodName.GET].append(
            MockHTTPResponse(200, "OK", b"here it is", {})
        )

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

httpservermock-0.1.0.tar.gz (7.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

httpservermock-0.1.0-py3-none-any.whl (7.7 kB view details)

Uploaded Python 3

File details

Details for the file httpservermock-0.1.0.tar.gz.

File metadata

  • Download URL: httpservermock-0.1.0.tar.gz
  • Upload date:
  • Size: 7.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.11 CPython/3.6.15 Linux/5.4.109+

File hashes

Hashes for httpservermock-0.1.0.tar.gz
Algorithm Hash digest
SHA256 50040da959d83a31a50dcfdbf336ec9d8a810287c7f1336c5be30e901967ed30
MD5 04396a220a821eb5703d0411e2f674ca
BLAKE2b-256 3dbfae99defe32a5afd45d1616f2dc8623e464e1ded5963bb1882bcd8c649292

See more details on using hashes here.

File details

Details for the file httpservermock-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: httpservermock-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 7.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.11 CPython/3.6.15 Linux/5.4.109+

File hashes

Hashes for httpservermock-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9c48d512a2e048345e0acc98760d8ab9c5de66390cc2f65ab516586529445582
MD5 e940441666970f0dbcb316894045b051
BLAKE2b-256 7ab58044cd1616bb8149762109982b7a3671f0eba298e8e0128dfd130364cb69

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page