public void AclProcessorReturnsLinksTest() { if (!_shoudRunLinkTests) { Assert.Inconclusive(); } void verifyAclLinkForPath(string rootPath, string LinkPath) { // Apply acls var aclStats = AclProcessor.RunAclProcessor(rootPath, _adlsClient, _aclEntriesToSet, RequestedAclType.ModifyAcl, 25); Assert.AreEqual(aclStats.LinkPaths.Length, 1); Assert.AreEqual(aclStats.LinkPaths[0], LinkPath); // runc acl verifier var aclVerifyStatsPath1 = AclProcessor.RunAclVerifier(rootPath, _adlsClient, _aclEntriesToSet, RequestedAclType.ModifyAcl, 25); Assert.IsTrue(aclStats.FilesProcessed == aclVerifyStatsPath1.FilesProcessed); Assert.IsTrue(aclStats.DirectoryProcessed == aclVerifyStatsPath1.DirectoryProcessed); Assert.IsTrue(0 == aclVerifyStatsPath1.IncorrectFileCount); Assert.IsTrue(0 == aclVerifyStatsPath1.IncorrectDirectoryCount); // Make sure acl entries are not set on link var aclEntriesLinkPath = _adlsClient.GetAclStatus(LinkPath).Entries.ToArray(); foreach (var aclEntry in _aclEntriesToSet) { Assert.IsFalse(aclEntriesLinkPath.Contains(aclEntry)); } } verifyAclLinkForPath(LinkPath1Root, LinkPath1); }
public void TestSetAcl() { SemSetAcl.WaitOne(); if (_setAclRun) { SemSetAcl.Release(); return; } List <AclEntry> aclEntries2 = GetAclEntryForSet(); List <AclEntry> aclEntries3 = new List <AclEntry>(aclEntries2) { //Add the default permission ACLs new AclEntry(AclType.user, "", AclScope.Access, AclAction.All), new AclEntry(AclType.group, "", AclScope.Access, AclAction.All), new AclEntry(AclType.other, "", AclScope.Access, AclAction.None) }; var aclStats = AclProcessor.RunAclProcessor(remotePath + "/B1", _adlsClient, aclEntries3, RequestedAclType.SetAcl, 25); var aclVerifyStats = AclProcessor.RunAclVerifier(remotePath + "/B1", _adlsClient, aclEntries2, RequestedAclType.SetAcl, 10); Assert.IsTrue(aclStats.FilesProcessed == aclVerifyStats.FilesProcessed); Assert.IsTrue(aclStats.DirectoryProcessed == aclVerifyStats.DirectoryProcessed); Assert.IsTrue(aclStats.FilesProcessed == aclVerifyStats.FilesCorrect); Assert.IsTrue(aclStats.DirectoryProcessed == aclVerifyStats.DirectoriesCorrect); _setAclRun = true; SemSetAcl.Release(); }
public static void CleanTests() { foreach (var dir in createdDirs) { _adlsClient.DeleteRecursive(dir); } var aclStatsPaths1 = AclProcessor.RunAclProcessor(LinkPath1Root, _adlsClient, _aclEntriesToSet, RequestedAclType.RemoveAcl, 25); }
public void TestModifyOnlyDefaultAcl() { List <AclEntry> aclEntries1 = GetAclEntryDefault(); var aclStats = AclProcessor.RunAclProcessor(UnitTestPath + "/B0", _adlsClient, aclEntries1, RequestedAclType.ModifyAcl, 25); var aclVerifyStats = AclProcessor.RunAclVerifier(UnitTestPath + "/B0", _adlsClient, aclEntries1, RequestedAclType.ModifyAcl, 25); Assert.IsTrue(aclStats.FilesProcessed == aclVerifyStats.FilesProcessed); Assert.IsTrue(aclStats.DirectoryProcessed == aclVerifyStats.DirectoryProcessed); Assert.IsTrue(0 == aclVerifyStats.IncorrectFileCount); Assert.IsTrue(0 == aclVerifyStats.IncorrectDirectoryCount); }
public void RemoveAcl() { TestModifyAcl(); List <AclEntry> aclEntries1 = GetAclEntryForModifyAndRemove(); var aclStats = AclProcessor.RunAclProcessor(remotePath + "/B0", _adlsClient, aclEntries1, RequestedAclType.RemoveAcl, 10); var aclVerifyStats = AclProcessor.RunAclVerifier(remotePath + "/B0", _adlsClient, aclEntries1, RequestedAclType.RemoveAcl, 10); Assert.IsTrue(aclStats.FilesProcessed == aclVerifyStats.FilesProcessed); Assert.IsTrue(aclStats.DirectoryProcessed == aclVerifyStats.DirectoryProcessed); Assert.IsTrue(aclStats.FilesProcessed == aclVerifyStats.FilesCorrect); Assert.IsTrue(aclStats.DirectoryProcessed == aclVerifyStats.DirectoriesCorrect); }
public void TestModifyAcl() { SemModifyAcl.WaitOne(); if (_modifyAclRun) { SemModifyAcl.Release(); return; } List <AclEntry> aclEntries1 = GetAclEntryForModifyAndRemove(); var aclStats = AclProcessor.RunAclProcessor(remotePath + "/B0", _adlsClient, aclEntries1, RequestedAclType.ModifyAcl, 25); var aclVerifyStats = AclProcessor.RunAclVerifier(remotePath + "/B0", _adlsClient, aclEntries1, RequestedAclType.ModifyAcl, 25); Assert.IsTrue(aclStats.FilesProcessed == aclVerifyStats.FilesProcessed); Assert.IsTrue(aclStats.DirectoryProcessed == aclVerifyStats.DirectoryProcessed); Assert.IsTrue(aclStats.FilesProcessed == aclVerifyStats.FilesCorrect); Assert.IsTrue(aclStats.DirectoryProcessed == aclVerifyStats.DirectoriesCorrect); _modifyAclRun = true; SemModifyAcl.Release(); }
public void TestSetAclVerification() { string path = UnitTestPath + "/B2"; List <AclEntry> aclEntries1 = GetAclEntryForModifyAndRemove(); GetExpectedOutput(_oneLevelDirCount, _oneLevelFileCnt, _recurseLevel - 1, _oneFileSize, out var expectedFileCount, out var expectedDirCount, out var expectedFileSize); expectedDirCount += 1; var status = AclProcessor.RunAclVerifier(path, _adlsClient, aclEntries1, RequestedAclType.ModifyAcl, 25); Assert.IsTrue(status.FilesProcessed == expectedFileCount); Assert.IsTrue(status.DirectoryProcessed == expectedDirCount); Assert.IsTrue(status.IncorrectFileCount == expectedFileCount); Assert.IsTrue(status.IncorrectDirectoryCount == expectedDirCount); _adlsClient.ModifyAclEntries(path, aclEntries1); status = AclProcessor.RunAclVerifier(path, _adlsClient, aclEntries1, RequestedAclType.ModifyAcl, 25); Assert.IsTrue(status.FilesProcessed == expectedFileCount); Assert.IsTrue(status.DirectoryProcessed == expectedDirCount); Assert.IsTrue(status.IncorrectFileCount == expectedFileCount); Assert.IsTrue(status.IncorrectDirectoryCount == expectedDirCount - 1); var aclStats = AclProcessor.RunAclProcessor(UnitTestPath + "/B2/C0", _adlsClient, aclEntries1, RequestedAclType.ModifyAcl, 25); GetExpectedOutput(_oneLevelDirCount, _oneLevelFileCnt, _recurseLevel - 2, _oneFileSize, out var expectedFileCountSub, out var expectedDirCountSub, out var expectedFileSizeSub); expectedDirCountSub += 1; status = AclProcessor.RunAclVerifier(path, _adlsClient, aclEntries1, RequestedAclType.ModifyAcl, 25, LocalPath + @"\verificationfile"); Assert.IsTrue(status.FilesProcessed == expectedFileCount); Assert.IsTrue(status.DirectoryProcessed == expectedDirCount); Assert.IsTrue(status.IncorrectFileCount == expectedFileCount - expectedFileCountSub); Assert.IsTrue(status.IncorrectDirectoryCount == expectedDirCount - 1 - expectedDirCountSub); AclProcessor.RunAclProcessor(UnitTestPath + "/B2/C1", _adlsClient, aclEntries1, RequestedAclType.ModifyAcl, 25); status = AclProcessor.RunAclVerifier(path, _adlsClient, aclEntries1, RequestedAclType.ModifyAcl, 25, LocalPath + @"\verificationfile1"); Assert.IsTrue(status.FilesProcessed == expectedFileCount); Assert.IsTrue(status.DirectoryProcessed == expectedDirCount); Assert.IsTrue(status.IncorrectFileCount == expectedFileCount - 2 * expectedFileCountSub); Assert.IsTrue(status.IncorrectDirectoryCount == expectedDirCount - 1 - 2 * expectedDirCountSub); }
internal VerifyChangeAclJob(AclProcessor aclProcess, string fullPath, DirectoryEntryType type) : base(1) { _aclProcess = aclProcess; _fullPath = fullPath; _entryType = type; }
internal EnumerateDirectoryChangeAclJob(AclProcessor aclProcess, string fullPath) : base(1) { _aclProcess = aclProcess; _fullPath = fullPath; }
internal EnumerateDirectoryChangeAclJob(AclProcessor aclProcess, string fullPath, string ltAfter = "") : base(1) { _aclProcess = aclProcess; FullPath = fullPath; listAfter = ltAfter; }