Added graceful shutdown
This commit is contained in:
@ -4,9 +4,11 @@ import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"io"
|
||||
"net"
|
||||
"net/http"
|
||||
"net/http/httptest"
|
||||
"strings"
|
||||
"syscall"
|
||||
"testing"
|
||||
|
||||
"git.akyoto.dev/go/assert"
|
||||
@ -121,7 +123,7 @@ func TestRouter(t *testing.T) {
|
||||
func TestPanic(t *testing.T) {
|
||||
s := server.New()
|
||||
|
||||
s.Router().Add(http.MethodGet, "/panic", func(ctx server.Context) error {
|
||||
s.Router.Add(http.MethodGet, "/panic", func(ctx server.Context) error {
|
||||
panic("Something unbelievable happened")
|
||||
})
|
||||
|
||||
@ -139,3 +141,25 @@ func TestPanic(t *testing.T) {
|
||||
s.ServeHTTP(response, request)
|
||||
})
|
||||
}
|
||||
|
||||
func TestRun(t *testing.T) {
|
||||
s := server.New()
|
||||
|
||||
go func() {
|
||||
_, err := http.Get("http://127.0.0.1:8080/")
|
||||
assert.Nil(t, err)
|
||||
err = syscall.Kill(syscall.Getpid(), syscall.SIGTERM)
|
||||
assert.Nil(t, err)
|
||||
}()
|
||||
|
||||
s.Run(":8080")
|
||||
}
|
||||
|
||||
func TestUnavailablePort(t *testing.T) {
|
||||
listener, err := net.Listen("tcp", ":8080")
|
||||
assert.Nil(t, err)
|
||||
defer listener.Close()
|
||||
|
||||
s := server.New()
|
||||
s.Run(":8080")
|
||||
}
|
||||
|
Reference in New Issue
Block a user