diff --git a/.travis.yml b/.travis.yml index d0546a8..1abe267 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,6 +6,9 @@ go: - 1.9 - tip +before_script: + - openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout key.pem -out cert.pem -subj '/CN=localhost' + script: - go get golang.org/x/tools/cmd/cover - go get github.com/mattn/goveralls diff --git a/engine_test.go b/engine_test.go index d37b26d..3fd074f 100644 --- a/engine_test.go +++ b/engine_test.go @@ -9,6 +9,7 @@ import ( "io/ioutil" "github.com/stretchr/testify/assert" + "time" ) type errorTester struct{} @@ -109,3 +110,24 @@ func TestEngineFileServe(t *testing.T) { assert.Equal(t, http.StatusNotFound, resp3.Code) } + +func TestEngineListenAndServe(t *testing.T) { + e := newEngineTest() + var err error + var errTLS error + + go func () { + err = e.ListenAndServe(":1234") + }() + + go func() { + errTLS = e.ListenAndServeTLS(":12345", "cert.pem", "key.pem") + }() + + + // wait for ListenAndServe to run + time.Sleep(time.Millisecond * 300) + + assert.NoError(t, err) + assert.NoError(t, errTLS) +} \ No newline at end of file