Skip to main content

Library to operate api with help of fild contracts

Project description

fild-api-hub v 0.0.7

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.7.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.7-py3-none-any.whl (20.6 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for fild_api_hub-0.0.7.tar.gz
Algorithm Hash digest
SHA256 884e66d4d3b02d137c2e2c257959b5da13b804405e1b194a05959ac4dbf0be7c
MD5 2736067b3a0283ca5629aab383e82e63
BLAKE2b-256 9ed9799b77244c13cbdf5ef3b28b15ecc03c01cb5964bc4146352fc9c8a3e49e

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for fild_api_hub-0.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 694b80d45793808ec490b62d5b07a8a2f05b86d0b1c45ff8f7f4fe039f0cdc5c
MD5 cf6e56933ed6ff91792862979d7fb584
BLAKE2b-256 5263b515008f5293558942fa206f3c16eb531f1d1e5c4a89ef543e98472d048d

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