nps/server/test.go

55 lines
1.4 KiB
Go
Raw Normal View History

2019-02-05 16:35:23 +00:00
package server
import (
"github.com/astaxie/beego"
"github.com/cnlh/nps/lib"
"log"
"strconv"
)
func TestServerConfig() {
var postArr []int
for _, v := range lib.GetCsvDb().Tasks {
isInArr(&postArr, v.TcpPort, v.Remark)
}
p, err := beego.AppConfig.Int("httpport")
if err != nil {
log.Fatalln("Getting web management port error :", err)
} else {
isInArr(&postArr, p, "WebmManagement port")
}
if p := beego.AppConfig.String("httpProxyPort"); p != "" {
if port, err := strconv.Atoi(p); err != nil {
log.Fatalln("get http port error:", err)
} else {
isInArr(&postArr, port, "https port")
}
}
if p := beego.AppConfig.String("httpsProxyPort"); p != "" {
if port, err := strconv.Atoi(p); err != nil {
log.Fatalln("get https port error", err)
} else {
if !lib.FileExists(beego.AppConfig.String("pemPath")) {
log.Fatalf("ssl certFile %s is not exist", beego.AppConfig.String("pemPath"))
}
if !lib.FileExists(beego.AppConfig.String("ketPath")) {
log.Fatalf("ssl keyFile %s is not exist", beego.AppConfig.String("pemPath"))
}
isInArr(&postArr, port, "http port")
}
}
}
func isInArr(arr *[]int, val int, remark string) {
for _, v := range *arr {
if v == val {
log.Fatalf("the port %d is reused,remark: %s", val, remark)
}
}
if !lib.TestTcpPort(val) {
log.Fatalf("open the %d port error ,remark: %s", val, remark)
}
*arr = append(*arr, val)
return
}