private async Task ValidateAclAsync([NotNull] ILogger logger, [NotNull] IEnumerable <string> files, bool fix) { if (!myStorage.SupportAccessMode) { logger.Warning("Validating access rights is not supported for storage"); return; } logger.Info($"[{DateTime.Now:s}] Validating access rights{myId}..."); foreach (var file in files) { if (TagUtil.IsTagFile(file) || TagUtil.IsStorageCasingFile(file)) { if (await myStorage.GetAccessModeAsync(file) != AccessMode.Private) { logger.Error($"The internal file {file} has invalid access rights"); if (fix) { logger.Fix($"Update access rights for the internal file {file}"); await myStorage.SetAccessModeAsync(file, AccessMode.Private); } } } else { if (await myStorage.GetAccessModeAsync(file) != AccessMode.Public) { logger.Error($"The storage file {file} has invalid access rights"); if (fix) { logger.Fix($"Update access rights for the storage file {file}"); await myStorage.SetAccessModeAsync(file, AccessMode.Public); } } } } }
public void StorageCasingFileTest(bool expected, string file) { Assert.AreEqual(expected, TagUtil.IsStorageCasingFile(file.NormalizeSystem())); }