init.go 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. package promdb_test
  2. import (
  3. "encoding/json"
  4. "fmt"
  5. "os"
  6. "path"
  7. "strings"
  8. "testing"
  9. "git.wecise.com/wecise/mring/mutil/ccfg"
  10. "git.wecise.com/wecise/odb-go/odb"
  11. mcfg "gitee.com/wecisecode/util/cfg"
  12. mlog "gitee.com/wecisecode/util/logger"
  13. "gitee.com/wecisecode/util/set/strset"
  14. "github.com/stretchr/testify/assert"
  15. )
  16. var config = mcfg.MConfig()
  17. var logger = mlog.New().WithConfig(config, "log")
  18. var ODBC odb.Client
  19. var ODBError error
  20. var debug bool
  21. func Usage() {
  22. if ccfg.CommandArgs.GetString("help") != "" {
  23. fmt.Print(`命令行参数:
  24. odbpath=127.0.0.1:11001 指定odbserver路径,默认通过环境变量ODBPATH或通过ETCD相关配置获取
  25. keyspace=oktest 指定keyspace,默认通过环境变量KEYSPACE获取
  26. debug=true 开启调试模式,输出更多信息
  27. 环境变量:
  28. KEYSPACE=oktest
  29. ODBPATH=127.0.0.1:11001,47.92.151.165:11001
  30. ETCDPATH=127.0.0.1:2379
  31. ETCDUSER=
  32. ETCDPASS=
  33. CASSANDRAPATH=127.0.0.1
  34. CASSANDRALOOKUP=false
  35. NATSPATH=nats://user:N5JbKeT1C3uOUh317OVXjg==@127.0.0.1:4222
  36. LANG=zh_CN.utf8
  37. LC_ALL=zh_CN.utf8
  38. 可通过` + path.Base(os.Args[0]) + `.ini配置运行时参数:
  39. [odbc]
  40. ;指定odbserver路径
  41. odbpath=127.0.0.1:11001,47.92.151.165:11001
  42. ;指定keyspace
  43. keyspace=oktest
  44. `,
  45. )
  46. os.Exit(0)
  47. return
  48. }
  49. }
  50. var t *testing.T
  51. func InitODBC() {
  52. Usage()
  53. logger.SetFormat("yyyy-MM-dd HH:mm:ss.SSSSSS [pid] [level] msg", "\n")
  54. odbpaths := strset.New(strings.Split(ccfg.CommandArgs.GetString("odbpath",
  55. strings.Join(ccfg.Environs.GetStrings("ODBPATH",
  56. config.GetStrings("odbc.odbpath", "127.0.0.1:11001")...), ",")), ",")...).List()
  57. keyspace := ccfg.CommandArgs.GetString("keyspace",
  58. ccfg.Environs.GetString("KEYSPACE", config.GetString("odbc.keyspace", "oktest")))
  59. debug = ccfg.CommandArgs.GetBool("debug", false)
  60. logger.Info("odbpath :", odbpaths)
  61. logger.Info("keyspace:", keyspace)
  62. logger.Info("debug: ", debug)
  63. // 连接ODBServer
  64. ODBC, ODBError = odb.NewClient(&odb.Config{
  65. Keyspace: keyspace,
  66. Hosts: odbpaths,
  67. Debug: debug,
  68. })
  69. // 确定MODB连接
  70. if !assert.Nil(t, ODBError, ODBError) {
  71. panic("")
  72. }
  73. }
  74. func Params(s string) []interface{} {
  75. a := []interface{}{}
  76. err := json.Unmarshal([]byte(s), &a)
  77. if !assert.Nil(t, err, err) {
  78. panic("")
  79. }
  80. return a
  81. }