Skip to content

Commit f46ab37

Browse files
committed
more test cases
Signed-off-by: Priya Bibra <pbibra@slack-corp.com>
1 parent 9adb0c9 commit f46ab37

File tree

1 file changed

+62
-46
lines changed

1 file changed

+62
-46
lines changed

go/vt/vtorc/logic/tablet_discovery_test.go

Lines changed: 62 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -283,95 +283,111 @@ func TestGetKeyspaceShardsToWatch(t *testing.T) {
283283

284284
ts = memorytopo.NewServer(ctx, "test_cell")
285285

286-
shards1 := []string{"-40", "40-50", "50-60", "60-70", "70-80", "80-"}
287-
keyspace1 := "test_keyspace"
288-
289-
shards2 := []string{"-1000", "1000-1100", "1100-1200", "1200-1300", "1300-"}
290-
keyspace2 := "test_keyspace2"
291-
292-
if err := ts.CreateKeyspace(ctx, keyspace1, &topodatapb.Keyspace{}); err != nil {
293-
t.Fatalf("cannot create keyspace: %v", err)
286+
keyspaces := []string{"test_keyspace", "test_keyspace2", "test_keyspace3", "test_keyspace4"}
287+
for _, k := range keyspaces {
288+
if err := ts.CreateKeyspace(ctx, k, &topodatapb.Keyspace{}); err != nil {
289+
t.Fatalf("cannot create keyspace: %v", err)
290+
}
294291
}
295292

296-
if err := ts.CreateKeyspace(ctx, keyspace2, &topodatapb.Keyspace{}); err != nil {
297-
t.Fatalf("cannot create keyspace: %v", err)
298-
}
293+
shards1 := []string{"-40", "40-50", "50-60", "60-70", "70-80", "80-"}
294+
shards2 := []string{"-1000", "1000-1100", "1100-1200", "1200-1300", "1300-"}
299295

300296
for _, shard := range shards1 {
301-
if err := ts.CreateShard(ctx, keyspace1, shard); err != nil {
297+
if err := ts.CreateShard(ctx, keyspaces[0], shard); err != nil {
302298
t.Fatalf("cannot create shard: %v", err)
303299
}
304300
}
305301

306302
for _, shard := range shards2 {
307-
if err := ts.CreateShard(ctx, keyspace2, shard); err != nil {
303+
if err := ts.CreateShard(ctx, keyspaces[1], shard); err != nil {
308304
t.Fatalf("cannot create shard: %v", err)
309305
}
310306
}
311307

308+
if err := ts.CreateShard(ctx, keyspaces[2], "-"); err != nil {
309+
t.Fatalf("cannot create shard: %v", err)
310+
}
311+
312+
if err := ts.CreateShard(ctx, keyspaces[3], "0"); err != nil {
313+
t.Fatalf("cannot create shard: %v", err)
314+
}
315+
312316
testcases := []*struct {
313317
name string
314318
clusters []string
315319
expected []*topo.KeyspaceShard
316320
}{
317321
{
318322
name: "single shard and range",
319-
clusters: []string{fmt.Sprintf("%s/40-50", keyspace1), fmt.Sprintf("%s/60-80", keyspace1)},
323+
clusters: []string{fmt.Sprintf("%s/40-50", keyspaces[0]), fmt.Sprintf("%s/60-80", keyspaces[0])},
320324
expected: []*topo.KeyspaceShard{
321-
{Keyspace: keyspace1, Shard: "40-50"},
322-
{Keyspace: keyspace1, Shard: "60-70"},
323-
{Keyspace: keyspace1, Shard: "70-80"},
325+
{Keyspace: keyspaces[0], Shard: "40-50"},
326+
{Keyspace: keyspaces[0], Shard: "60-70"},
327+
{Keyspace: keyspaces[0], Shard: "70-80"},
324328
},
325329
}, {
326330
name: "single shard",
327-
clusters: []string{fmt.Sprintf("%s/40-50", keyspace1)},
328-
expected: []*topo.KeyspaceShard{{Keyspace: keyspace1, Shard: "40-50"}},
331+
clusters: []string{fmt.Sprintf("%s/40-50", keyspaces[0])},
332+
expected: []*topo.KeyspaceShard{{Keyspace: keyspaces[0], Shard: "40-50"}},
329333
}, {
330334
name: "full keyspace",
331-
clusters: []string{keyspace1},
335+
clusters: []string{keyspaces[0]},
332336
expected: []*topo.KeyspaceShard{
333-
{Keyspace: keyspace1, Shard: "-40"},
334-
{Keyspace: keyspace1, Shard: "40-50"},
335-
{Keyspace: keyspace1, Shard: "50-60"},
336-
{Keyspace: keyspace1, Shard: "60-70"},
337-
{Keyspace: keyspace1, Shard: "70-80"},
338-
{Keyspace: keyspace1, Shard: "80-"},
337+
{Keyspace: keyspaces[0], Shard: "-40"},
338+
{Keyspace: keyspaces[0], Shard: "40-50"},
339+
{Keyspace: keyspaces[0], Shard: "50-60"},
340+
{Keyspace: keyspaces[0], Shard: "60-70"},
341+
{Keyspace: keyspaces[0], Shard: "70-80"},
342+
{Keyspace: keyspaces[0], Shard: "80-"},
339343
},
340344
}, {
341345
name: "full keyspace with keyrange",
342-
clusters: []string{keyspace1, fmt.Sprintf("%s/60-80", keyspace1)},
346+
clusters: []string{keyspaces[0], fmt.Sprintf("%s/60-80", keyspaces[0])},
343347
expected: []*topo.KeyspaceShard{
344-
{Keyspace: keyspace1, Shard: "-40"},
345-
{Keyspace: keyspace1, Shard: "40-50"},
346-
{Keyspace: keyspace1, Shard: "50-60"},
347-
{Keyspace: keyspace1, Shard: "60-70"},
348-
{Keyspace: keyspace1, Shard: "70-80"},
349-
{Keyspace: keyspace1, Shard: "80-"},
348+
{Keyspace: keyspaces[0], Shard: "-40"},
349+
{Keyspace: keyspaces[0], Shard: "40-50"},
350+
{Keyspace: keyspaces[0], Shard: "50-60"},
351+
{Keyspace: keyspaces[0], Shard: "60-70"},
352+
{Keyspace: keyspaces[0], Shard: "70-80"},
353+
{Keyspace: keyspaces[0], Shard: "80-"},
350354
},
351355
}, {
352356
name: "multi keyspace",
353-
clusters: []string{keyspace1, fmt.Sprintf("%s/1100-1300", keyspace2)},
357+
clusters: []string{keyspaces[0], fmt.Sprintf("%s/1100-1300", keyspaces[1])},
354358
expected: []*topo.KeyspaceShard{
355-
{Keyspace: keyspace2, Shard: "1100-1200"},
356-
{Keyspace: keyspace2, Shard: "1200-1300"},
357-
{Keyspace: keyspace1, Shard: "-40"},
358-
{Keyspace: keyspace1, Shard: "40-50"},
359-
{Keyspace: keyspace1, Shard: "50-60"},
360-
{Keyspace: keyspace1, Shard: "60-70"},
361-
{Keyspace: keyspace1, Shard: "70-80"},
362-
{Keyspace: keyspace1, Shard: "80-"},
359+
{Keyspace: keyspaces[1], Shard: "1100-1200"},
360+
{Keyspace: keyspaces[1], Shard: "1200-1300"},
361+
{Keyspace: keyspaces[0], Shard: "-40"},
362+
{Keyspace: keyspaces[0], Shard: "40-50"},
363+
{Keyspace: keyspaces[0], Shard: "50-60"},
364+
{Keyspace: keyspaces[0], Shard: "60-70"},
365+
{Keyspace: keyspaces[0], Shard: "70-80"},
366+
{Keyspace: keyspaces[0], Shard: "80-"},
363367
},
364368
}, {
365369
name: "partial success with non-existent shard",
366-
clusters: []string{"test_keyspace3/10-20", fmt.Sprintf("%s/1100-1300", keyspace2)},
370+
clusters: []string{"non-existent/10-20", fmt.Sprintf("%s/1100-1300", keyspaces[1])},
367371
expected: []*topo.KeyspaceShard{
368-
{Keyspace: keyspace2, Shard: "1100-1200"},
369-
{Keyspace: keyspace2, Shard: "1200-1300"},
372+
{Keyspace: keyspaces[1], Shard: "1100-1200"},
373+
{Keyspace: keyspaces[1], Shard: "1200-1300"},
370374
},
371375
}, {
372376
name: "empty result",
373-
clusters: []string{"test_keyspace3/10-20"},
377+
clusters: []string{"non-existent/10-20"},
374378
expected: nil,
379+
}, {
380+
name: "single keyspace -",
381+
clusters: []string{keyspaces[2]},
382+
expected: []*topo.KeyspaceShard{
383+
{Keyspace: keyspaces[2], Shard: "-"},
384+
},
385+
}, {
386+
name: "single keyspace 0",
387+
clusters: []string{keyspaces[3]},
388+
expected: []*topo.KeyspaceShard{
389+
{Keyspace: keyspaces[3], Shard: "0"},
390+
},
375391
},
376392
}
377393

0 commit comments

Comments
 (0)