Skip to main content

[DEPRECATED] Use surety-api instead. Library to operate api with help of fild contracts

Project description

DEPRECATED — This package is no longer maintained. Migrate to surety-api: pip install surety-api

Replace from fildapi import ApiCaller, ApiMethod, MockServer, HttpMethod with from surety.api import ApiCaller, ApiContract, MockServer, HttpMethod. Note: ApiMethod was renamed to ApiContract in surety-api.

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.9.tar.gz (21.4 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.9-py3-none-any.whl (21.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: fild_api_hub-0.0.9.tar.gz
  • Upload date:
  • Size: 21.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for fild_api_hub-0.0.9.tar.gz
Algorithm Hash digest
SHA256 6d2de812cdb488b0509ddcd7e09869aa752c28db0e5eb50312609777f5207b39
MD5 adcec8b89533fcb398b2a7a5dd2468cf
BLAKE2b-256 76ba7e985ebe5cf070bd05627c2c7076e3db86296855909a4057a04ead206b4d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fild_api_hub-0.0.9-py3-none-any.whl
  • Upload date:
  • Size: 21.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for fild_api_hub-0.0.9-py3-none-any.whl
Algorithm Hash digest
SHA256 3ff776e65188866387538c4101dce7e5e74aa287ab01e6a6178542808558c4f4
MD5 a91e645c07dfd7337087c4f0ae9b07ef
BLAKE2b-256 c6d138c97fecde2f39b3f458e926fcf2418349d66fdb3ea57fd903328fd3a2a4

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