@@ -1050,39 +1050,31 @@ Y_UNIT_TEST_SUITE(TCmsTest) {
1050
1050
TestAvailabilityMode (MODE_FORCE_RESTART, true );
1051
1051
}
1052
1052
1053
- void TestAvailabilityModeScheduled (EAvailabilityMode mode, bool disconnectNodes)
1053
+ void TestKeepAvailabileModeScheduled ( bool disconnectNodes)
1054
1054
{
1055
- Y_ABORT_UNLESS (mode == MODE_KEEP_AVAILABLE
1056
- || mode == MODE_FORCE_RESTART);
1057
-
1058
1055
TCmsTestEnv env (8 );
1059
1056
env.AdvanceCurrentTime (TDuration::Minutes (3 ));
1060
1057
1061
1058
auto res1 = env.ExtractPermissions
1062
1059
(env.CheckPermissionRequest (" user" , true , false , true ,
1063
- true , mode , TStatus::ALLOW_PARTIAL,
1060
+ true , MODE_KEEP_AVAILABLE , TStatus::ALLOW_PARTIAL,
1064
1061
MakeAction (TAction::SHUTDOWN_HOST, env.GetNodeId (0 ), 60000000 ),
1065
1062
MakeAction (TAction::SHUTDOWN_HOST, env.GetNodeId (1 ), 60000000 ),
1066
1063
MakeAction (TAction::SHUTDOWN_HOST, env.GetNodeId (2 ), 60000000 )));
1067
1064
if (disconnectNodes) {
1068
1065
TFakeNodeWhiteboardService::Info[env.GetNodeId (0 )].Connected = false ;
1069
1066
}
1070
1067
1071
- env.CheckRequest (" user" , res1.first , false , mode , TStatus::ALLOW_PARTIAL, 1 );
1068
+ env.CheckRequest (" user" , res1.first , false , MODE_KEEP_AVAILABLE , TStatus::ALLOW_PARTIAL, 1 );
1072
1069
if (disconnectNodes) {
1073
1070
TFakeNodeWhiteboardService::Info[env.GetNodeId (1 )].Connected = false ;
1074
1071
}
1075
1072
1076
- env.CheckRequest (" user" , res1.first , false , mode,
1077
- mode == MODE_KEEP_AVAILABLE ? TStatus::DISALLOW_TEMP : TStatus::ALLOW,
1078
- mode == MODE_KEEP_AVAILABLE ? 0 : 1 );
1079
- if (mode != MODE_KEEP_AVAILABLE) {
1080
- return ;
1081
- }
1073
+ env.CheckRequest (" user" , res1.first , false , MODE_KEEP_AVAILABLE, TStatus::DISALLOW_TEMP, 0 );
1082
1074
1083
1075
env.CheckDonePermission (" user" , res1.second [0 ]);
1084
1076
1085
- env.CheckRequest (" user" , res1.first , false , mode ,
1077
+ env.CheckRequest (" user" , res1.first , false , MODE_KEEP_AVAILABLE ,
1086
1078
disconnectNodes ? TStatus::DISALLOW_TEMP : TStatus::ALLOW,
1087
1079
disconnectNodes ? 0 : 1 );
1088
1080
if (!disconnectNodes) {
@@ -1091,27 +1083,17 @@ Y_UNIT_TEST_SUITE(TCmsTest) {
1091
1083
1092
1084
TFakeNodeWhiteboardService::Info[env.GetNodeId (0 )].Connected = true ;
1093
1085
1094
- env.CheckRequest (" user" , res1.first , false , mode , TStatus::ALLOW, 1 );
1086
+ env.CheckRequest (" user" , res1.first , false , MODE_KEEP_AVAILABLE , TStatus::ALLOW, 1 );
1095
1087
}
1096
1088
1097
1089
Y_UNIT_TEST (TestKeepAvailableModeScheduled)
1098
1090
{
1099
- TestAvailabilityModeScheduled (MODE_KEEP_AVAILABLE, false );
1100
- }
1101
-
1102
- Y_UNIT_TEST (TestForceRestartModeScheduled)
1103
- {
1104
- TestAvailabilityModeScheduled (MODE_FORCE_RESTART, false );
1091
+ TestKeepAvailabileModeScheduled (false );
1105
1092
}
1106
1093
1107
1094
Y_UNIT_TEST (TestKeepAvailableModeScheduledDisconnects)
1108
1095
{
1109
- TestAvailabilityModeScheduled (MODE_KEEP_AVAILABLE, true );
1110
- }
1111
-
1112
- Y_UNIT_TEST (TestForceRestartModeScheduledDisconnects)
1113
- {
1114
- TestAvailabilityModeScheduled (MODE_FORCE_RESTART, true );
1096
+ TestKeepAvailabileModeScheduled (true );
1115
1097
}
1116
1098
1117
1099
Y_UNIT_TEST (TestOutdatedState)
@@ -1498,10 +1480,12 @@ Y_UNIT_TEST_SUITE(TCmsTest) {
1498
1480
env.CheckPermissionRequest (" user" , true , true , false , true , MODE_KEEP_AVAILABLE, TStatus::ALLOW_PARTIAL,
1499
1481
MakeAction (TAction::RESTART_SERVICES, env.GetNodeId (2 ), 60000000 , " storage" ),
1500
1482
MakeAction (TAction::RESTART_SERVICES, env.GetNodeId (3 ), 60000000 , " storage" ));
1501
- env.CheckPermissionRequest (" user" , true , true , false , true , MODE_FORCE_RESTART , TStatus::ALLOW_PARTIAL,
1483
+ env.CheckPermissionRequest (" user" , true , true , false , true , MODE_MAX_AVAILABILITY , TStatus::ALLOW_PARTIAL,
1502
1484
MakeAction (TAction::RESTART_SERVICES, env.GetNodeId (2 ), 60000000 , " storage" ),
1503
1485
MakeAction (TAction::RESTART_SERVICES, env.GetNodeId (3 ), 60000000 , " storage" ));
1504
- env.CheckPermissionRequest (" user" , true , true , false , true , MODE_MAX_AVAILABILITY, TStatus::ALLOW_PARTIAL,
1486
+
1487
+ // But it is possible for FORCE RESTART mode
1488
+ env.CheckPermissionRequest (" user" , true , true , false , true , MODE_FORCE_RESTART, TStatus::ALLOW,
1505
1489
MakeAction (TAction::RESTART_SERVICES, env.GetNodeId (2 ), 60000000 , " storage" ),
1506
1490
MakeAction (TAction::RESTART_SERVICES, env.GetNodeId (3 ), 60000000 , " storage" ));
1507
1491
@@ -1538,14 +1522,16 @@ Y_UNIT_TEST_SUITE(TCmsTest) {
1538
1522
MakeAction (TAction::RESTART_SERVICES, env.GetNodeId (4 ), 60000000 , " storage" ),
1539
1523
MakeAction (TAction::RESTART_SERVICES, env.GetNodeId (4 ), 60000000 , " storage" ),
1540
1524
MakeAction (TAction::RESTART_SERVICES, env.GetNodeId (5 ), 60000000 , " storage" ));
1541
- env.CheckPermissionRequest (" user" , true , true , false , true , MODE_FORCE_RESTART, TStatus::ALLOW_PARTIAL,
1525
+ env.CheckPermissionRequest (" user" , true , true , false , true , MODE_MAX_AVAILABILITY, TStatus::ALLOW_PARTIAL,
1526
+ MakeAction (TAction::RESTART_SERVICES, env.GetNodeId (2 ), 60000000 , " storage" ),
1527
+ MakeAction (TAction::RESTART_SERVICES, env.GetNodeId (3 ), 60000000 , " storage" ));
1528
+
1529
+ // But it is possible for FORCE RESTART mode
1530
+ env.CheckPermissionRequest (" user" , true , true , false , true , MODE_FORCE_RESTART, TStatus::ALLOW,
1542
1531
MakeAction (TAction::RESTART_SERVICES, env.GetNodeId (3 ), 60000000 , " storage" ),
1543
1532
MakeAction (TAction::RESTART_SERVICES, env.GetNodeId (4 ), 60000000 , " storage" ),
1544
1533
MakeAction (TAction::RESTART_SERVICES, env.GetNodeId (5 ), 60000000 , " storage" ),
1545
1534
MakeAction (TAction::RESTART_SERVICES, env.GetNodeId (6 ), 60000000 , " storage" ));
1546
- env.CheckPermissionRequest (" user" , true , true , false , true , MODE_MAX_AVAILABILITY, TStatus::ALLOW_PARTIAL,
1547
- MakeAction (TAction::RESTART_SERVICES, env.GetNodeId (2 ), 60000000 , " storage" ),
1548
- MakeAction (TAction::RESTART_SERVICES, env.GetNodeId (3 ), 60000000 , " storage" ));
1549
1535
1550
1536
// It's ok to get two permissions for one group if PartialPermissionAllowed is set to false
1551
1537
env.CheckPermissionRequest (" user" , false , true , false , true , MODE_KEEP_AVAILABLE, TStatus::ALLOW,
0 commit comments