MCPcopy Index your code
hub / github.com/CovenantSQL/CovenantSQL / TestSingleDatabase

Function TestSingleDatabase

worker/db_test.go:45–380  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

43const PubKeyStorePath = "./public.keystore"
44
45func TestSingleDatabase(t *testing.T) {
46 log.SetLevel(log.DebugLevel)
47 // init as single node database
48 Convey("test database", t, func() {
49 var err error
50 var server *rpc.Server
51 var cleanup func()
52 cleanup, server, err = initNode()
53 So(err, ShouldBeNil)
54
55 var rootDir string
56 rootDir, err = ioutil.TempDir("", "db_test_")
57 So(err, ShouldBeNil)
58
59 // create mux service
60 kayakMuxService, err := NewDBKayakMuxService("DBKayak", server)
61 So(err, ShouldBeNil)
62
63 chainMuxService, err := sqlchain.NewMuxService("sqlchain", server)
64 So(err, ShouldBeNil)
65
66 // create peers
67 var peers *proto.Peers
68 peers, err = getPeers(1)
69 So(err, ShouldBeNil)
70
71 // create file
72 cfg := &DBConfig{
73 DatabaseID: "00000bef611d346c0cbe1beaa76e7f0ed705a194fdf9ac3a248ec70e9c198bf9",
74 DataDir: rootDir,
75 KayakMux: kayakMuxService,
76 ChainMux: chainMuxService,
77 MaxWriteTimeGap: time.Second * 5,
78 UpdateBlockCount: 2,
79 }
80
81 // create genesis block
82 var block *types.Block
83 block, err = types.CreateRandomBlock(rootHash, true)
84 So(err, ShouldBeNil)
85
86 // create database
87 var db *Database
88 db, err = NewDatabase(cfg, peers, block)
89 So(err, ShouldBeNil)
90
91 Convey("test query rewrite", func() {
92 // test query rewrite
93 var writeQuery *types.Request
94 var res *types.Response
95 writeQuery, err = buildQuery(types.WriteQuery, 1, 1, []string{
96 "create table test (col1 int, col2 string)",
97 "create index test_index on test (col1)",
98 })
99 So(err, ShouldBeNil)
100
101 res, err = db.Query(writeQuery)
102 So(err, ShouldBeNil)

Callers

nothing calls this directly

Calls 14

QueryMethod · 0.95
ShutdownMethod · 0.95
AckMethod · 0.95
UpdatePeersMethod · 0.95
SetLevelFunction · 0.92
NewMuxServiceFunction · 0.92
CreateRandomBlockFunction · 0.92
NewDBKayakMuxServiceFunction · 0.85
buildQueryWithTimeShiftFunction · 0.85
buildAckFunction · 0.85
initNodeFunction · 0.70
getPeersFunction · 0.70

Tested by

no test coverage detected