discover_test.go 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. package nacos
  2. import (
  3. "git.shuncheng.lu/bigthing/gocommon/pkg/conf"
  4. "git.shuncheng.lu/bigthing/gocommon/pkg/internal/properties"
  5. "testing"
  6. )
  7. func mockDiscoverConfig(t *testing.T) {
  8. config := `
  9. nacos-server.host=10.100.101.20:8848,10.100.103.230:8848,10.100.99.14:8848
  10. nacos-server.log_path=/data/log/go-template
  11. nacos-server.log_level=warn
  12. nacos-server.namespace_id=84663e76-f64a-4331-a3a6-efd26ead7bf1
  13. nacos-server.user_name=cityservice_dev_nacos
  14. nacos-server.password=MrHu0qvmdK
  15. nacos-server.timeout=5000
  16. # ebike-factory-api 通过nacos调用
  17. ebike-factory-api.service_name = ebike-factory-api
  18. ebike-factory-api.group_name = DEFAULT_GROUP
  19. ebike-factory-api.clusters = DEFAULT
  20. ebike-factory-api.domain_addr=http://www.baidu.com
  21. `
  22. pro, err := properties.ReadFromString(config)
  23. if err != nil {
  24. t.Fatal(err)
  25. }
  26. conf.MustValue = func(section, key string, defaultVal ...string) string {
  27. return pro.GetString(section+"."+key, defaultVal...)
  28. }
  29. }
  30. func TestInitNacosDiscoverClient(t *testing.T) {
  31. mockDiscoverConfig(t)
  32. err := InitNacosDiscoverClient()
  33. if err != nil {
  34. t.Fatal(err)
  35. }
  36. host, err := GetHost("ebike-factory-api")
  37. if err != nil {
  38. t.Fatal(err)
  39. }
  40. t.Logf("get host: %s", host)
  41. }
  42. func BenchmarkGetHost(b *testing.B) {
  43. mockDiscoverConfig(nil)
  44. err := InitNacosDiscoverClient()
  45. if err != nil {
  46. b.Fatal(err)
  47. }
  48. for i := 0; i < b.N; i++ {
  49. host, err := GetHost("ebike-factory-api")
  50. if err != nil {
  51. b.Fatal(err)
  52. }
  53. if host == "" {
  54. b.Fatal("empty")
  55. }
  56. }
  57. }
  58. func TestInitGetDomainHost(t *testing.T) {
  59. mockDiscoverConfig(t)
  60. err := InitNacosDiscoverClient()
  61. if err != nil {
  62. t.Fatal(err)
  63. }
  64. host, err := GetDomainHost("ebike-factory-api")
  65. if err != nil {
  66. t.Fatal(err)
  67. }
  68. t.Logf("get host: %s", host)
  69. }