// checkSrvVSchema tests the SrvVSchema methods (other than watch). func checkSrvVSchema(t *testing.T, ts topo.Impl) { ctx := context.Background() cell := getLocalCell(ctx, t, ts) // check GetSrvVSchema returns topo.ErrNoNode if no SrvVSchema if _, err := ts.GetSrvVSchema(ctx, cell); err != topo.ErrNoNode { t.Errorf("GetSrvVSchema(not set): %v", err) } srvVSchema := &vschemapb.SrvVSchema{ Keyspaces: map[string]*vschemapb.Keyspace{ "test_keyspace": { Sharded: true, }, }, } if err := ts.UpdateSrvVSchema(ctx, cell, srvVSchema); err != nil { t.Errorf("UpdateSrvVSchema(1): %v", err) } if v, err := ts.GetSrvVSchema(ctx, cell); err != nil || !proto.Equal(srvVSchema, v) { t.Errorf("GetSrvVSchema(valid): %v %v", err, v) } }