Crates.io | testroute |
lib.rs | testroute |
version | 1.0.0 |
source | src |
created_at | 2024-08-19 20:25:09.209837 |
updated_at | 2024-08-25 16:24:25.029982 |
description | Create an easy mock HTTP server with a route for your frontend or anything |
homepage | https://github.com/cherryramatisdev/testroute |
repository | https://github.com/cherryramatisdev/testroute |
max_upload_size | |
id | 1344409 |
size | 147,793 |
A project to create test http routes for your closest frontend or backend.
Did you ever want a mock http server to test your front end or whatever? TestRoute will help you next time!
You run the command:
testroute
You answer some questions:
> What is the path of your route? /api/user/4
> What HTTP method should listen to? GET
> What should be the response HTTP status? 200
> What should be the response? (Write a file path or leave empty for none) ./response.json
> There's any delay that you want on the route? (in seconds) 5
The server is up and ready to handle your requests!
Server is running on http://localhost:9999
Available routes:
GET /api/users/4 - Status: 200
/user/:id
)First, you need to install TestRoute:
cargo install testroute
Installing it via Cargo is the only way now, but the prebuilt binaries are coming soon.
TestRoute aims to make your life easier by being friendly and on point.
To start using it you just need to run the following command:
testroute
You can define a set of mock routes in a file and TestRoute will serve it to you.
Create a .http
file and copy the text below into it.
GET /foo 200
Delay=1
{
"foo": true
}
POST /bar 400
{
"bar": true,
"message": "Back end with JS not allowed :p"
}
GET /api/users/:id 200
{
"hello": "world!"
}
Run this command:
testroute --import path/to/routes.http
Want to create an automation with TestRoute? You can!
testroute -h
-p --path
to specify the route-m --method
to set the http method-s --status
to define the response status code-r --response
to specify the response body-d --delay
to simulate a latency (seconds)-i --import
to import the configuration file-h --help
to print the help menu-V --version
to print the versionSetting all the flags:
testroute -p /api/users -m GET -s 200 -d 0 -r ""
# testroute --path /api/users --method GET --status 200 --delay 0 --response ""
Predefining route and method, finishing interactively:
testroute -p /api/users/:id -m GET
# GET http://localhost:9999/api/users/1234 should work
# and http://localhost:9999/api/users/whatever as well
Executing a set of routes in a file:
testroute --import mock-routes.http
Feel free to contribute, opening an issue to report a bug or suggesting a CLI change, an improvement or a new feature.