Seekret's library for API testing runtime
Project description
Seekret API testing runtime
The seekret.apitest
package contains runtime functions and tools intended to ease API testing.
The seekret.apitest
package is not used directly, but is referenced within tavern tests generated by Seekret.
Quickstart
First, install tavern and seekret.apitest: pip install tavern seekret.apitest
Now, in order to run a test:
- Store one or more generated tavern tests from the Seekret website in a directory.
- Copy the configuration file you received from Seekret to the same directory.
Your test directory should look like this:
/testdir
|-- test_1.tavern.yaml
|-- test_2.tavern.yaml
|-- ...
|-- config.yaml
After your test directory is set up, run pytest --tavern-global-cfg config.yaml
.
Tavern will collect all test_*.tavern.yaml
files and run the described tests.
Understanding the configuration and generated tests
Tavern tests generated by Seekret use common variables which are expected to be set using an external configuration. This currently includes the host of the target servers and the authorization settings.
Example generated test file:
# test_1.tavern.yaml
stages:
- name: POST /user
request:
headers:
$ext:
function: seekret.apitest:add_auth_in_headers
# This section defines that the headers are extended with
# the result of the `add_auth_in_headers` function.
# The `add_auth_in_headers` function uses Seekret-format
# authorization settings defined in the configuration file
# in the "user" variable.
extra_kwargs:
auth_data: !force_format_include '{user.data}'
auth_type: '{user.type}'
json:
# Randomized body values, created during test generation.
email: jenkinsjennifer@king.com
name: vrdyin
photo: https://hernandez.biz/
method: POST
url: '{host}/user' # The "host" variable from the configuration file.
response:
save:
json:
# Later tests can use the `userId` value from this response
# by specifying this variable name.
saved_0_responseBody_userId: userId
status_code:
- 200
Example configuration file:
name: Global test configuration
description: |
Global configuration for running the tavern tests.
variables:
host: http://example.com
user:
type: bearer
data:
token: <Preconfigured API token for the test user>
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
File details
Details for the file seekret.apitest-0.1.1-py3-none-any.whl
.
File metadata
- Download URL: seekret.apitest-0.1.1-py3-none-any.whl
- Upload date:
- Size: 3.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 05cb4c0715a7a9a4a52e040f80e6db2ac5f6a865427d43f3115ad28933836f5a |
|
MD5 | 959310fdf02401af6d02b9619c75bcee |
|
BLAKE2b-256 | 9e71f448db51bd58987210f490b1e31e46f80fc4da2d0373f9d0eac863363d53 |