Skip to main content

Library to operate api with help of fild contracts

Project description

fild-api-hub v 0.0.8

Downloads Python Versions License Build Status

The FILD Api Hub is a set of tools enabling using FILD described contracts in tests.

Configure your project with yaml files in etc/config.yaml containing

App:
  url: http://localhost:8000
MockServer:
  host: localhost
  port: 8088

Override any local configuration variables by adding etc/local.yaml

MockServer:
  port: 8080

Use ApiMethod to describe the API

from fild.sdk import Dictionary, Int, String, Uuid
from fildapi import ApiMethod, HttpMethod


SERVICE = 'customer_api'
BASE_URL = 'http://mydomain.customerapi'


class CreateUserRequest(Dictionary):
    Name = String(name='name')
    Email = String(name='email')
    Age = Int(name='age', min_val=18, max_val=120)

    
class CreateUserResponse(Dictionary):
    Id = Uuid(name='id')

    
class CreateUser(ApiMethod):
    method = HttpMethod.POST
    url = 'api/users'
    req_body = CreateUserRequest
    resp_body = CreateUserResponse

Use ApiMethod for mocking and verifying integrations

from customer_api import CreateUser


def test_failed_to_create_user():
    CreateUser.reply(status=400)
    # Test action to check error


def test_verify_call_to_customer_api():
    CreateUser.reply()
    # Some test action
    CreateUser.verify_called()

Use ApiCaller to test the api:

from fildapi import ApiCaller
from customer_api import CreateUser


class CreateUserCall(ApiCaller):
    method = CreateUser


def test_create_user():
    CreateUserCall().request().verify_response()

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

fild_api_hub-0.0.8.tar.gz (21.0 kB view details)

Uploaded Source

Built Distribution

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

fild_api_hub-0.0.8-py3-none-any.whl (20.7 kB view details)

Uploaded Python 3

File details

Details for the file fild_api_hub-0.0.8.tar.gz.

File metadata

  • Download URL: fild_api_hub-0.0.8.tar.gz
  • Upload date:
  • Size: 21.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.21

File hashes

Hashes for fild_api_hub-0.0.8.tar.gz
Algorithm Hash digest
SHA256 fab202d203cc87a3497531b4ca05bad92392286cf4b8c361a7a3d0b07fe7bb7e
MD5 5a8ebd7261f81677f3976add3035e3c4
BLAKE2b-256 ec9ae5db8c80064c040fb60c9560719c6fe87ab81d85504fb8cf8e65d4d67cc8

See more details on using hashes here.

File details

Details for the file fild_api_hub-0.0.8-py3-none-any.whl.

File metadata

  • Download URL: fild_api_hub-0.0.8-py3-none-any.whl
  • Upload date:
  • Size: 20.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.21

File hashes

Hashes for fild_api_hub-0.0.8-py3-none-any.whl
Algorithm Hash digest
SHA256 6712fe0cb4a4cf3c9d492d3394dbcd04190aee8a4028a7ce73be4c6ba754cc23
MD5 30de81b9248c00ad84fca1d113e48e35
BLAKE2b-256 349e7eaec6e0c936fd2b286b4270861867265cf47ba58b08ce0b34bfbf36d8cc

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