Add tls and normal server listen testing.
Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
This commit is contained in:
parent
fa22f2c655
commit
518e7301cd
|
@ -28,6 +28,4 @@ key.pem
|
||||||
config.yaml
|
config.yaml
|
||||||
bin/*
|
bin/*
|
||||||
.DS_Store
|
.DS_Store
|
||||||
*.cert
|
|
||||||
*.key
|
|
||||||
coverage.out
|
coverage.out
|
||||||
|
|
|
@ -0,0 +1,18 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIIC+zCCAeOgAwIBAgIJALbZEDvUQrFKMA0GCSqGSIb3DQEBBQUAMBQxEjAQBgNV
|
||||||
|
BAMMCWxvY2FsaG9zdDAeFw0xNjAzMjgwMzMwNDFaFw0yNjAzMjYwMzMwNDFaMBQx
|
||||||
|
EjAQBgNVBAMMCWxvY2FsaG9zdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
|
||||||
|
ggEBAMj1+xg4jVLzVnB5j7n1ul30WEE4BCzcNFxg5AOB5H5q+wje0YYiVFg6PQyv
|
||||||
|
GCipqIRXVRdVQ1hHSeunYGKe8lq3Sb1X8PUJ12v9uRbpS9DK1Owqk8rsPDu6sVTL
|
||||||
|
qKKgH1Z8yazzaS0AbXuA5e9gO/RzijbnpEP+quM4dueiMPVEJyLq+EoIQY+MM8MP
|
||||||
|
8dZzL4XZl7wL4UsCN7rPcO6W3tlnT0iO3h9c/Ym2hFhz+KNJ9KRRCvtPGZESigtK
|
||||||
|
bHsXH099WDo8v/Wp5/evBw/+JD0opxmCfHIBALHt9v53RvvsDZ1t33Rpu5C8znEY
|
||||||
|
Y2Ay7NgxhqjqoWJqA48lJeA0clsCAwEAAaNQME4wHQYDVR0OBBYEFC0bTU1Xofeh
|
||||||
|
NKIelashIsqKidDYMB8GA1UdIwQYMBaAFC0bTU1XofehNKIelashIsqKidDYMAwG
|
||||||
|
A1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAAiJL8IMTwNX9XqQWYDFgkG4
|
||||||
|
AnrVwQhreAqC9rSxDCjqqnMHPHGzcCeDMLAMoh0kOy20nowUGNtCZ0uBvnX2q1bN
|
||||||
|
g1jt+GBcLJDR3LL4CpNOlm3YhOycuNfWMxTA7BXkmnSrZD/7KhArsBEY8aulxwKJ
|
||||||
|
HRgNlIwe1oFD1YdX1BS5pp4t25B6Vq4A3FMMUkVoWE688nE168hvQgwjrHkgHhwe
|
||||||
|
eN8lGE2DhFraXnWmDMdwaHD3HRFGhyppIFN+f7BqbWX9gM+T2YRTfObIXLWbqJLD
|
||||||
|
3Mk/NkxqVcg4eY54wJ1ufCUGAYAIaY6fQqiNUz8nhwK3t45NBVT9y/uJXqnTLyY=
|
||||||
|
-----END CERTIFICATE-----
|
|
@ -0,0 +1,27 @@
|
||||||
|
-----BEGIN RSA PRIVATE KEY-----
|
||||||
|
MIIEogIBAAKCAQEAyPX7GDiNUvNWcHmPufW6XfRYQTgELNw0XGDkA4Hkfmr7CN7R
|
||||||
|
hiJUWDo9DK8YKKmohFdVF1VDWEdJ66dgYp7yWrdJvVfw9QnXa/25FulL0MrU7CqT
|
||||||
|
yuw8O7qxVMuooqAfVnzJrPNpLQBte4Dl72A79HOKNuekQ/6q4zh256Iw9UQnIur4
|
||||||
|
SghBj4wzww/x1nMvhdmXvAvhSwI3us9w7pbe2WdPSI7eH1z9ibaEWHP4o0n0pFEK
|
||||||
|
+08ZkRKKC0psexcfT31YOjy/9ann968HD/4kPSinGYJ8cgEAse32/ndG++wNnW3f
|
||||||
|
dGm7kLzOcRhjYDLs2DGGqOqhYmoDjyUl4DRyWwIDAQABAoIBAGTKqsN9KbSfA42q
|
||||||
|
CqI0UuLouJMNa1qsnz5uAi6YKWgWdA4A44mpEjCmFRSVhUJvxWuK+cyYIQzXxIWD
|
||||||
|
D16nZdqF72AeCWZ9JySsvvZ00GfKM3y35iRy08sJWgOzmcLnGJCiSeyKsQe3HTJC
|
||||||
|
dhDXbXqvsHTVPZg01LTeDxUiTffU8NMKqR2AecQ2sTDwXEhAnTyAtnzl/XaBgFzu
|
||||||
|
U6G7FzGM5y9bxkfQVkvy+DEJkHGNOjzwcVfByyVl610ixmG1vmxVj9PbWmIPsUV8
|
||||||
|
ySmjhvDQbOfoxW0h9vTlTqGtQcBw962osnDDMWFCdM7lzO0T7RRnPVGIRpCJOKhq
|
||||||
|
keqHKwECgYEA8wwI/iZughoTXTNG9LnQQ/WAtsqO80EjMTUheo5I1kOzmUz09pyh
|
||||||
|
iAsUDoN0/26tZ5WNjlnyZu7dvTc/x3dTZpmNnoo8gcVbQNECDRzqfuQ9PPXm1SN5
|
||||||
|
6peBqAvBv78hjV05aXzPG/VBbeig7l299EarEA+a/oH3KrgDoqVqE0ECgYEA06vA
|
||||||
|
YJmgg4fZRucAYoaYsLz9Z9rCFjTe1PBTmUJkbOR8vFIHHTTEWi/SuxXL0wDSeoE2
|
||||||
|
7BQm86gCC7/KgRdrzoBqZ5qS9Mv2dsLgY635VSgjjfZkVLiH1VRRpSQObYnfoysg
|
||||||
|
gatcHSKMExd4SLQByAuImXP+L5ayDBcEJfbqSpsCgYB78Is1b0uzNLDjOh7Y9Vhr
|
||||||
|
D2qPzEORcIoNsdZctOoXuXaAmmngyIbm5R9ZN1gWWc47oFwLV3rxWqXgs6fmg8cX
|
||||||
|
7v309vFcC9Q4/Vxaa4B5LNK9n3gTAIBPTOtlUnl+2my1tfBtBqRm0W6IKbTHWS5g
|
||||||
|
vxjEm/CiEIyGUEgqTMgHAQKBgBKuXdQoutng63QufwIzDtbKVzMLQ4XiNKhmbXph
|
||||||
|
OavCnp+gPbB+L7Yl8ltAmTSOJgVZ0hcT0DxA361Zx+2Mu58GBl4OblnchmwE1vj1
|
||||||
|
KcQyPrEQxdoUTyiswGfqvrs8J9imvb+z9/U6T1KAB8Wi3WViXzPr4MsiaaRXg642
|
||||||
|
FIdxAoGAZ7/735dkhJcyOfs+LKsLr68JSstoorXOYvdMu1+JGa9iLuhnHEcMVWC8
|
||||||
|
IuihzPfloZtMbGYkZJn8l3BeGd8hmfFtgTgZGPoVRetft2LDFLnPxp2sEH5OFLsQ
|
||||||
|
R+K/kAOul8eStWuMXOFA9pMzGkGEgIFJMJOyaJON3kedQI8deCM=
|
||||||
|
-----END RSA PRIVATE KEY-----
|
|
@ -56,10 +56,13 @@ func GetMainEngine() *gin.Engine {
|
||||||
return r
|
return r
|
||||||
}
|
}
|
||||||
|
|
||||||
func RunHTTPServer() {
|
func RunHTTPServer() error {
|
||||||
|
var err error
|
||||||
if PushConf.Core.SSL && PushConf.Core.CertPath != "" && PushConf.Core.KeyPath != "" {
|
if PushConf.Core.SSL && PushConf.Core.CertPath != "" && PushConf.Core.KeyPath != "" {
|
||||||
GetMainEngine().RunTLS(":"+PushConf.Core.Port, PushConf.Core.CertPath, PushConf.Core.KeyPath)
|
err = GetMainEngine().RunTLS(":"+PushConf.Core.Port, PushConf.Core.CertPath, PushConf.Core.KeyPath)
|
||||||
} else {
|
} else {
|
||||||
GetMainEngine().Run(":" + PushConf.Core.Port)
|
err = GetMainEngine().Run(":" + PushConf.Core.Port)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return err
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,11 +3,14 @@ package gopush
|
||||||
import (
|
import (
|
||||||
"github.com/appleboy/gofight"
|
"github.com/appleboy/gofight"
|
||||||
"github.com/buger/jsonparser"
|
"github.com/buger/jsonparser"
|
||||||
|
"github.com/gin-gonic/gin"
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
|
"io/ioutil"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
"os"
|
||||||
"runtime"
|
"runtime"
|
||||||
"testing"
|
"testing"
|
||||||
"os"
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
var go_version = runtime.Version()
|
var go_version = runtime.Version()
|
||||||
|
@ -17,10 +20,56 @@ func initTest() {
|
||||||
PushConf.Core.Mode = "test"
|
PushConf.Core.Mode = "test"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func testRequest(t *testing.T, url string) {
|
||||||
|
resp, err := http.Get(url)
|
||||||
|
defer resp.Body.Close()
|
||||||
|
assert.NoError(t, err)
|
||||||
|
|
||||||
|
_, ioerr := ioutil.ReadAll(resp.Body)
|
||||||
|
assert.NoError(t, ioerr)
|
||||||
|
assert.Equal(t, "200 OK", resp.Status, "should get a 200")
|
||||||
|
}
|
||||||
|
|
||||||
func TestPrintGoPushVersion(t *testing.T) {
|
func TestPrintGoPushVersion(t *testing.T) {
|
||||||
PrintGoPushVersion()
|
PrintGoPushVersion()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestRunNormalServer(t *testing.T) {
|
||||||
|
initTest()
|
||||||
|
|
||||||
|
router := gin.New()
|
||||||
|
|
||||||
|
go func() {
|
||||||
|
assert.NoError(t, RunHTTPServer())
|
||||||
|
}()
|
||||||
|
// have to wait for the goroutine to start and run the server
|
||||||
|
// otherwise the main thread will complete
|
||||||
|
time.Sleep(5 * time.Millisecond)
|
||||||
|
|
||||||
|
assert.Error(t, router.Run(":8088"))
|
||||||
|
testRequest(t, "http://localhost:8088/api/status")
|
||||||
|
}
|
||||||
|
|
||||||
|
// func TestRunTLSServer(t *testing.T) {
|
||||||
|
// initTest()
|
||||||
|
|
||||||
|
// PushConf.Core.SSL = true
|
||||||
|
// PushConf.Core.Port = "8087"
|
||||||
|
// PushConf.Core.CertPath = "../certificate/localhost.cert"
|
||||||
|
// PushConf.Core.KeyPath = "../certificate/localhost.key"
|
||||||
|
// router := gin.New()
|
||||||
|
|
||||||
|
// go func() {
|
||||||
|
// assert.NoError(t, RunHTTPServer())
|
||||||
|
// }()
|
||||||
|
// // have to wait for the goroutine to start and run the server
|
||||||
|
// // otherwise the main thread will complete
|
||||||
|
// time.Sleep(5 * time.Millisecond)
|
||||||
|
|
||||||
|
// assert.Error(t, router.Run(":8087"))
|
||||||
|
// testRequest(t, "https://localhost:8087/api/status")
|
||||||
|
// }
|
||||||
|
|
||||||
func TestRootHandler(t *testing.T) {
|
func TestRootHandler(t *testing.T) {
|
||||||
initTest()
|
initTest()
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue