@@ -1167,39 +1167,31 @@ Y_UNIT_TEST_SUITE(TCmsTest) {
1167
1167
TestAvailabilityMode (MODE_FORCE_RESTART, true );
1168
1168
}
1169
1169
1170
- void TestAvailabilityModeScheduled (EAvailabilityMode mode, bool disconnectNodes)
1170
+ void TestKeepAvailabileModeScheduled ( bool disconnectNodes)
1171
1171
{
1172
- Y_ABORT_UNLESS (mode == MODE_KEEP_AVAILABLE
1173
- || mode == MODE_FORCE_RESTART);
1174
-
1175
1172
TCmsTestEnv env (8 );
1176
1173
env.AdvanceCurrentTime (TDuration::Minutes (3 ));
1177
1174
1178
1175
auto res1 = env.ExtractPermissions
1179
1176
(env.CheckPermissionRequest (" user" , true , false , true ,
1180
- true , mode , TStatus::ALLOW_PARTIAL,
1177
+ true , MODE_KEEP_AVAILABLE , TStatus::ALLOW_PARTIAL,
1181
1178
MakeAction (TAction::SHUTDOWN_HOST, env.GetNodeId (0 ), 60000000 ),
1182
1179
MakeAction (TAction::SHUTDOWN_HOST, env.GetNodeId (1 ), 60000000 ),
1183
1180
MakeAction (TAction::SHUTDOWN_HOST, env.GetNodeId (2 ), 60000000 )));
1184
1181
if (disconnectNodes) {
1185
1182
TFakeNodeWhiteboardService::Info[env.GetNodeId (0 )].Connected = false ;
1186
1183
}
1187
1184
1188
- env.CheckRequest (" user" , res1.first , false , mode , TStatus::ALLOW_PARTIAL, 1 );
1185
+ env.CheckRequest (" user" , res1.first , false , MODE_KEEP_AVAILABLE , TStatus::ALLOW_PARTIAL, 1 );
1189
1186
if (disconnectNodes) {
1190
1187
TFakeNodeWhiteboardService::Info[env.GetNodeId (1 )].Connected = false ;
1191
1188
}
1192
1189
1193
- env.CheckRequest (" user" , res1.first , false , mode,
1194
- mode == MODE_KEEP_AVAILABLE ? TStatus::DISALLOW_TEMP : TStatus::ALLOW,
1195
- mode == MODE_KEEP_AVAILABLE ? 0 : 1 );
1196
- if (mode != MODE_KEEP_AVAILABLE) {
1197
- return ;
1198
- }
1190
+ env.CheckRequest (" user" , res1.first , false , MODE_KEEP_AVAILABLE, TStatus::DISALLOW_TEMP, 0 );
1199
1191
1200
1192
env.CheckDonePermission (" user" , res1.second [0 ]);
1201
1193
1202
- env.CheckRequest (" user" , res1.first , false , mode ,
1194
+ env.CheckRequest (" user" , res1.first , false , MODE_KEEP_AVAILABLE ,
1203
1195
disconnectNodes ? TStatus::DISALLOW_TEMP : TStatus::ALLOW,
1204
1196
disconnectNodes ? 0 : 1 );
1205
1197
if (!disconnectNodes) {
@@ -1208,27 +1200,17 @@ Y_UNIT_TEST_SUITE(TCmsTest) {
1208
1200
1209
1201
TFakeNodeWhiteboardService::Info[env.GetNodeId (0 )].Connected = true ;
1210
1202
1211
- env.CheckRequest (" user" , res1.first , false , mode , TStatus::ALLOW, 1 );
1203
+ env.CheckRequest (" user" , res1.first , false , MODE_KEEP_AVAILABLE , TStatus::ALLOW, 1 );
1212
1204
}
1213
1205
1214
1206
Y_UNIT_TEST (TestKeepAvailableModeScheduled)
1215
1207
{
1216
- TestAvailabilityModeScheduled (MODE_KEEP_AVAILABLE, false );
1217
- }
1218
-
1219
- Y_UNIT_TEST (TestForceRestartModeScheduled)
1220
- {
1221
- TestAvailabilityModeScheduled (MODE_FORCE_RESTART, false );
1208
+ TestKeepAvailabileModeScheduled (false );
1222
1209
}
1223
1210
1224
1211
Y_UNIT_TEST (TestKeepAvailableModeScheduledDisconnects)
1225
1212
{
1226
- TestAvailabilityModeScheduled (MODE_KEEP_AVAILABLE, true );
1227
- }
1228
-
1229
- Y_UNIT_TEST (TestForceRestartModeScheduledDisconnects)
1230
- {
1231
- TestAvailabilityModeScheduled (MODE_FORCE_RESTART, true );
1213
+ TestKeepAvailabileModeScheduled (true );
1232
1214
}
1233
1215
1234
1216
Y_UNIT_TEST (TestOutdatedState)
@@ -1615,10 +1597,12 @@ Y_UNIT_TEST_SUITE(TCmsTest) {
1615
1597
env.CheckPermissionRequest (" user" , true , true , false , true , MODE_KEEP_AVAILABLE, TStatus::ALLOW_PARTIAL,
1616
1598
MakeAction (TAction::RESTART_SERVICES, env.GetNodeId (2 ), 60000000 , " storage" ),
1617
1599
MakeAction (TAction::RESTART_SERVICES, env.GetNodeId (3 ), 60000000 , " storage" ));
1618
- env.CheckPermissionRequest (" user" , true , true , false , true , MODE_FORCE_RESTART , TStatus::ALLOW_PARTIAL,
1600
+ env.CheckPermissionRequest (" user" , true , true , false , true , MODE_MAX_AVAILABILITY , TStatus::ALLOW_PARTIAL,
1619
1601
MakeAction (TAction::RESTART_SERVICES, env.GetNodeId (2 ), 60000000 , " storage" ),
1620
1602
MakeAction (TAction::RESTART_SERVICES, env.GetNodeId (3 ), 60000000 , " storage" ));
1621
- env.CheckPermissionRequest (" user" , true , true , false , true , MODE_MAX_AVAILABILITY, TStatus::ALLOW_PARTIAL,
1603
+
1604
+ // But it is possible for FORCE RESTART mode
1605
+ env.CheckPermissionRequest (" user" , true , true , false , true , MODE_FORCE_RESTART, TStatus::ALLOW,
1622
1606
MakeAction (TAction::RESTART_SERVICES, env.GetNodeId (2 ), 60000000 , " storage" ),
1623
1607
MakeAction (TAction::RESTART_SERVICES, env.GetNodeId (3 ), 60000000 , " storage" ));
1624
1608
@@ -1655,14 +1639,16 @@ Y_UNIT_TEST_SUITE(TCmsTest) {
1655
1639
MakeAction (TAction::RESTART_SERVICES, env.GetNodeId (4 ), 60000000 , " storage" ),
1656
1640
MakeAction (TAction::RESTART_SERVICES, env.GetNodeId (4 ), 60000000 , " storage" ),
1657
1641
MakeAction (TAction::RESTART_SERVICES, env.GetNodeId (5 ), 60000000 , " storage" ));
1658
- env.CheckPermissionRequest (" user" , true , true , false , true , MODE_FORCE_RESTART, TStatus::ALLOW_PARTIAL,
1642
+ env.CheckPermissionRequest (" user" , true , true , false , true , MODE_MAX_AVAILABILITY, TStatus::ALLOW_PARTIAL,
1643
+ MakeAction (TAction::RESTART_SERVICES, env.GetNodeId (2 ), 60000000 , " storage" ),
1644
+ MakeAction (TAction::RESTART_SERVICES, env.GetNodeId (3 ), 60000000 , " storage" ));
1645
+
1646
+ // But it is possible for FORCE RESTART mode
1647
+ env.CheckPermissionRequest (" user" , true , true , false , true , MODE_FORCE_RESTART, TStatus::ALLOW,
1659
1648
MakeAction (TAction::RESTART_SERVICES, env.GetNodeId (3 ), 60000000 , " storage" ),
1660
1649
MakeAction (TAction::RESTART_SERVICES, env.GetNodeId (4 ), 60000000 , " storage" ),
1661
1650
MakeAction (TAction::RESTART_SERVICES, env.GetNodeId (5 ), 60000000 , " storage" ),
1662
1651
MakeAction (TAction::RESTART_SERVICES, env.GetNodeId (6 ), 60000000 , " storage" ));
1663
- env.CheckPermissionRequest (" user" , true , true , false , true , MODE_MAX_AVAILABILITY, TStatus::ALLOW_PARTIAL,
1664
- MakeAction (TAction::RESTART_SERVICES, env.GetNodeId (2 ), 60000000 , " storage" ),
1665
- MakeAction (TAction::RESTART_SERVICES, env.GetNodeId (3 ), 60000000 , " storage" ));
1666
1652
1667
1653
// It's ok to get two permissions for one group if PartialPermissionAllowed is set to false
1668
1654
env.CheckPermissionRequest (" user" , false , true , false , true , MODE_KEEP_AVAILABLE, TStatus::ALLOW,
0 commit comments