| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147 |
- package search
- import (
- "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 CollectTests struct {
- Test *testing.T
- g *Gutil
- }
- func CollectTest(t *testing.T) {
- g := test.TestG()
- t.Run("InitG", func(t *testing.T) {
- test := &CollectTests{Test: t, g: g}
- test.InitG()
- })
- t.Run("Class", func(t *testing.T) {
- test := &CollectTests{Test: t, g: g}
- test.Class()
- })
- t.Run("Data", func(t *testing.T) {
- test := &CollectTests{Test: t, g: g}
- test.Data()
- })
- time.Sleep(time.Duration(2) * time.Second)
- t.Run("Valid", func(t *testing.T) {
- test := &CollectTests{Test: t, g: g}
- test.Valid()
- })
- t.Run("Search", func(t *testing.T) {
- test := &CollectTests{Test: t, g: g}
- test.Search()
- })
- /*t.Run("Update", func(t *testing.T) {
- test := &CollectTests{Test: t, g: g}
- test.Update()
- })*/
- }
- func (t *CollectTests) InitG() {
- require.NotNil(t.Test, t.g)
- }
- func (t *CollectTests) Class() {
- _, _, err := t.g.Query(`
- create class if not exists /test/scollect (
-
- v_varchar varchar,
- v_map map<varchar, varchar>,
- t_map map<varchar, text>,
- v_list list<varchar>,
- t_list list<text>,
- v_set set<varchar>,
- t_set set<text>,
-
- indexes(v_varchar, v_map, v_list, v_set, t_map, t_list, t_set),
- keys(v_varchar)
- );`)
- if err != nil {
- logger.Errorf("%v", err)
- }
- require.Nil(t.Test, err, fmt.Sprint(err))
- }
- func (t *CollectTests) Data() {
- var err error
- _, _, err = t.g.Query(`insert into /test/scollect (v_varchar, v_map, v_list, v_set, t_map, t_list, t_set ) values ('abcdef', {"map1": "Hello world", "map2":"中华人民共和国"}, ["Hello world", "中华人民共和国"], ["Hello world", "中华人民共和国"], {"map1": "Hello world", "map2":"中华人民共和国"}, ["Hello world", "中华人民共和国"], ["Hello world", "中华人民共和国"] )`)
- if err != nil {
- logger.Errorf("%v", err)
- }
- require.Nil(t.Test, err, fmt.Sprint(err))
- }
- func (t *CollectTests) Valid() {
- rtn, _, err := t.g.Query(`select * from /test/scollect`)
- if err != nil {
- logger.Errorf("%v", err)
- }
- if assert.Nil(t.Test, err) {
- assert.Equal(t.Test, 1, len(rtn), "they should be equal")
- }
- }
- func (t *CollectTests) Search() {
- var err error
- var rtn []map[string]interface{}
- rtn, _, err = t.g.Search(`#/test/scollect | v_list = 'Hello world'`)
- if err != nil {
- logger.Errorf("%v", err)
- }
- if assert.Nil(t.Test, err) {
- assert.Equal(t.Test, 1, len(rtn), fmt.Sprintf("not find v_list = %v", "Hello world"))
- }
- rtn, _, err = t.g.Search(`#/test/scollect | v_set = 'Hello world'`)
- if err != nil {
- logger.Errorf("%v", err)
- }
- if assert.Nil(t.Test, err) {
- assert.Equal(t.Test, 1, len(rtn), fmt.Sprintf("not find v_set = %v", "Hello world"))
- }
- rtn, _, err = t.g.Search(`#/test/scollect | t_list = 'Hell*'`)
- if err != nil {
- logger.Errorf("%v", err)
- }
- if assert.Nil(t.Test, err) {
- assert.Equal(t.Test, 1, len(rtn), fmt.Sprintf("not find t_list = %v", "Hell*"))
- }
- rtn, _, err = t.g.Search(`#/test/scollect | t_set = 'Hell*'`)
- if err != nil {
- logger.Errorf("%v", err)
- }
- if assert.Nil(t.Test, err) {
- assert.Equal(t.Test, 1, len(rtn), fmt.Sprintf("not find t_set = %v", "Hell*"))
- }
- }
|