Test success case of using WaitForPort func.

This commit is contained in:
Arseny Balobanov 2020-02-15 22:56:46 +03:00
parent 37e262c88d
commit aa7c9ae7c5

View file

@ -2,6 +2,10 @@ package testtool
import (
"context"
"net"
"net/http"
"net/http/httptest"
"net/url"
"testing"
"time"
@ -15,6 +19,23 @@ func TestGetFreePort(t *testing.T) {
}
func TestWaitForPort(t *testing.T) {
s := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {}))
defer s.Close()
u, err := url.Parse(s.URL)
require.Nil(t, err)
_, port, err := net.SplitHostPort(u.Host)
require.Nil(t, err)
ctx, cancel := context.WithTimeout(context.Background(), time.Second)
defer cancel()
WaitForPort(ctx, port)
require.NoError(t, ctx.Err())
}
func TestWaitForPort_timeout(t *testing.T) {
p, err := GetFreePort()
require.NoError(t, err)