@@ -459,6 +459,26 @@ Y_UNIT_TEST_SUITE(TCmsTest) {
459459 " vdisk-3-1-0-1-0" , " vdisk-3-1-0-5-0" ));
460460 }
461461
462+ Y_UNIT_TEST (RequestReplaceManyDevicesOnOneNode)
463+ {
464+ TCmsTestEnv env (16 , 3 );
465+ NKikimrCms::TCmsConfig config;
466+ config.MutableClusterLimits ()->SetDisabledNodesLimit (3 );
467+ config.MutableClusterLimits ()->SetDisabledNodesRatioLimit (0 );
468+ env.SetCmsConfig (config);
469+
470+ auto rec1 = env.CheckPermissionRequest (" user" , false , false , false , true , TStatus::ALLOW,
471+ MakeAction (TAction::REPLACE_DEVICES, env.GetNodeId (0 ),
472+ 60000000 , env.PDiskName (0 , 0 ),
473+ env.PDiskName (0 , 1 ), env.PDiskName (0 , 2 )));
474+ UNIT_ASSERT_VALUES_EQUAL (rec1.PermissionsSize (), 1 );
475+
476+ auto rec2 = env.CheckPermissionRequest (" user" , false , false , false , true , TStatus::ALLOW,
477+ MakeAction (TAction::SHUTDOWN_HOST, env.GetNodeId (9 ),
478+ 60000000 ));
479+ UNIT_ASSERT_VALUES_EQUAL (rec2.PermissionsSize (), 1 );
480+ }
481+
462482 Y_UNIT_TEST (RequestReplaceBrokenDevices)
463483 {
464484 TCmsTestEnv env (8 );
0 commit comments