Skip to main content

No project description provided

Project description

https://travis-ci.org/genericclient/testing-aiohttp.svg?branch=master

Testing utilities for aiohttp. Python 3.5+ only.

Installation

$ pip install testing-aiohttp

Usage

rsps.MockRoutesTestCase

The MockRoutesTestCase will set up a mock application for mocking response.

The API is inspired by the responses library:

from aiohttp.test_utils import unittest_run_loop

from testing_aiohttp.rsps import MockRoutesTestCase


# Create your tests here.
class EndpointTestCase(MockRoutesTestCase):
    @unittest_run_loop
    async def test_response_data(self):
        with self.mock_response() as rsps:
            rsps.add('GET', '/users', data=[
                {
                    'id': 1,
                    'username': 'user1',
                    'group': 'watchers',
                },
                {
                    'id': 2,
                    'username': 'user2',
                    'group': 'watchers',
                },
            ])

            response = await self.client.get('/users')
            self.assertEqual(response, 200)
            users = await response.json()
            self.assertEqual(len(users), 2)
from aiohttp.test_utils import unittest_run_loop

from testing_aiohttp.rsps import MockRoutesTestCase


async def request_callback(request):
    return (200, {}, await request.text())


class EndpointTestCase(MockRoutesTestCase):

    @unittest_run_loop
    async def test_endpoint_detail_route(self):
        with self.mock_response() as rsps:
            rsps.add_callback(
                'POST', '/users/2/notify',
                callback=request_callback,
                content_type='application/json',
            )

            response = await self.generic_client.users(id=2).notify(unread=3)
            self.assertEqual(await response.json(), {'unread': 3})

License

Licensed under the MIT License.

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

testing-aiohttp-0.0.1.tar.gz (3.6 kB view details)

Uploaded Source

Built Distribution

testing_aiohttp-0.0.1-py2.py3-none-any.whl (6.8 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file testing-aiohttp-0.0.1.tar.gz.

File metadata

File hashes

Hashes for testing-aiohttp-0.0.1.tar.gz
Algorithm Hash digest
SHA256 71c505542639e513fa607304474cbe23a534d72b1da105375dda697bcd9d67d4
MD5 1c85d96bb3b79fd6b70b11f88846760b
BLAKE2b-256 320ed89770bd1e0ed59af58c957b01696f96f9019afceba0a4db739892399d22

See more details on using hashes here.

Provenance

File details

Details for the file testing_aiohttp-0.0.1-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for testing_aiohttp-0.0.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 c5849b40d74b2969689ab8a12f52f009dc4c67d288d8a88ed1a6128784ecf3ee
MD5 cb041439b4d6eb62d93a2df7d6fd3c92
BLAKE2b-256 4b58b21e33a04249eca344810fbefeda63a6cbac89eedeeaa945ded70ba98dfe

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page