package bucket import ( //"fmt" //"strconv" "fmt" "testing" "time" . "git.wecise.com/wecise/odbserver/odb" "git.wecise.com/wecise/odbserver/odb/test" "gitee.com/wecisecode/util/logger" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) type BucketPromedbTests struct { Test *testing.T g *Gutil } func BucketPromedbTest(t *testing.T) { g := test.TestG() t.Run("InitG", func(t *testing.T) { test := &BucketPromedbTests{Test: t, g: g} test.InitG() }) t.Run("Class", func(t *testing.T) { test := &BucketPromedbTests{Test: t, g: g} test.Class() }) time.Sleep(time.Duration(1) * time.Second) t.Run("Data", func(t *testing.T) { test := &BucketPromedbTests{Test: t, g: g} test.Data() }) /*t.Run("Valid", func(t *testing.T) { test := &BucketPromedbTests{Test: t, g: g} test.Valid() })*/ } func (t *BucketPromedbTests) InitG() { require.NotNil(t.Test, t.g) } func (t *BucketPromedbTests) Class() { _, _, err := t.g.Query(` create class if not exists /test/bucketpromedb ( host varchar, prom bucket { "type" : "promdb", "ttl" : 365 } 'full', keys(host), indexes(host) ) with key=manu, nickname='bucketpromedb' `) if err != nil { logger.Errorf("%v", err) } require.Nil(t.Test, err, fmt.Sprint(err)) } func (t *BucketPromedbTests) Data() { var err error _, _, err = t.g.Query(` insert into /test/bucketpromedb (id, prom) values ('bucketpromedb:wecise', [ ["key1", 2.6, {"disk":"/opt/matrix", "memory":"CPU1"}]] ) at '2020-07-24 10:24:17' `) if err != nil { logger.Error(err) } require.Nil(t.Test, err, fmt.Sprint(err)) _, _, err = t.g.Query(` insert into /test/bucketpromedb (id, prom) values ('bucketpromedb:wecise', [ ["key1", 2.7, "2020-07-25 11:24:17", {"disk":"/opt/matrix", "memory":"CPU1"}]] ) `) require.Nil(t.Test, err, fmt.Sprint(err)) _, _, err = t.g.Query(` insert into /test/bucketpromedb (id, prom) values ('bucketpromedb:wecise', [ ["key1", 2.7, "2020-07-26 11:24:17", {"disk":"/opt/matrix", "CPU":"CPU1"}], ["key2", 2.8, "2020-07-26 11:25:18", {"disk":"/opt/matrix", "CPU":"CPU2"}], ["key3", 2.9, "2020-07-26 11:25:19", {"disk":"/opt/matrix", "CPU":"CPU3"}], ["key4", 2.9, "2020-07-26 11:25:19", {"disk":"/opt/matrix", "CPU":"CPU4"}], ["key5", 2.9, "2020-07-26 11:25:19", {"disk":"/opt/matrix", "CPU":"CPU5"}], ["key6", 2.9, "2020-07-26 11:25:19", {"disk":"/opt/matrix", "CPU":"CPU6"}], ["key7", 2.9, "2020-07-26 11:25:19", {"disk":"/opt/matrix", "CPU":"CPU7"}], ["key8", 2.9, "2020-07-26 11:25:19", {"disk":"/opt/matrix", "CPU":"CPU8"}], ["key9", 2.9, "2020-07-26 11:25:19", {"disk":"/opt/matrix", "CPU":"CPU9"}], ["key10", 2.9, "2020-07-26 11:25:19", {"disk":"/opt/matrix", "CPU":"CPU10"}], ["key11", 2.9, "2020-07-26 11:25:19", {"disk":"/opt/matrix", "CPU":"CPU11"}], ["key12", 2.9, "2020-07-26 11:25:19", {"disk":"/opt/matrix", "CPU":"CPU12"}], ["key13", 2.9, "2020-07-26 11:25:19", {"disk":"/opt/matrix", "CPU":"CPU13"}], ["key14", 2.9, "2020-07-26 11:25:19", {"disk":"/opt/matrix", "CPU":"CPU14"}], ["key15", 2.9, "2020-07-27 12:25:18", {"disk":"/opt/matrix", "CPU":"CPU15"}], ["key16", 2.9, "2020-07-27 11:25:19", {"disk":"/opt/matrix", "CPU":"CPU16"}], ["key17", 2.9, "2020-07-23 11:25:19", {"disk":"/opt/matrix", "CPU":"CPU17"}], ["key18", 2.9, "2020-07-23 11:25:19", {"disk":"/opt/matrix", "CPU":"CPU18"}], ["key19", 2.9, "2020-07-23 11:25:19", {"disk":"/opt/matrix", "CPU":"CPU19"}], ["key20", 2.9, "2020-07-23 11:25:19", {"disk":"/opt/matrix", "CPU":"CPU20"}], ["key21", 2.9, "2020-07-23 11:25:19", {"disk":"/opt/matrix", "CPU":"CPU21"}], ["key22", 2.9, "2020-07-23 11:25:19", {"disk":"/opt/matrix", "CPU":"CPU22"}], ["key23", 2.9, "2020-07-23 11:25:19", {"disk":"/opt/matrix", "CPU":"CPU23"}], ["key24", 2.9, "2020-07-23 11:25:19", {"disk":"/opt/matrix", "CPU":"CPU24"}], ["key25", 2.9, "2020-07-23 11:25:19", {"disk":"/opt/matrix", "CPU":"CPU25"}], ["key26", 2.9, "2020-07-23 11:25:19", {"disk":"/opt/matrix", "CPU":"CPU26"}], ["key27", 2.9, "2020-07-23 11:25:19", {"disk":"/opt/matrix", "CPU":"CPU27"}], ["key28", 2.9, "2020-07-23 11:25:19", {"disk":"/opt/matrix", "CPU":"CPU28"}], ["key29", 2.9, "2020-07-23 11:25:19", {"disk":"/opt/matrix", "CPU":"CPU29"}], ["key30", 2.9, "2020-07-23 11:25:19", {"disk":"/opt/matrix", "CPU":"CPU30"}], ["key31", 2.9, "2020-07-23 11:25:19", {"disk":"/opt/matrix", "CPU":"CPU31"}], ["key32", 2.9, "2020-07-23 10:24:19", {"disk":"/opt/matrix", "CPU":"CPU32"}], ["key33", 2.9, "2020-07-23 10:25:19", {"disk":"/opt/matrix", "CPU":"CPU33"}], ["key34", 2.9, "2020-07-23 11:25:19", {"disk":"/opt/matrix", "CPU":"CPU34"}], ["key35", 2.9, "2020-07-23 11:25:19", {"disk":"/opt/matrix", "CPU":"CPU35"}], ["key36", 2.9, "2020-07-23 11:25:19", {"disk":"/opt/matrix", "CPU":"CPU36"}], ["key37", 2.9, "2020-07-23 11:25:19", {"disk":"/opt/matrix", "CPU":"CPU37"}], ["key38", 2.9, "2020-07-23 11:25:19", {"disk":"/opt/matrix", "CPU":"CPU38"}], ["key39", 2.9, "2020-07-23 11:25:19", {"disk":"/opt/matrix", "CPU":"CPU39"}], ["key40", 2.9, "2020-07-23 11:25:19", {"disk":"/opt/matrix", "CPU":"CPU40"}], ["key41", 2.9, "2020-07-23 11:25:19", {"disk":"/opt/matrix", "CPU":"CPU41"}], ["key42", 2.9, "2020-07-23 09:25:18", {"disk":"/opt/matrix", "CPU":"CPU42"}], ["key43", 2.9, "2020-07-23 09:25:19", {"disk":"/opt/matrix", "CPU":"CPU43"}], ["key44", 2.9, "2020-07-23 11:25:19", {"disk":"/opt/matrix", "CPU":"CPU44"}], ["key45", 2.9, "2020-07-23 11:25:19", {"disk":"/opt/matrix", "CPU":"CPU45"}], ["key46", 2.9, "2020-07-23 08:25:18", {"disk":"/opt/matrix", "CPU":"CPU46"}], ["key47", 2.9, "2020-07-23 08:25:19", {"disk":"/opt/matrix", "CPU":"CPU47"}], ["key48", 2.9, "2020-07-23 11:25:19", {"disk":"/opt/matrix", "CPU":"CPU48"}] ] ) `) require.Nil(t.Test, err, fmt.Sprint(err)) stat, errr := t.g.Prepare(`insert into /test/bucketpromedb (id, prom) values (?, ? ) at ? `) require.Nil(t.Test, errr) _, _, err = stat.Exec("bucketpromedb:wecise", [][]interface{}{{"key1", 2.6, map[string]string{"disk": "/opt/matrix", "memory": "CPU1"}}}, "2020-07-29 10:24:17") require.Nil(t.Test, err, fmt.Sprint(err)) stat, err = t.g.Prepare(`insert into /test/bucketpromedb (id, prom) values (?, ? )`) require.Nil(t.Test, err, fmt.Sprint(err)) _, _, err = stat.Exec("bucketpromedb:wecise", [][]interface{}{{"key1", 2.7, "2020-07-26 11:24:17", map[string]string{"disk": "/opt/matrix", "CPU": "CPU1"}}, {"key2", 2.8, "2020-07-26 11:25:18", map[string]string{"disk": "/opt/matrix", "CPU": "CPU2"}}, {"key3", 2.9, "2020-07-26 11:25:19", map[string]string{"disk": "/opt/matrix", "CPU": "CPU3"}}, {"key4", 2.9, "2020-07-26 11:25:19", map[string]string{"disk": "/opt/matrix", "CPU": "CPU4"}}, {"key5", 2.9, "2020-07-26 11:25:19", map[string]string{"disk": "/opt/matrix", "CPU": "CPU5"}}, {"key6", 2.9, "2020-07-26 11:25:19", map[string]string{"disk": "/opt/matrix", "CPU": "CPU6"}}, {"key7", 2.9, "2020-07-26 11:25:19", map[string]string{"disk": "/opt/matrix", "CPU": "CPU7"}}, {"key8", 2.9, "2020-07-26 11:25:19", map[string]string{"disk": "/opt/matrix", "CPU": "CPU8"}}, {"key9", 2.9, "2020-07-26 11:25:19", map[string]string{"disk": "/opt/matrix", "CPU": "CPU9"}}, {"key10", 2.9, "2020-07-26 11:25:19", map[string]string{"disk": "/opt/matrix", "CPU": "CPU10"}}, {"key11", 2.9, "2020-07-26 11:25:19", map[string]string{"disk": "/opt/matrix", "CPU": "CPU11"}}, {"key12", 2.9, "2020-07-26 11:25:19", map[string]string{"disk": "/opt/matrix", "CPU": "CPU12"}}, {"key13", 2.9, "2020-07-26 11:25:19", map[string]string{"disk": "/opt/matrix", "CPU": "CPU13"}}, {"key14", 2.9, "2020-07-26 11:25:19", map[string]string{"disk": "/opt/matrix", "CPU": "CPU14"}}, {"key15", 2.9, "2020-07-27 12:25:18", map[string]string{"disk": "/opt/matrix", "CPU": "CPU15"}}, {"key16", 2.9, "2020-07-27 11:25:19", map[string]string{"disk": "/opt/matrix", "CPU": "CPU16"}}, {"key17", 2.9, "2020-07-26 11:25:19", map[string]string{"disk": "/opt/matrix", "CPU": "CPU17"}}, {"key18", 2.9, "2020-07-26 11:25:19", map[string]string{"disk": "/opt/matrix", "CPU": "CPU18"}}, {"key19", 2.9, "2020-07-26 11:25:19", map[string]string{"disk": "/opt/matrix", "CPU": "CPU19"}}, {"key20", 2.9, "2020-07-26 11:25:19", map[string]string{"disk": "/opt/matrix", "CPU": "CPU20"}}, {"key21", 2.9, "2020-07-26 11:25:19", map[string]string{"disk": "/opt/matrix", "CPU": "CPU21"}}, {"key22", 2.9, "2020-07-26 11:25:19", map[string]string{"disk": "/opt/matrix", "CPU": "CPU22"}}, {"key23", 2.9, "2020-07-26 11:25:19", map[string]string{"disk": "/opt/matrix", "CPU": "CPU23"}}, {"key24", 2.9, "2020-07-26 11:25:19", map[string]string{"disk": "/opt/matrix", "CPU": "CPU24"}}, {"key25", 2.9, "2020-07-26 11:25:19", map[string]string{"disk": "/opt/matrix", "CPU": "CPU25"}}, {"key26", 2.9, "2020-07-26 11:25:19", map[string]string{"disk": "/opt/matrix", "CPU": "CPU26"}}, {"key27", 2.9, "2020-07-26 11:25:19", map[string]string{"disk": "/opt/matrix", "CPU": "CPU27"}}, {"key28", 2.9, "2020-07-26 11:25:19", map[string]string{"disk": "/opt/matrix", "CPU": "CPU28"}}, {"key29", 2.9, "2020-07-26 11:25:19", map[string]string{"disk": "/opt/matrix", "CPU": "CPU29"}}, {"key30", 2.9, "2020-07-26 11:25:19", map[string]string{"disk": "/opt/matrix", "CPU": "CPU30"}}, {"key31", 2.9, "2020-07-26 11:25:19", map[string]string{"disk": "/opt/matrix", "CPU": "CPU31"}}, {"key32", 2.9, "2020-07-26 10:24:19", map[string]string{"disk": "/opt/matrix", "CPU": "CPU32"}}, {"key33", 2.9, "2020-07-26 10:25:19", map[string]string{"disk": "/opt/matrix", "CPU": "CPU33"}}, {"key34", 2.9, "2020-07-26 11:25:19", map[string]string{"disk": "/opt/matrix", "CPU": "CPU34"}}, {"key35", 2.9, "2020-07-26 11:25:19", map[string]string{"disk": "/opt/matrix", "CPU": "CPU35"}}, {"key36", 2.9, "2020-07-26 11:25:19", map[string]string{"disk": "/opt/matrix", "CPU": "CPU36"}}, {"key37", 2.9, "2020-07-26 11:25:19", map[string]string{"disk": "/opt/matrix", "CPU": "CPU37"}}, {"key38", 2.9, "2020-07-26 11:25:19", map[string]string{"disk": "/opt/matrix", "CPU": "CPU38"}}, {"key39", 2.9, "2020-07-26 11:25:19", map[string]string{"disk": "/opt/matrix", "CPU": "CPU39"}}, {"key40", 2.9, "2020-07-26 11:25:19", map[string]string{"disk": "/opt/matrix", "CPU": "CPU40"}}, {"key41", 2.9, "2020-07-26 11:25:19", map[string]string{"disk": "/opt/matrix", "CPU": "CPU41"}}, {"key42", 2.9, "2020-07-26 09:25:18", map[string]string{"disk": "/opt/matrix", "CPU": "CPU42"}}, {"key43", 2.9, "2020-07-26 09:25:19", map[string]string{"disk": "/opt/matrix", "CPU": "CPU43"}}, {"key44", 2.9, "2020-07-26 11:25:19", map[string]string{"disk": "/opt/matrix", "CPU": "CPU44"}}, {"key45", 2.9, "2020-07-26 11:25:19", map[string]string{"disk": "/opt/matrix", "CPU": "CPU45"}}, {"key46", 2.9, "2020-07-26 08:25:18", map[string]string{"disk": "/opt/matrix", "CPU": "CPU46"}}, {"key47", 2.9, "2020-07-26 08:25:19", map[string]string{"disk": "/opt/matrix", "CPU": "CPU47"}}, {"key48", 2.9, "2020-07-26 11:25:19", map[string]string{"disk": "/opt/matrix", "CPU": "CPU48"}}}) require.Nil(t.Test, err, fmt.Sprint(err)) /*_, _, err = stat.Exec("buckettsdb:wecise", [][]interface{}{[]interface{}{1, nil, 3.3, 6.5, strconv.Itoa(66666), " abcdefghhhhh"}, []interface{}{1, nil, 3.3, 6.5, strconv.Itoa(77777), " abcdefghhhhh"}, []interface{}{1, nil, 3.3, 6.5, strconv.Itoa(88888), " abcdefghhhhh"}}, []string{"2020-08-01 10:24:17", "2020-08-02 10:24:17", "2020-08-03 10:24:17"}) if err != nil { logger.Errorf("%v", err) } _, _, err = t.g.Query(`insert into /test/buckettsdb (id, bk2[ 'iparam1", 'iparam2", 'fparam1", 'fparam2", 'sparam1", 'vparam1']) values ('buckettsdb:wecise", [[1, nil, 3.3, 6.5, '2234567890", 'abcdefghhhhh'}, [1, nil, 3.3, 6.5, '3234567890", 'abcdefghhhhh'}, [1, nil, 3.3, 6.5, '4234567890", 'abcdefghhhhh'] ] ) at {"2020-07-25 10:24:17", "2020-07-26 10:24:17", "2020-07-27 10:24:17'] `) if err != nil { logger.Errorf("%v", err) } require.Nil(t.Test, err, fmt.Sprint(err))*/ } func (t *BucketPromedbTests) Valid() { var err error _, _, err = t.g.Query(`SELECT prom FROM /test/bucketpromedb`) assert.Nil(t.Test, err) /*_, _, err = t.g.Query(`SELECT bk2[-1 - 1] FROM /test/buckettsdb`) assert.Nil(t.Test, err) _, _, err = t.g.Query(`SELECT bk2[1 - -1] FROM /test/buckettsdb`) assert.Nil(t.Test, err) _, _, err = t.g.Query(`SELECT bk2[ 4-3] FROM /test/buckettsdb`) assert.Nil(t.Test, err) _, _, err = t.g.Query(`SELECT bk2[ 'iparam1", 3-1, 4] FROM /test/buckettsdb`) assert.Nil(t.Test, err) _, _, err = t.g.Query(`SELECT bk2[ 'iparam1", 1-3, 4] FROM /test/buckettsdb`) assert.Nil(t.Test, err) _, _, err = t.g.Query(`SELECT bk2[ 'iparam1", 'iparam2", 2-3, 4 ].time("2020-04-22 08:10", '').(iparam1=1).count() as iparam1 FROM /test/buckettsdb `) assert.Nil(t.Test, err) _, _, err = t.g.Query(`SELECT bk2[ 3-4, 5 ].time("2020-05-23 22:24:15", '').([1]=1).title() FROM /test/buckettsdb `) assert.Nil(t.Test, err) _, _, err = t.g.Query(`SELECT bk2[ 'iparam1", 1-3, 4 ].time("2020-04-22", '').find(fparam1 >= 0.992315).find(iparam1 = 56).find(fparam2 != 0.418309) as iparam1 FROM /test/buckettsdb `) assert.Nil(t.Test, err) _, _, err = t.g.Query(`SELECT bk2.time("2020-04-22", '').find(fparam1 >= 0.992315).find(iparam1 = 56).find(fparam2 <> 0.418309) as iparam1 FROM /test/buckettsdb `) assert.Nil(t.Test, err) _, _, err = t.g.Query(`SELECT bk2.time("2020-04-22", '').(fparam1 >= 0.992315).(iparam1 in [56,99]) FROM /test/buckettsdb `) assert.Nil(t.Test, err) _, _, err = t.g.Query(` SELECT bk2[-1 - 1].time("2020-07-24", '').find(fparam1 >= 0.992315).count() as iparm1 FROM /test/buckettsdb `) assert.Nil(t.Test, err) _, _, err = t.g.Query(` SELECT id, bk2 FROM /test/buckettsdb `) assert.Nil(t.Test, err) _, _, err = t.g.Query(` SELECT bk2[-1 - 1].date("2020-07-24').find(fparam1=3.3) FROM /test/buckettsdb `) assert.Nil(t.Test, err) _, _, err = t.g.Query(` SELECT bk2.date("2020-07-24") FROM /test/buckettsdb `) assert.Nil(t.Test, err) _, _, err = t.g.Query(` SELECT id FROM /test/buckettsdb where bk2.date("2020-07-24").assert(iparam1=1)`) assert.Nil(t.Test, err)*/ }