github.com/insionng/yougam@v0.0.0-20170714101924-2bc18d833463/libraries/pingcap/go-themis/util_test.go (about)

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