modulepackage
0.0.0-20181205044648-ebf5a7eb2379
Repository: https://github.com/zzyongx/go-apitest.git
Documentation: pkg.go.dev
# README
-
Why apitest API is our promise, so we test API. The API is stable, so testing the API is the least expensive.
-
Usage ** init apitest #+BEGIN_SRC golang import ( apitest "github.com/zzyongx/go-apitest" )
var api *apitest.Api func init() { api = apitest.NewHttpTest("http://127.0.0.1:8080") } #+END_SRC
** create apitest #+BEGIN_SRC golang import ( "testing" )
func TestApiXYZ(t *testing.T) { api.Get("/static/config.json").Expect(t). Status().Eq(200). Headers().Eq("Content-Type", "application/json; charset=utf-8"). EqAny("Content-Type", "application/json", "application/json; charset=utf-8"). Exist("Content-Length").ExistAny("NotFound", "Content-Length"). Json().Eq("$.user", "zzyongx")
api.Post("/api/login").Form("user", "zzyongx").Form("password", "123456").Expect(t).
Json().Eq("$.code", 403)
var token string
oneYearAfter := time.Now().Add(365 * 24 * time.Hour)
api.Post("/api/login").Form("user", "zzyongx").Form("password", "123465").Expect(t).
Cookies("user").Value("zzyongx").Domain("example.com").Expires(time.Now(), oneYearAfter).
Cookies("token").Value("90#@xw").Domain("example.com").Expires(time.Now(), oneYearAfter).StoreValue(&token).
Json().Eq("$.code", 0)
if token != "90#@xw" {
t.Fatalf("cookie storevalue bug, expect 90#@xw, got %s", token)
}
} #+END_SRC
** run apitest
go test -failfast
- More example see [[./t/t_test.go][http]] [[https://godoc.org/github.com/zzyongx/go-apitest][apidoc]]
# Packages
No description provided by the author
# Functions
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
# Structs
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
# Type aliases
No description provided by the author
No description provided by the author