test.go 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. package server
  2. import (
  3. "github.com/astaxie/beego"
  4. "github.com/cnlh/nps/lib"
  5. "log"
  6. "strconv"
  7. )
  8. func TestServerConfig() {
  9. var postArr []int
  10. for _, v := range lib.GetCsvDb().Tasks {
  11. isInArr(&postArr, v.TcpPort, v.Remark)
  12. }
  13. p, err := beego.AppConfig.Int("httpport")
  14. if err != nil {
  15. log.Fatalln("Getting web management port error :", err)
  16. } else {
  17. isInArr(&postArr, p, "WebmManagement port")
  18. }
  19. if p := beego.AppConfig.String("httpProxyPort"); p != "" {
  20. if port, err := strconv.Atoi(p); err != nil {
  21. log.Fatalln("get http port error:", err)
  22. } else {
  23. isInArr(&postArr, port, "https port")
  24. }
  25. }
  26. if p := beego.AppConfig.String("httpsProxyPort"); p != "" {
  27. if port, err := strconv.Atoi(p); err != nil {
  28. log.Fatalln("get https port error", err)
  29. } else {
  30. if !lib.FileExists(beego.AppConfig.String("pemPath")) {
  31. log.Fatalf("ssl certFile %s is not exist", beego.AppConfig.String("pemPath"))
  32. }
  33. if !lib.FileExists(beego.AppConfig.String("ketPath")) {
  34. log.Fatalf("ssl keyFile %s is not exist", beego.AppConfig.String("pemPath"))
  35. }
  36. isInArr(&postArr, port, "http port")
  37. }
  38. }
  39. }
  40. func isInArr(arr *[]int, val int, remark string) {
  41. for _, v := range *arr {
  42. if v == val {
  43. log.Fatalf("the port %d is reused,remark: %s", val, remark)
  44. }
  45. }
  46. if !lib.TestTcpPort(val) {
  47. log.Fatalf("open the %d port error ,remark: %s", val, remark)
  48. }
  49. *arr = append(*arr, val)
  50. return
  51. }