package promdb_test import ( "encoding/json" "fmt" "os" "path" "strings" "testing" "git.wecise.com/wecise/mring/mutil/ccfg" "git.wecise.com/wecise/odb-go/odb" mcfg "gitee.com/wecisecode/util/cfg" mlog "gitee.com/wecisecode/util/logger" "gitee.com/wecisecode/util/set/strset" "github.com/stretchr/testify/assert" ) var config = mcfg.MConfig() var logger = mlog.New().WithConfig(config, "log") var ODBC odb.Client var ODBError error var debug bool func Usage() { if ccfg.CommandArgs.GetString("help") != "" { fmt.Print(`命令行参数: odbpath=127.0.0.1:11001 指定odbserver路径,默认通过环境变量ODBPATH或通过ETCD相关配置获取 keyspace=oktest 指定keyspace,默认通过环境变量KEYSPACE获取 debug=true 开启调试模式,输出更多信息 环境变量: KEYSPACE=oktest ODBPATH=127.0.0.1:11001,47.92.151.165:11001 ETCDPATH=127.0.0.1:2379 ETCDUSER= ETCDPASS= CASSANDRAPATH=127.0.0.1 CASSANDRALOOKUP=false NATSPATH=nats://user:N5JbKeT1C3uOUh317OVXjg==@127.0.0.1:4222 LANG=zh_CN.utf8 LC_ALL=zh_CN.utf8 可通过` + path.Base(os.Args[0]) + `.ini配置运行时参数: [odbc] ;指定odbserver路径 odbpath=127.0.0.1:11001,47.92.151.165:11001 ;指定keyspace keyspace=oktest `, ) os.Exit(0) return } } var t *testing.T func InitODBC() { Usage() logger.SetFormat("yyyy-MM-dd HH:mm:ss.SSSSSS [pid] [level] msg", "\n") odbpaths := strset.New(strings.Split(ccfg.CommandArgs.GetString("odbpath", strings.Join(ccfg.Environs.GetStrings("ODBPATH", config.GetStrings("odbc.odbpath", "127.0.0.1:11001")...), ",")), ",")...).List() keyspace := ccfg.CommandArgs.GetString("keyspace", ccfg.Environs.GetString("KEYSPACE", config.GetString("odbc.keyspace", "oktest"))) debug = ccfg.CommandArgs.GetBool("debug", false) logger.Info("odbpath :", odbpaths) logger.Info("keyspace:", keyspace) logger.Info("debug: ", debug) // 连接ODBServer ODBC, ODBError = odb.NewClient(&odb.Config{ Keyspace: keyspace, Hosts: odbpaths, Debug: debug, }) // 确定MODB连接 if !assert.Nil(t, ODBError, ODBError) { panic("") } } func Params(s string) []interface{} { a := []interface{}{} err := json.Unmarshal([]byte(s), &a) if !assert.Nil(t, err, err) { panic("") } return a }