github.com/insionng/yougam@v0.0.0-20170714101924-2bc18d833463/libraries/pingcap/tidb/store/hbase/hbase_test.go (about) 1 // Copyright 2015 PingCAP, Inc. 2 // 3 // Licensed under the Apache License, Version 2.0 (the "License"); 4 // you may not use this file except in compliance with the License. 5 // You may obtain a copy of the License at 6 // 7 // http://www.apache.org/licenses/LICENSE-2.0 8 // 9 // Unless required by applicable law or agreed to in writing, software 10 // distributed under the License is distributed on an "AS IS" BASIS, 11 // See the License for the specific language governing permissions and 12 // limitations under the License. 13 14 package hbasekv 15 16 import ( 17 "testing" 18 19 . "github.com/insionng/yougam/libraries/pingcap/check" 20 ) 21 22 func TestT(t *testing.T) { 23 TestingT(t) 24 } 25 26 var _ = Suite(&testHBaseSuite{}) 27 28 type testHBaseSuite struct { 29 } 30 31 func (t *testHBaseSuite) TestParsePath(c *C) { 32 tbl := []struct { 33 dsn string 34 ok bool 35 zks string 36 tso string 37 table string 38 }{ 39 {"hbase://z,k,zk/tbl", true, "z,k,zk", tsoTypeLocal, "tbl"}, 40 {"hbase://z:80,k:80/tbl?tso=zk", true, "z:80,k:80", tsoTypeZK, "tbl"}, 41 {"goleveldb://zk/tbl", false, "", "", ""}, 42 {"hbase://zk/path/tbl", false, "", "", ""}, 43 {"hbase:///zk/tbl", false, "", "", ""}, 44 } 45 46 for _, t := range tbl { 47 zks, oracle, table, err := parsePath(t.dsn) 48 if t.ok { 49 c.Assert(err, IsNil, Commentf("dsn=%v", t.dsn)) 50 c.Assert(zks, DeepEquals, t.zks, Commentf("dsn=%v", t.dsn)) 51 c.Assert(oracle, Equals, t.tso, Commentf("dsn=%v", t.dsn)) 52 c.Assert(table, Equals, t.table, Commentf("dsn=%v", t.dsn)) 53 } else { 54 c.Assert(err, NotNil, Commentf("dsn=%v", t.dsn)) 55 } 56 } 57 }