Skip to main content

mock_api

Project description

mock_api

mocks api function returning fake data with specified shape. Every url can have different shape, these are represented in skema format in a yaml file,

/posts/: |
    Response:
        ok: Bool
        data: [
            postName: Str
            date: Str
            id: Int
        ]
/post/: |
    Response:
        ok: Bool
        data:
            author:
                name: Str
                id: Int
            description: Str

The shape of the data can change based on url hostname or path. an example:

from mock_api import mock_function
from myapi import api_call

with mock_function('myapi.api_call', 'api_shape.yml', arg=0):
    data = api_call('/posts/')
    print(data) # {'ok': True, 'data': {'postName': 'sdfsdgx', 'date': 'sdfg4'}}

genrating the api shapes

You can generating the shapes calling many times the api

from mock_api import track_function
from myapi import api_call

with track_function('myapi.api_call', 'api_shape.yaml', ):
    api_call('/posts/')
    api_call('/post/34')
    api_call('/post/14')
    api_call('/data/')

# a file api_shape.yaml is created
assert os.path.exists('api_shape)

todo:

  • change shape based on POST, GET ...
  • change shape based on parameters
  • add url parameters, like posts/:id/
  • remove Response root key maybe (but i can't use root arrays, Root: [...])
  • add possible codes, like 200, 400, then change shape based on them

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

mock_api-0.0.7.tar.gz (4.8 kB view details)

Uploaded Source

File details

Details for the file mock_api-0.0.7.tar.gz.

File metadata

  • Download URL: mock_api-0.0.7.tar.gz
  • Upload date:
  • Size: 4.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.8

File hashes

Hashes for mock_api-0.0.7.tar.gz
Algorithm Hash digest
SHA256 5c2fac6ce14aec02671e0b376a6044664a438d73c4f525a9adfe19a6e31ea650
MD5 b389245dd6a88168d831200466ad3a40
BLAKE2b-256 aca9912690eed3d363c04b3425ee47a98a85fadbf93b50a6f108b3cf07fb4ec4

See more details on using hashes here.

Supported by

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