nps/server/test/test.go

78 lines
2.2 KiB
Go
Raw Normal View History

2019-02-12 19:54:00 +00:00
package test
2019-02-05 16:35:23 +00:00
import (
2019-02-09 09:07:47 +00:00
"github.com/cnlh/nps/lib/common"
"github.com/cnlh/nps/lib/file"
2019-02-16 12:43:26 +00:00
"github.com/cnlh/nps/vender/github.com/astaxie/beego"
2019-02-05 16:35:23 +00:00
"log"
"strconv"
)
func TestServerConfig() {
2019-02-09 09:07:47 +00:00
var postTcpArr []int
var postUdpArr []int
for _, v := range file.GetCsvDb().Tasks {
if v.Mode == "udp" {
2019-02-12 19:54:00 +00:00
isInArr(&postUdpArr, v.Port, v.Remark, "udp")
2019-02-09 09:07:47 +00:00
} else {
2019-02-12 19:54:00 +00:00
isInArr(&postTcpArr, v.Port, v.Remark, "tcp")
2019-02-09 09:07:47 +00:00
}
2019-02-05 16:35:23 +00:00
}
2019-03-05 01:23:18 +00:00
p, err := beego.AppConfig.Int("web_port")
2019-02-05 16:35:23 +00:00
if err != nil {
log.Fatalln("Getting web management port error :", err)
} else {
2019-02-09 09:07:47 +00:00
isInArr(&postTcpArr, p, "Web Management port", "tcp")
}
2019-03-05 01:23:18 +00:00
if p := beego.AppConfig.String("bridge_port"); p != "" {
2019-02-09 09:07:47 +00:00
if port, err := strconv.Atoi(p); err != nil {
log.Fatalln("get Server and client communication portserror:", err)
2019-03-05 01:23:18 +00:00
} else if beego.AppConfig.String("bridge_type") == "kcp" {
2019-02-09 09:07:47 +00:00
isInArr(&postUdpArr, port, "Server and client communication ports", "udp")
} else {
isInArr(&postTcpArr, port, "Server and client communication ports", "tcp")
}
2019-02-05 16:35:23 +00:00
}
2019-02-09 09:07:47 +00:00
2019-02-05 16:35:23 +00:00
if p := beego.AppConfig.String("httpProxyPort"); p != "" {
if port, err := strconv.Atoi(p); err != nil {
log.Fatalln("get http port error:", err)
} else {
2019-02-09 09:07:47 +00:00
isInArr(&postTcpArr, port, "https port", "tcp")
2019-02-05 16:35:23 +00:00
}
}
2019-03-05 01:23:18 +00:00
if p := beego.AppConfig.String("https_proxy_port"); p != "" {
2019-02-05 16:35:23 +00:00
if port, err := strconv.Atoi(p); err != nil {
log.Fatalln("get https port error", err)
} else {
2019-02-09 09:07:47 +00:00
if !common.FileExists(beego.AppConfig.String("pemPath")) {
2019-02-05 16:35:23 +00:00
log.Fatalf("ssl certFile %s is not exist", beego.AppConfig.String("pemPath"))
}
2019-02-09 09:07:47 +00:00
if !common.FileExists(beego.AppConfig.String("ketPath")) {
2019-02-05 16:35:23 +00:00
log.Fatalf("ssl keyFile %s is not exist", beego.AppConfig.String("pemPath"))
}
2019-02-09 09:07:47 +00:00
isInArr(&postTcpArr, port, "http port", "tcp")
2019-02-05 16:35:23 +00:00
}
}
}
2019-02-09 09:07:47 +00:00
func isInArr(arr *[]int, val int, remark string, tp string) {
2019-02-05 16:35:23 +00:00
for _, v := range *arr {
if v == val {
log.Fatalf("the port %d is reused,remark: %s", val, remark)
}
}
2019-02-09 09:07:47 +00:00
if tp == "tcp" {
if !common.TestTcpPort(val) {
log.Fatalf("open the %d port error ,remark: %s", val, remark)
}
} else {
if !common.TestUdpPort(val) {
log.Fatalf("open the %d port error ,remark: %s", val, remark)
}
2019-02-05 16:35:23 +00:00
}
*arr = append(*arr, val)
return
}