Skip to main content

Library to operate api with help of fild contracts

Project description

fild-api-hub

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.4.tar.gz (28.2 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.4-py3-none-any.whl (27.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: fild_api_hub-0.0.4.tar.gz
  • Upload date:
  • Size: 28.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.20

File hashes

Hashes for fild_api_hub-0.0.4.tar.gz
Algorithm Hash digest
SHA256 b7a9d19a8480347f3fe52b691d1ec29691306092a6cf0ddca1df475bed01fec2
MD5 ab3ac5db8664278a0e2e2fdd0ffb9b43
BLAKE2b-256 deb582c107548a4b51b8d09507efa491556c07e0b210cbb433c36b2041a782be

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fild_api_hub-0.0.4-py3-none-any.whl
  • Upload date:
  • Size: 27.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.20

File hashes

Hashes for fild_api_hub-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 737bafd3bd8e7e66bb6c809f8658be8659a9a8b444cded8b4394bf2a07a6d58d
MD5 7bdd2c79338d95c639932f90e26723f7
BLAKE2b-256 0b6e92fa394003a964856cb26a0facca96e47a380346462a695c34bdaa9dc0cc

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