package search_test import ( "encoding/json" "fmt" "strings" "testing" "time" "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 init() { logger.SetFormat("yyyy-MM-dd HH:mm:ss.SSSSSS [pid] [level] msg", "\n") odbpaths := strset.New(strings.Split(mcfg.CommandArgs.GetString("odb", strings.Join(mcfg.Environs.GetStrings("ODBPATH", config.GetStrings("odbc.odbpath", "127.0.0.1:11001")...), ",")), ",")...).List() keyspace := mcfg.CommandArgs.GetString("keyspace", mcfg.Environs.GetString("KEYSPACE", config.GetString("odbc.keyspace", "icbctest"))) debug = mcfg.CommandArgs.GetBool("debug", false) ODBC, ODBError = odb.NewClient(&odb.Config{ Keyspace: keyspace, Hosts: odbpaths, Debug: debug, }) if ODBError != nil { fmt.Println(ODBError) } } func TestSearch(t *testing.T) { if !testing.Verbose() { assert.Nil(t, "run with arg -v for print info") return } if !assert.Nil(t, ODBError, ODBError) { return } if !assert.NotNil(t, ODBC) { return } for { // mql := `#/m3event/devops/alerts_status | entity!=null | print id, biz, severity, entity| group with topo | top 1000` // mql := `#/m3event/devops/alerts_status` // mql := `#/test/basic2 | limit 12,5` // mql := `class=/test/basic2 | limit 12,5` // mql := "#/m3event/devops/alerts_status | severity>0 | print id,severity | top 2000" mql := "#/m3event/devops/alerts_status | node " result, err := ODBC.Search(mql).Do() if !assert.Nil(t, err, err) { return } bs, _ := json.MarshalIndent(result, "", " ") fmt.Println(string(bs)) if !assert.Greater(t, len(result.Data), 0) { return } if !assert.Greater(t, len(result.Data[0]), 0) { return } fmt.Println(time.Now(), "got data", len(result.Data)) time.Sleep(1 * time.Second) } }