@@ -91,6 +91,7 @@ Y_UNIT_TEST_SUITE(TSchemeShardLoginTest) {
9191 TTestEnv env (runtime);
9292 ui64 txId = 100 ;
9393 CreateAlterLoginCreateUser (runtime, ++txId, " /MyRoot" , " user1" , " password1" );
94+ CreateAlterLoginCreateUser (runtime, ++txId, " /MyRoot" , " user2" , " password2" );
9495 auto resultLogin = Login (runtime, " user1" , " password1" );
9596 UNIT_ASSERT_VALUES_EQUAL (resultLogin.error (), " " );
9697
@@ -150,6 +151,7 @@ Y_UNIT_TEST_SUITE(TSchemeShardLoginTest) {
150151 TTestEnv env (runtime);
151152 ui64 txId = 100 ;
152153 CreateAlterLoginCreateUser (runtime, ++txId, " /MyRoot" , " user1" , " password1" );
154+ CreateAlterLoginCreateUser (runtime, ++txId, " /MyRoot" , " user2" , " password2" );
153155 auto resultLogin = Login (runtime, " user1" , " password1" );
154156 UNIT_ASSERT_VALUES_EQUAL (resultLogin.error (), " " );
155157
@@ -228,6 +230,7 @@ Y_UNIT_TEST_SUITE(TSchemeShardLoginTest) {
228230 TTestEnv env (runtime);
229231 ui64 txId = 100 ;
230232 CreateAlterLoginCreateUser (runtime, ++txId, " /MyRoot" , " user1" , " password1" );
233+ CreateAlterLoginCreateUser (runtime, ++txId, " /MyRoot" , " user2" , " password2" );
231234 auto resultLogin = Login (runtime, " user1" , " password1" );
232235 UNIT_ASSERT_VALUES_EQUAL (resultLogin.error (), " " );
233236
@@ -268,6 +271,32 @@ Y_UNIT_TEST_SUITE(TSchemeShardLoginTest) {
268271 }
269272 }
270273
274+ Y_UNIT_TEST (AddAccess_NonExisting) {
275+ TTestBasicRuntime runtime;
276+ TTestEnv env (runtime);
277+ ui64 txId = 100 ;
278+
279+ AsyncMkDir (runtime, ++txId, " /MyRoot" , " Dir1" );
280+ TestModificationResult (runtime, txId, NKikimrScheme::StatusAccepted);
281+
282+ {
283+ NACLib::TDiffACL diffACL;
284+ diffACL.AddAccess (NACLib::EAccessType::Allow, NACLib::GenericUse, " user1" );
285+ AsyncModifyACL (runtime, ++txId, " /MyRoot" , " Dir1" , diffACL.SerializeAsString (), " " );
286+ TestModificationResults (runtime, txId, {{NKikimrScheme::StatusPreconditionFailed, " Sid not found" }});
287+ }
288+
289+ {
290+ AsyncModifyACL (runtime, ++txId, " /MyRoot" , " Dir1" , NACLib::TDiffACL{}.SerializeAsString (), " user1" );
291+ TestModificationResults (runtime, txId, {{NKikimrScheme::StatusPreconditionFailed, " Sid not found" }});
292+ }
293+
294+ CreateAlterLoginCreateUser (runtime, ++txId, " /MyRoot" , " user1" , " password1" );
295+
296+ TestDescribeResult (DescribePath (runtime, " /MyRoot/Dir1" ),
297+ {NLs::HasNoRight (" +U:user1" ), NLs::HasNoEffectiveRight (" +U:user1" ), NLs::HasOwner (" root@builtin" )});
298+ }
299+
271300 Y_UNIT_TEST (DisableBuiltinAuthMechanism) {
272301 TTestBasicRuntime runtime;
273302 TTestEnv env (runtime);
0 commit comments