cypher.go 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. package cypher
  2. import (
  3. //"fmt"
  4. "fmt"
  5. "testing"
  6. "time"
  7. . "git.wecise.com/wecise/odbserver/odb"
  8. "git.wecise.com/wecise/odbserver/odb/test"
  9. "gitee.com/wecisecode/util/logger"
  10. //"github.com/stretchr/testify/assert"
  11. "github.com/stretchr/testify/require"
  12. )
  13. type CypherTests struct {
  14. Test *testing.T
  15. g *Gutil
  16. }
  17. func CypherTest(t *testing.T) {
  18. g := test.TestG()
  19. t.Run("InitG", func(t *testing.T) {
  20. test := &CypherTests{Test: t, g: g}
  21. test.InitG()
  22. })
  23. t.Run("Class", func(t *testing.T) {
  24. test := &CypherTests{Test: t, g: g}
  25. test.Class()
  26. })
  27. t.Run("Data", func(t *testing.T) {
  28. test := &CypherTests{Test: t, g: g}
  29. test.Data()
  30. })
  31. time.Sleep(time.Duration(1) * time.Second)
  32. /*t.Run("Valid", func(t *testing.T) {
  33. test := &CypherTests{Test: t, g: g}
  34. test.Valid()
  35. })
  36. t.Run("Search", func(t *testing.T) {
  37. test := &CypherTests{Test: t, g: g}
  38. test.Search()
  39. })*/
  40. /*t.Run("Update", func(t *testing.T) {
  41. test := &CypherTests{Test: t, g: g}
  42. test.Update()
  43. })*/
  44. }
  45. func (t *CypherTests) InitG() {
  46. require.NotNil(t.Test, t.g)
  47. }
  48. func (t *CypherTests) Class() {
  49. _, _, err := t.g.Query(`
  50. create edge type if not exists ` + t.g.Keyspace + `.connect "connect"`)
  51. if err != nil {
  52. logger.Errorf("%v", err)
  53. }
  54. require.Nil(t.Test, err, fmt.Sprint(err))
  55. _, _, err = t.g.Query(`
  56. create class if not exists /test/cypher (
  57. name varchar,
  58. keys(name)
  59. )with key=manu and nickname='cypher'`)
  60. if err != nil {
  61. logger.Errorf("%v", err)
  62. }
  63. require.Nil(t.Test, err, fmt.Sprint(err))
  64. _, _, err = t.g.Query(`
  65. create class if not exists /test/cypher2 (
  66. name varchar,
  67. keys(name)
  68. )with key=manu and nickname='cypher2'`)
  69. if err != nil {
  70. logger.Errorf("%v", err)
  71. }
  72. require.Nil(t.Test, err, fmt.Sprint(err))
  73. }
  74. func (t *CypherTests) Data() {
  75. var err error
  76. _, _, err = t.g.Query(`insert into /test/cypher (id, name) values ("cypher:e1", "entity1" )`)
  77. if err != nil {
  78. logger.Errorf("%v", err)
  79. }
  80. require.Nil(t.Test, err, fmt.Sprint(err))
  81. _, _, err = t.g.Query(`insert into /test/cypher2 (id, name) values ("cypher2:e2", "entity2" )`)
  82. if err != nil {
  83. logger.Errorf("%v", err)
  84. }
  85. require.Nil(t.Test, err, fmt.Sprint(err))
  86. for i := 0; i < 200; i++ {
  87. _, _, err = t.g.Query(`create ("cypher:e1")-[:connect]->("cypher2:e2")`)
  88. if err != nil {
  89. logger.Errorf("%v", err)
  90. }
  91. require.Nil(t.Test, err, fmt.Sprint(err))
  92. }
  93. }
  94. /*func (t *CypherTests) Valid() {
  95. }
  96. func (t *CypherTests) Search() {
  97. }
  98. */