Software 'r2' is designed to record and replay responses (to mock) from REST API services
Project description
r2 (Record2Replay)
Record2Replay is simple tool to record your requests on specific target and later replay it to automate your daily tasks
Note: This version is still Work In Progress. Record/Replay function should work with no problems, but it is lack of features.
TLDR;
# install
pip install r2
# record responses from another service
r2 record http://api.plos.org
# or record on the custom name 'api_plos'
r2 record http://api.plos.org --package api_plos
Go to your browser and type:
localhost:5000/search?q=title:DNA
in your home directory, all response will be saved at
~/.r2/packages/default/*
# to replay packages
r2 replay
# or to replay a custom package 'api_plos'
r2 replay --package api_plos
TODO
Note: This is partly implemented with 0.2 version.
-
Implement an option to parse arguments ex
http://127.0.0.1:5000/search?q=title:DNA
. Actual version will pass everything on the right side of the?
and save a file undersearch
. -
Add a support for more than one package
Installation
You can install a r2
software using a python package manager or build it from source code:
from pip
r2
is available thru pip
, to install type pip install r2
from source
Go into src
directory of source, and type python setup.py sdist bdist_wheel && cd dist && pip install r2*.whl
Replay files
Replay files store base information about the response, from the service.
Actual support:
- json response
Future upgrade:
- raw response
- additional status codes
- additional information from headers
Logs files
All logs are stored at ~/.r2/logs
directory with filenames r2_record_2020_08_04T18_06_02_050068
where (r2_[action_type]_[isoformat_time]
).
Format change v0.1 to v0.2
Since version v0.2, r2
presents a new format to store response information from the services.
Before v0.2 all response was stored as a raw text in the file. Now, the Response is packed:
Example:
- Before:
{"test": "test_body"}
- Now:
{
"data_id": "test\endpoint",
"actions": [
{"arguments": {},
"response": {
"test": "test_body"}
}]
}
This approach allow us to store different information for whole range of arguments deliver thru the URL.
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
Built Distribution
File details
Details for the file r2-0.4.2.tar.gz
.
File metadata
- Download URL: r2-0.4.2.tar.gz
- Upload date:
- Size: 10.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.8.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f52ccc686be66d561a7d312132c9188aa38e4a4635095b3ccf0f2f7ed221f814 |
|
MD5 | 4f09de58c9cfd3a0e015156e251ba1c8 |
|
BLAKE2b-256 | e7e4fcb8ced781ec1995f33f1d0fc976e7d39dee3d7eb385b05806e4f85f28b2 |
File details
Details for the file r2-0.4.2-py3-none-any.whl
.
File metadata
- Download URL: r2-0.4.2-py3-none-any.whl
- Upload date:
- Size: 12.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.8.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e14227bee142e99e5eef2215377e178a6c8754fa8e69078985d4fb1652df64d2 |
|
MD5 | de23418c3542c4a361a470e7e5b7e572 |
|
BLAKE2b-256 | a5e1c2070958149010f7f0f0b226f5c3bd6693f3283fc9d0fed96d0ece651efa |