common_test.go 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. package properties
  2. import (
  3. "fmt"
  4. "testing"
  5. )
  6. func Test_properties_GetString(t *testing.T) {
  7. pro, err := ReadFromString(test)
  8. if err != nil {
  9. t.Fatal(err)
  10. }
  11. fmt.Println(pro.GetString("# logger key"))
  12. fmt.Println(pro.GetInt64("key2"))
  13. fmt.Println(pro.GetFloat64("key3"))
  14. fmt.Println(pro.GetBool("key4"))
  15. fmt.Println(pro.GetUint64("key5", 10))
  16. fmt.Println(pro.GetAll())
  17. }
  18. var (
  19. test = `
  20. # logger key=velue
  21. log.access_log = /data/log/go-template/access.log
  22. log.monitor_log = /data/log/go-template/monitor.log
  23. log.task_log = /data/log/go-template/task.log
  24. log.third_log = /data/log/go-template/third.log
  25. log.project_log = /data/log/go-template/go-template.log
  26. # mysql
  27. mysql.host = 10.9.198.84
  28. mysql.port = 3306
  29. mysql.user = aaa
  30. mysql.password = aaa@2014
  31. mysql.dbname = aaa
  32. mysql.slave_host = 10.9.198.84
  33. mysql.slave_port = 3306
  34. mysql.slave_user = aaa
  35. mysql.slave_password = aaa@2014
  36. mysql.slave_dbname = aaa
  37. mysql.log_file=/data/log/go-template/aaa.log
  38. # nacos
  39. nacos.server_port=13058
  40. ebike-factory-api.service_name=ebike-factory-api
  41. ebike-factory-api.group_name=DEFAULT_GROUP
  42. ebike-factory-api.clusters=DEFAULT
  43. localcache.refresh_time=600
  44. localcache.demo=10
  45. `
  46. test2 = `
  47. # logger key=velue
  48. log.access_log = /data/log/go-template/access.log
  49. log.monitor_log = /data/log/go-template/monitor.log
  50. log.task_log = /data/log/go-template/task.log
  51. log.third_log = /data/log/go-template/third.log
  52. log.project_log = /data/log/go-template/go-template.log
  53. # nacos
  54. nacos.server_port=13059
  55. ebike-factory-api.service_name=ebike-factory-api
  56. ebike-factory-api.group_name=DEFAULT_GROUP
  57. ebike-factory-api.clusters=DEFAULT
  58. localcache.refresh_time=600
  59. localcache.demo=10
  60. trace.sky_walking_host = localhost:11800
  61. trace.application_name = go-template_dev
  62. `
  63. )
  64. func Test_properties_DiffProperties(t *testing.T) {
  65. pro, err := ReadFromString(test)
  66. if err != nil {
  67. t.Fatal(err)
  68. }
  69. pro2, err := ReadFromString(test2)
  70. if err != nil {
  71. t.Fatal(err)
  72. }
  73. printProperties := func(config map[string]string) string {
  74. if config == nil || len(config) == 0 {
  75. return " No Changed\n"
  76. }
  77. result := " Find Changed\n"
  78. count := len(config)
  79. num := 0
  80. for key, value := range config {
  81. num++
  82. result = result + key + " = " + value
  83. if num < count {
  84. result = result + "\n"
  85. }
  86. }
  87. return result + "\n"
  88. }
  89. printDiffPorperties := func(config map[string][]string) string {
  90. if config == nil || len(config) == 0 {
  91. return " No Changed\n"
  92. }
  93. result := " Find Changed\n"
  94. count := len(config)
  95. num := 0
  96. for key, value := range config {
  97. num++
  98. if value == nil || len(value) < 2 {
  99. continue
  100. }
  101. result = result + "old: " + key + " = " + value[0] + "\n"
  102. result = result + "new: " + key + " = " + value[1]
  103. if num < count {
  104. result = result + "\n"
  105. }
  106. }
  107. return result
  108. }
  109. _, _, changeMap := pro.DiffProperties(pro2)
  110. fmt.Printf("[nacos] delete-config:%s[nacos] add-config:%s[nacos] change-config:%s", printProperties(nil), printProperties(nil), printDiffPorperties(changeMap))
  111. }