@@ -284,6 +284,30 @@ func TestMoveTablesSwitchTrafficWithMaxLag(t *testing.T) {
284284 c .Assert (buf .String (), qt .JSONEquals , map [string ]string {"summary" : "switched" })
285285}
286286
287+ func TestMoveTablesSwitchTrafficRequiresTabletTypes (t * testing.T ) {
288+ c := qt .New (t )
289+
290+ org := "my-org"
291+ db := "my-db"
292+ branch := "my-branch"
293+
294+ svc := & mock.MoveTablesService {}
295+ var buf bytes.Buffer
296+ ch := moveTablesTestHelper (org , svc , & mock.VtctldService {}, & buf )
297+
298+ cmd := MoveTablesCmd (ch )
299+ cmd .SetArgs ([]string {"switch-traffic" , db , branch ,
300+ "--workflow" , "my-workflow" ,
301+ "--target-keyspace" , "target-ks" ,
302+ })
303+ err := cmd .Execute ()
304+
305+ c .Assert (err , qt .IsNotNil )
306+ c .Assert (err .Error (), qt .Contains , "required flag" )
307+ c .Assert (svc .SwitchTrafficFnInvoked , qt .IsFalse )
308+ c .Assert (buf .String (), qt .Equals , "" )
309+ }
310+
287311func TestMoveTablesReverseTrafficWithFlags (t * testing.T ) {
288312 c := qt .New (t )
289313 setMoveTablesPollInterval (t , 0 )
@@ -426,6 +450,7 @@ func TestMoveTablesSwitchTrafficOperationFailure(t *testing.T) {
426450 cmd .SetArgs ([]string {"switch-traffic" , db , branch ,
427451 "--workflow" , "my-workflow" ,
428452 "--target-keyspace" , "target-ks" ,
453+ "--tablet-types" , "PRIMARY" ,
429454 })
430455
431456 err := cmd .Execute ()
@@ -464,6 +489,7 @@ func TestMoveTablesSwitchTrafficOperationTimeout(t *testing.T) {
464489 cmd .SetArgs ([]string {"switch-traffic" , db , branch ,
465490 "--workflow" , "my-workflow" ,
466491 "--target-keyspace" , "target-ks" ,
492+ "--tablet-types" , "PRIMARY" ,
467493 })
468494
469495 err := cmd .Execute ()
0 commit comments