Skip to main content

A Python mock_it_adapter for Mock IT API

Project description

Mock IT Adapter

Адаптер для взаимодействия с API Mock IT.

Установка

pip install mock-it-adapter

Использование

Создайте клиент для подключения к серверу Mock IT:

from mock_it_adapter import MockITClient

client = MockITClient(base_url)
""" Создает клиент.

    Аргументы:
        base_url [str]: Адрес сервера Mock IT.
    
    Возвращает:
        Сессию Requests.
"""
create_mock(name, method, endpoint, status, response_body, matcher)
""" Создает новый мок.

    Аргументы:
        method: [str] = HTTP-метод запроса для мока.
        endpoint: [str] = Эндпоинт мока.
        name: Optional[str] = Имя мока. Если не указано, генерируется по шаблону: "{endpoint}_{matcher.value}".
        status: Optional[str] = Код статуса ответа мока. По умолчанию - 200.
        response_body: Optional[str] = Тело ответа мока.
        matcher: Optional[Matcher] = Условие для срабатывания запроса.
        
    Возвращает:
        Созданную модель мока.
"""

Пример использования:

from mock_it_adapter import MockITClient

client = MockITClient(base_url="http://localhost:20000")

client.create_mock(
    method="POST",
    endpoint="/new_mock_endpoint",
    name="example_mock_name_without_matcher",
    response_body="default mock body"
)

Можно создать несколько моков для одного и того же эндпоинта:

client.create_mock(
    method="POST",
    endpoint="/new_mock_endpoint",
    name="example_mock_name_with_matcher",
    status=201,
    response_body="{\"Morpheus\": \"Wake up, Neo... The Matrix has you... Follow the white rabbit...\"}"
    matcher=Matcher(
        matcher_type=MatcherType.KEY_TO_VALUE,
        key="name",
        value="Neo"
    )
)

Как это работает

Созданный URL мока: http://localhost:20000/new_mock_endpoint

Если запрос содержит key="name" со значением value="Neo", то в ответе мы получим: "{"Morpheus": "Wake up, Neo... The Matrix has you... Follow the white rabbit..."}"

Если ключ и значение запроса не совпадают, мы получим ответ по умолчанию: default mock body

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_it_adapter-1.0.0.tar.gz (7.7 MB view details)

Uploaded Source

Built Distribution

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

mock_it_adapter-1.0.0-py3-none-any.whl (4.7 kB view details)

Uploaded Python 3

File details

Details for the file mock_it_adapter-1.0.0.tar.gz.

File metadata

  • Download URL: mock_it_adapter-1.0.0.tar.gz
  • Upload date:
  • Size: 7.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.2

File hashes

Hashes for mock_it_adapter-1.0.0.tar.gz
Algorithm Hash digest
SHA256 c1dc0c0ab66d359153e3da828b0a4a99c720b20005a2d470882d29e97be1b384
MD5 916c8999f434027ee36d925f60d6ea4f
BLAKE2b-256 1de4bceff2633b3c08bc922a6494eaf12484ea6fbb96290ccca4e93ab9fa77b1

See more details on using hashes here.

File details

Details for the file mock_it_adapter-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for mock_it_adapter-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d2677d061856ad09bcc1737708fa68a5704011b56530341147750467fad23ea4
MD5 3f2c8df6070e70abbc84fae2f280d269
BLAKE2b-256 2eb3c6d87cfcd82d08c47d9c161fc3fc98d76a0a691c881626d677e4214d2de2

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