Crates.io | http-diff |
lib.rs | http-diff |
version | 0.0.5 |
source | src |
created_at | 2024-03-10 08:56:05.764651 |
updated_at | 2024-05-23 12:39:15.545555 |
description | http-diff - CLI tool to verify consistency across web server versions. Ideal for large-scale refactors, sanity tests and maintaining data integrity across versions. |
homepage | https://github.com/syte-ai/http-diff |
repository | https://github.com/syte-ai/http-diff |
max_upload_size | |
id | 1168583 |
size | 6,727,187 |
CLI tool to verify consistency across web server versions. Ideal for large-scale refactors, sanity tests and maintaining data integrity across versions.
Archives of precompiled binaries for http-diff are available for macOS and Linux on every release.
Dual-licensed under MIT or the UNLICENSE.
The tool works by looking at the configuration file that can be specified by --configuration
argument.
http-diff --configuration=./configuration.json
./configuration.json
- is the default value for this argument so it can be omitted.{
"domains": ["http://domain-a.com", "http://stage.domain-a.com"],
"endpoints": [
{
"endpoint": "/health"
},
{
"endpoint": "/api/v1/users/<userId>"
}
],
"variables": {
"userId": [123, 444]
}
}
this config will be translated to following:
GET
request will be issued to http://domain-a.com/health
and response be compared to response of GET http://stage.domain-a.com/health
.
Next endpoint /api/v1/users/<userId>
has variable defined in it - <userId>
. Anything within the brackets considered a variable name. In this case - userId
.
Variable then is looked up in the global variables property. In this case userId
has two values: 123
and 444
. This will be mapped to following requests:
GET http://domain-a.com/users/123
and compared with response from GET http://stage.domain-a.com/users/123
.GET http://domain-a.com/users/444
and compared with GET http://stage.domain-a.com/users/444
.All configuration options can be found here.
Archives are available on every release as well as .deb
files for Linux.
Autocomplete for arguments and man pages are included.
Tap the repository by running this command:
brew tap syte-ai/http-diff https://github.com/syte-ai/http-diff
and install the package:
brew install http-diff
Download .deb
file from latest release and install it using one of the commands:
sudo apt install ./path/to/http-diff.deb
or
sudo dpkg -i ./path/to/http-diff.deb
cargo run
- for developmentcargo test
- to run testscargo build -r
- to build in release mode