This repository has been archived by the owner on Sep 17, 2021. It is now read-only.
/
util_test.go
92 lines (80 loc) · 1.66 KB
/
util_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
package themis
import (
"flag"
"strings"
"github.com/ngaut/log"
"github.com/pingcap/go-hbase"
"github.com/pingcap/go-themis/oracle/oracles"
)
const (
themisTestTableName string = "themis_test"
)
var (
testRow = []byte("test_row")
cf = []byte("cf")
q = []byte("q")
)
var (
zk = flag.String("zk", "localhost", "hbase zookeeper info")
globalOracle = oracles.NewLocalOracle()
)
func newTxn(c hbase.HBaseClient, cfg TxnConfig) Txn {
txn, err := NewTxnWithConf(c, cfg, globalOracle)
if err != nil {
log.Fatal(err)
}
return txn
}
func getTestZkHosts() []string {
zks := strings.Split(*zk, ",")
if len(zks) == 0 {
log.Fatal("invalid zk")
}
return zks
}
func createHBaseClient() (hbase.HBaseClient, error) {
flag.Parse()
cli, err := hbase.NewClient(getTestZkHosts(), "/hbase")
if err != nil {
return nil, err
}
return cli, nil
}
func createNewTableAndDropOldTable(cli hbase.HBaseClient, tblName string, family string, splits [][]byte) error {
err := dropTable(cli, tblName)
if err != nil {
return err
}
t := hbase.NewTableDesciptor(tblName)
cf := hbase.NewColumnFamilyDescriptor(family)
cf.AddAttr("THEMIS_ENABLE", "true")
t.AddColumnDesc(cf)
err = cli.CreateTable(t, splits)
if err != nil {
return err
}
return nil
}
func dropTable(cli hbase.HBaseClient, tblName string) error {
b, err := cli.TableExists(tblName)
if err != nil {
return err
}
if !b {
log.Info("table not exist")
return nil
}
err = cli.DisableTable(tblName)
if err != nil {
return err
}
err = cli.DropTable(tblName)
if err != nil {
return err
}
return nil
}
func init() {
// disable unittest annoying log
log.SetLevelByString("error")
}