refactor: remove duplicated of init code. (#579)
This commit is contained in:
parent
05bc48cba6
commit
9b918839b8
3
go.mod
3
go.mod
|
@ -27,8 +27,9 @@ require (
|
|||
github.com/thoas/stats v0.0.0-20190407194641-965cb2de1678
|
||||
github.com/tidwall/buntdb v1.2.0
|
||||
golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2
|
||||
golang.org/x/net v0.0.0-20210326220855-61e056675ecf
|
||||
golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4
|
||||
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c
|
||||
golang.org/x/sys v0.0.0-20210510120138-977fb7262007 // indirect
|
||||
google.golang.org/grpc v1.36.1
|
||||
google.golang.org/protobuf v1.26.0
|
||||
)
|
||||
|
|
9
go.sum
9
go.sum
|
@ -560,8 +560,8 @@ golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLL
|
|||
golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
|
||||
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
|
||||
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
|
||||
golang.org/x/net v0.0.0-20210326220855-61e056675ecf h1:WUcCxqQqDT0aXO4VnQbfMvp4zh7m1Gb2clVuHUAGGRE=
|
||||
golang.org/x/net v0.0.0-20210326220855-61e056675ecf/go.mod h1:uSPa2vr4CLtc/ILN5odXGNXS6mhrKVzTaCXzk9m6W3k=
|
||||
golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4 h1:4nGaVu0QrbjT/AK2PRLuQfQuh6DJve+pELhqTdAj3x0=
|
||||
golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
|
||||
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
|
||||
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
|
||||
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
|
||||
|
@ -610,8 +610,9 @@ golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7w
|
|||
golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210309074719-68d13333faf2/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210324051608-47abb6519492 h1:Paq34FxTluEPvVyayQqMPgHm+vTOrIifmcYxFBx9TLg=
|
||||
golang.org/x/sys v0.0.0-20210324051608-47abb6519492/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210510120138-977fb7262007 h1:gG67DSER+11cZvqIMb8S8bt0vZtiN6xWYARwirrOSfE=
|
||||
golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||
|
|
|
@ -0,0 +1,33 @@
|
|||
package gorush
|
||||
|
||||
import (
|
||||
"context"
|
||||
"log"
|
||||
"sync"
|
||||
"testing"
|
||||
|
||||
"github.com/appleboy/gorush/config"
|
||||
)
|
||||
|
||||
func TestMain(m *testing.M) {
|
||||
PushConf, _ = config.LoadConf("")
|
||||
if err := InitLog(); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
ctx, cancel := context.WithCancel(context.Background())
|
||||
wg := &sync.WaitGroup{}
|
||||
wg.Add(int(PushConf.Core.WorkerNum))
|
||||
InitWorkers(ctx, wg, PushConf.Core.WorkerNum, PushConf.Core.QueueNum)
|
||||
|
||||
if err := InitAppStatus(); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
defer func() {
|
||||
close(QueueNotification)
|
||||
cancel()
|
||||
}()
|
||||
|
||||
m.Run()
|
||||
}
|
|
@ -1,10 +1,7 @@
|
|||
package gorush
|
||||
|
||||
import (
|
||||
"context"
|
||||
"log"
|
||||
"os"
|
||||
"sync"
|
||||
"testing"
|
||||
|
||||
"github.com/appleboy/go-fcm"
|
||||
|
@ -12,22 +9,6 @@ import (
|
|||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
func init() {
|
||||
PushConf, _ = config.LoadConf("")
|
||||
if err := InitLog(); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
ctx := context.Background()
|
||||
wg := &sync.WaitGroup{}
|
||||
wg.Add(int(PushConf.Core.WorkerNum))
|
||||
InitWorkers(ctx, wg, PushConf.Core.WorkerNum, PushConf.Core.QueueNum)
|
||||
|
||||
if err := InitAppStatus(); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestMissingAndroidAPIKey(t *testing.T) {
|
||||
PushConf, _ = config.LoadConf("")
|
||||
|
||||
|
|
|
@ -1,31 +1,12 @@
|
|||
package gorush
|
||||
|
||||
import (
|
||||
"context"
|
||||
"log"
|
||||
"sync"
|
||||
"testing"
|
||||
|
||||
"github.com/appleboy/gorush/config"
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
func init() {
|
||||
PushConf, _ = config.LoadConf("")
|
||||
if err := InitLog(); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
ctx := context.Background()
|
||||
wg := &sync.WaitGroup{}
|
||||
wg.Add(int(PushConf.Core.WorkerNum))
|
||||
InitWorkers(ctx, wg, PushConf.Core.WorkerNum, PushConf.Core.QueueNum)
|
||||
|
||||
if err := InitAppStatus(); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestMissingHuaweiAppSecret(t *testing.T) {
|
||||
PushConf, _ = config.LoadConf("")
|
||||
|
||||
|
|
|
@ -14,15 +14,21 @@ import (
|
|||
)
|
||||
|
||||
// RunHTTPServer provide run http or https protocol.
|
||||
func RunHTTPServer(ctx context.Context) (err error) {
|
||||
func RunHTTPServer(ctx context.Context, s ...*http.Server) (err error) {
|
||||
var server *http.Server
|
||||
|
||||
if !PushConf.Core.Enabled {
|
||||
LogAccess.Info("httpd server is disabled.")
|
||||
return nil
|
||||
}
|
||||
|
||||
server := &http.Server{
|
||||
Addr: PushConf.Core.Address + ":" + PushConf.Core.Port,
|
||||
Handler: routerEngine(),
|
||||
if len(s) == 0 {
|
||||
server = &http.Server{
|
||||
Addr: PushConf.Core.Address + ":" + PushConf.Core.Port,
|
||||
Handler: routerEngine(),
|
||||
}
|
||||
} else {
|
||||
server = s[0]
|
||||
}
|
||||
|
||||
LogAccess.Info("HTTPD server is running on " + PushConf.Core.Port + " port.")
|
||||
|
|
|
@ -63,8 +63,14 @@ func TestRunNormalServer(t *testing.T) {
|
|||
|
||||
gin.SetMode(gin.TestMode)
|
||||
|
||||
ctx, cancel := context.WithCancel(context.Background())
|
||||
go func() {
|
||||
assert.NoError(t, RunHTTPServer(context.Background()))
|
||||
assert.NoError(t, RunHTTPServer(ctx))
|
||||
}()
|
||||
|
||||
defer func() {
|
||||
// close the server
|
||||
cancel()
|
||||
}()
|
||||
// have to wait for the goroutine to start and run the server
|
||||
// otherwise the main thread will complete
|
||||
|
@ -81,8 +87,14 @@ func TestRunTLSServer(t *testing.T) {
|
|||
PushConf.Core.CertPath = "../certificate/localhost.cert"
|
||||
PushConf.Core.KeyPath = "../certificate/localhost.key"
|
||||
|
||||
ctx, cancel := context.WithCancel(context.Background())
|
||||
go func() {
|
||||
assert.NoError(t, RunHTTPServer(context.Background()))
|
||||
assert.NoError(t, RunHTTPServer(ctx))
|
||||
}()
|
||||
|
||||
defer func() {
|
||||
// close the server
|
||||
cancel()
|
||||
}()
|
||||
// have to wait for the goroutine to start and run the server
|
||||
// otherwise the main thread will complete
|
||||
|
@ -103,8 +115,14 @@ func TestRunTLSBase64Server(t *testing.T) {
|
|||
PushConf.Core.CertBase64 = cert
|
||||
PushConf.Core.KeyBase64 = key
|
||||
|
||||
ctx, cancel := context.WithCancel(context.Background())
|
||||
go func() {
|
||||
assert.NoError(t, RunHTTPServer(context.Background()))
|
||||
assert.NoError(t, RunHTTPServer(ctx))
|
||||
}()
|
||||
|
||||
defer func() {
|
||||
// close the server
|
||||
cancel()
|
||||
}()
|
||||
// have to wait for the goroutine to start and run the server
|
||||
// otherwise the main thread will complete
|
||||
|
@ -116,8 +134,14 @@ func TestRunTLSBase64Server(t *testing.T) {
|
|||
func TestRunAutoTLSServer(t *testing.T) {
|
||||
initTest()
|
||||
PushConf.Core.AutoTLS.Enabled = true
|
||||
ctx, cancel := context.WithCancel(context.Background())
|
||||
go func() {
|
||||
assert.NoError(t, RunHTTPServer(context.Background()))
|
||||
assert.NoError(t, RunHTTPServer(ctx))
|
||||
}()
|
||||
|
||||
defer func() {
|
||||
// close the server
|
||||
cancel()
|
||||
}()
|
||||
// have to wait for the goroutine to start and run the server
|
||||
// otherwise the main thread will complete
|
||||
|
|
Loading…
Reference in New Issue