Skip to main content

Provides testing for JSON APIs with Behave

Project description

Build Status Version

Provides testing for JSON APIs with Behave [1]

Requires Python 3.11 or newer.

Installation

uv add behave-web-api

Import steps in your features/steps/__init__.py

from behave_web_api.steps import *

So you can use the steps in your feature files

Feature: Doing http requests

  Scenario: Send text body and headers
    Given I set header "X-My-Header" with value "Something"
    And I set header "Content-Type" with value "application/json"
    When I send a POST request to "/requests/echo" with body:
    """
    {
        "a": 1,
        "b": "",
        "c": "0101",
        "d": "[01]+"
    }
    """
    Then the response code should be 200
    And the response should contain json:
    """
        {
            "headers": {
                "X-My-Header": "Something"
            },
            "body": {
                "a": "<is_number>",
                "b": "%.*%",
                "c": "%[01]+%",
                "d": "[01]+"
            }
        }
    """

  Scenario: Send file using variables and environment variables
    Given I set the variable "DATA_DIR" with value "$PWD/features/data"
    And I attach the file "$DATA_DIR/favicon.ico" as "upload"
    When I send a POST request to "/requests/echo"
    Then the response code should be 200
    And print response

And run using BASE_URL environment variable:

BASE_URL=localhost:5000 behave features/requests.feature

Available Steps

  • Given I set variable “{}” with value “{}”

  • Given I set header “{}” with value “{}”

  • Given I attach the file “{}” as “{}”

  • When I send a {} request to “{}” with body:

  • When I send a {} request to “{}” with values:

  • When I send a {} request to “{}”

  • Then the response code should be {}

  • Then the response should contain json:

  • Then the response should contain text:

  • Then print response

Acknowledgments

The REST steps are based on Behat WebApiExtension [2]

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

behave_web_api-2.4.0.tar.gz (9.2 kB view details)

Uploaded Source

Built Distribution

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

behave_web_api-2.4.0-py3-none-any.whl (7.5 kB view details)

Uploaded Python 3

File details

Details for the file behave_web_api-2.4.0.tar.gz.

File metadata

  • Download URL: behave_web_api-2.4.0.tar.gz
  • Upload date:
  • Size: 9.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for behave_web_api-2.4.0.tar.gz
Algorithm Hash digest
SHA256 17ffc90679cf7e68523df0253ff78f345afc1e000a9e8fbeb13597a348c7e761
MD5 520ac21fb05fd731a749523b7ce12949
BLAKE2b-256 697034c065582683054c6ceedcc5bd9c315ecf6e6813f30cf70ca3526a585553

See more details on using hashes here.

File details

Details for the file behave_web_api-2.4.0-py3-none-any.whl.

File metadata

  • Download URL: behave_web_api-2.4.0-py3-none-any.whl
  • Upload date:
  • Size: 7.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for behave_web_api-2.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 768f43f83feb03189802e9219df505cae00148c4b8e4b38f9e72e14e32e1e9f8
MD5 05ac0d4b40fd5c04e0dd5e055ee6d898
BLAKE2b-256 8d2d3a074dcd879a45d0f2a19e886e938964602df7e7146133d8a2e1aad14a9f

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