test.go 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. package test
  2. import (
  3. "github.com/cnlh/nps/lib/common"
  4. "github.com/cnlh/nps/lib/file"
  5. "github.com/cnlh/nps/vender/github.com/astaxie/beego"
  6. "log"
  7. "strconv"
  8. )
  9. func TestServerConfig() {
  10. var postTcpArr []int
  11. var postUdpArr []int
  12. for _, v := range file.GetCsvDb().Tasks {
  13. if v.Mode == "udpServer" {
  14. isInArr(&postUdpArr, v.Port, v.Remark, "udp")
  15. } else {
  16. isInArr(&postTcpArr, v.Port, v.Remark, "tcp")
  17. }
  18. }
  19. p, err := beego.AppConfig.Int("httpport")
  20. if err != nil {
  21. log.Fatalln("Getting web management port error :", err)
  22. } else {
  23. isInArr(&postTcpArr, p, "Web Management port", "tcp")
  24. }
  25. if p := beego.AppConfig.String("bridgePort"); p != "" {
  26. if port, err := strconv.Atoi(p); err != nil {
  27. log.Fatalln("get Server and client communication portserror:", err)
  28. } else if beego.AppConfig.String("bridgeType") == "kcp" {
  29. isInArr(&postUdpArr, port, "Server and client communication ports", "udp")
  30. } else {
  31. isInArr(&postTcpArr, port, "Server and client communication ports", "tcp")
  32. }
  33. }
  34. if p := beego.AppConfig.String("httpProxyPort"); p != "" {
  35. if port, err := strconv.Atoi(p); err != nil {
  36. log.Fatalln("get http port error:", err)
  37. } else {
  38. isInArr(&postTcpArr, port, "https port", "tcp")
  39. }
  40. }
  41. if p := beego.AppConfig.String("httpsProxyPort"); p != "" {
  42. if port, err := strconv.Atoi(p); err != nil {
  43. log.Fatalln("get https port error", err)
  44. } else {
  45. if !common.FileExists(beego.AppConfig.String("pemPath")) {
  46. log.Fatalf("ssl certFile %s is not exist", beego.AppConfig.String("pemPath"))
  47. }
  48. if !common.FileExists(beego.AppConfig.String("ketPath")) {
  49. log.Fatalf("ssl keyFile %s is not exist", beego.AppConfig.String("pemPath"))
  50. }
  51. isInArr(&postTcpArr, port, "http port", "tcp")
  52. }
  53. }
  54. }
  55. func isInArr(arr *[]int, val int, remark string, tp string) {
  56. for _, v := range *arr {
  57. if v == val {
  58. log.Fatalf("the port %d is reused,remark: %s", val, remark)
  59. }
  60. }
  61. if tp == "tcp" {
  62. if !common.TestTcpPort(val) {
  63. log.Fatalf("open the %d port error ,remark: %s", val, remark)
  64. }
  65. } else {
  66. if !common.TestUdpPort(val) {
  67. log.Fatalf("open the %d port error ,remark: %s", val, remark)
  68. }
  69. }
  70. *arr = append(*arr, val)
  71. return
  72. }