forked from mirror/gin
Add integration test using httptest
This commit is contained in:
parent
3d002e3823
commit
3a040f8550
|
@ -11,6 +11,7 @@ import (
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
|
"net/http/httptest"
|
||||||
)
|
)
|
||||||
|
|
||||||
func testRequest(t *testing.T, url string) {
|
func testRequest(t *testing.T, url string) {
|
||||||
|
@ -103,3 +104,28 @@ func TestBadUnixSocket(t *testing.T) {
|
||||||
router := New()
|
router := New()
|
||||||
assert.Error(t, router.RunUnix("#/tmp/unix_unit_test"))
|
assert.Error(t, router.RunUnix("#/tmp/unix_unit_test"))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestWithHttptestWithAutoSelectedPort(t *testing.T) {
|
||||||
|
router := New()
|
||||||
|
router.GET("/example", func(c *Context) { c.String(http.StatusOK, "it worked") })
|
||||||
|
|
||||||
|
ts := httptest.NewServer(router)
|
||||||
|
defer ts.Close()
|
||||||
|
|
||||||
|
testRequest(t, ts.URL+"/example")
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestWithHttptestWithSpecifiedPort(t *testing.T) {
|
||||||
|
router := New()
|
||||||
|
router.GET("/example", func(c *Context) { c.String(http.StatusOK, "it worked") })
|
||||||
|
|
||||||
|
l, _ := net.Listen("tcp", ":8033")
|
||||||
|
ts := httptest.Server{
|
||||||
|
Listener: l,
|
||||||
|
Config: &http.Server{Handler: router},
|
||||||
|
}
|
||||||
|
ts.Start()
|
||||||
|
defer ts.Close()
|
||||||
|
|
||||||
|
testRequest(t, "http://localhost:8033/example")
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue