func TestFromFile(t *testing.T) { conn := NewConnFromFile(testfiles.Locate("fakezk_test_config.json")) keyspaces, _, err := conn.Children("/zk/testing/vt/ns") if err != nil { t.Errorf("conn.Children: %v", err) } if len(keyspaces) != 1 || keyspaces[0] != "test_keyspace" { t.Errorf("conn.Children returned bad value: %v", keyspaces) } data, _, err := conn.Get("/zk/testing/vt/ns/test_keyspace") if err != nil { t.Errorf("conn.Get(/zk/testing/vt/ns/test_keyspace): %v", err) } if !strings.Contains(data, "TabletTypes") { t.Errorf("conn.Get(/zk/testing/vt/ns/test_keyspace) returned bad value: %v", data) } data, _, err = conn.Get("/zk/testing/vt/ns/test_keyspace/0/master") if err != nil { t.Errorf("conn.Get(/zk/testing/vt/ns/test_keyspace/0/master): %v", err) } if !strings.Contains(data, "NamedPortMap") { t.Errorf("conn.Get(/zk/testing/vt/ns/test_keyspace/0/master) returned bad value: %v", data) } }
func newSpecialReader(t *testing.T, filename string) *specialReader { filename = testfiles.Locate(filename) b, err := ioutil.ReadFile(filename) if err != nil { t.Fatalf("Cannot read file %v: %v", filename, err) } return &specialReader{t, b, 0} }
func BenchmarkBinlogStreamerParseEvents(b *testing.B) { filename := testfiles.Locate("binlog_test/vt-0000062347-bin.000001") var svm sync2.ServiceManager count := 0 bls := &BinlogStreamer{dbname: "vt_test_database", sendTransaction: func(tx *proto.BinlogTransaction) error { count++ return nil }} for i := 0; i < b.N; i++ { events := readEvents(b, filename) svm.Go(func(svc *sync2.ServiceContext) error { _, err := bls.parseEvents(svc, events) return err }) if err := svm.Join(); err != ServerEOF { b.Errorf("%v", err) } } b.Logf("%d transactions processed", count) }
func createSetup(t *testing.T) (topo.Server, topo.Server) { fromConn := fakezk.NewConn() fromTS := zktopo.NewServer(fromConn) toConn := fakezk.NewConn() toTS := zktopo.NewServer(toConn) for _, zkPath := range []string{"/zk/test_cell/vt", "/zk/global/vt"} { if _, err := zk.CreateRecursive(fromConn, zkPath, "", 0, zookeeper.WorldACL(zookeeper.PERM_ALL)); err != nil { t.Fatalf("cannot init fromTS: %v", err) } } // create a keyspace and a couple tablets if err := fromTS.CreateKeyspace("test_keyspace", &topo.Keyspace{}); err != nil { t.Fatalf("cannot create keyspace: %v", err) } if err := fromTS.CreateShard("test_keyspace", "0", &topo.Shard{Cells: []string{"test_cell"}}); err != nil { t.Fatalf("cannot create shard: %v", err) } if err := topo.CreateTablet(fromTS, &topo.Tablet{ Alias: topo.TabletAlias{ Cell: "test_cell", Uid: 123, }, Hostname: "masterhost", Parent: topo.TabletAlias{}, IPAddr: "1.2.3.4", Portmap: map[string]int{ "vt": 8101, "vts": 8102, "mysql": 3306, }, Keyspace: "test_keyspace", Shard: "0", Type: topo.TYPE_MASTER, State: topo.STATE_READ_WRITE, DbNameOverride: "", KeyRange: key.KeyRange{}, }); err != nil { t.Fatalf("cannot create master tablet: %v", err) } if err := topo.CreateTablet(fromTS, &topo.Tablet{ Alias: topo.TabletAlias{ Cell: "test_cell", Uid: 234, }, IPAddr: "2.3.4.5", Portmap: map[string]int{ "vt": 8101, "vts": 8102, "mysql": 3306, }, Hostname: "slavehost", Parent: topo.TabletAlias{ Cell: "test_cell", Uid: 123, }, Keyspace: "test_keyspace", Shard: "0", Type: topo.TYPE_REPLICA, State: topo.STATE_READ_ONLY, DbNameOverride: "", KeyRange: key.KeyRange{}, }); err != nil { t.Fatalf("cannot create slave tablet: %v", err) } os.Setenv("ZK_CLIENT_CONFIG", testfiles.Locate("topo_helpers_test_zk_client.json")) cells, err := fromTS.GetKnownCells() if err != nil { t.Fatalf("fromTS.GetKnownCells: %v", err) } log.Infof("Cells: %v", cells) return fromTS, toTS }
func locateFile(name string) string { if path.IsAbs(name) { return name } return testfiles.Locate("tabletserver/" + name) }
func locateFile(name string) string { if path.IsAbs(name) { return name } return testfiles.Locate("vtgate/" + name) }