Skip to content
/ fetch Public

A command line http test tool. Maintain the case via git and pure text

License

Notifications You must be signed in to change notification settings

wklken/fetch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

wklkenYOUR_NAME
and
YOUR_NAME
Dec 16, 2023
cfa1ad5 Β· Dec 16, 2023
Aug 13, 2023
Nov 1, 2023
Nov 12, 2023
Nov 1, 2023
Dec 16, 2023
Aug 13, 2023
Aug 13, 2023
Jul 29, 2023
Aug 13, 2023
Aug 5, 2023
Oct 31, 2023
Nov 12, 2023
Nov 12, 2023
Nov 12, 2023
Aug 13, 2023

Repository files navigation

fetch

fetch is a lightweight and powerful API testing tool.

You can use git and yaml files to maintain all test cases.

See https://wklken.me/fetch for more information.

Installation

Binary releases

See the available binaries for different operating systems/architectures from the releases page.

go install

go install github.com/wklken/fetch@latest

hombrew

brew tap wklken/fetch
brew install fetch

docker

docker run --rm --net=host wklken/fetch help

# apple m1*/m2*
docker pull --platform=linux/amd64 wklken/fetch
docker run --rm --net=host wklken/fetch help

Build from source

  • dependencies: go1.21
git clone https://github.com/wklken/fetch.git
cd fetch
make build

Getting Started

request:
  method: get
  url: 'http://httpbin.org/get'
assert:
  status: ok
  statusCode: 200
  contentLength_gt: 180
  contentType: application/json

run

$ ./fetch run http_get.yaml

See examples for a variety of examples.

Features

  • http methods: get/post/put/delete/patch/head/options
  • build request: file/template(go template)/set cookie/basic auth/share cookie/msgpack
  • assert response:
    • status/statusCode/contentLength/contentType/body
    • latency
    • numeric support _in/_not_in/_lt/_lte/_gt/_gte
    • string support _contains/_not_contains/_startswith/_endswith
    • proto/protoMajor/protoMinor
    • redirect
    • header/cookie/error/json(jmespath)/html(xpath)/xml(xpath)/yaml/toml/redirect
  • cli:
    • progress bar
    • show stats
    • verbose mode: -v or set export FETCH_DEBUG = true
    • quiet mode: -q/--quiet to silent the print, for check $? only
    • run in order / run in parallel
    • set failFast/timeout

Feedback

If you have any feedback, please create an issue

License

Copyright (c) 2021-present wklken

Licensed under MIT License

About

A command line http test tool. Maintain the case via git and pure text

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages