private async Task FindReplacementsIfNecessaryAsync() { if (Replacements.Any()) { return; } var errorsAndInfos = new ErrorsAndInfos(); var machineDrivesSecret = new MachineDrivesSecret(); var machineDrives = await SecretRepository.GetAsync(machineDrivesSecret, errorsAndInfos); if (errorsAndInfos.AnyErrors()) { throw new Exception(errorsAndInfos.ErrorsToString()); } machineDrives.DrivesOnThisMachine().ToList().ForEach(AddReplacement); var logicalFoldersSecret = new LogicalFoldersSecret(); var logicalFolders = await SecretRepository.GetAsync(logicalFoldersSecret, errorsAndInfos); if (errorsAndInfos.AnyErrors()) { throw new Exception(errorsAndInfos.ErrorsToString()); } logicalFolders.ForEach(AddReplacement); var keys = Replacements.Keys.ToList(); foreach (var key in keys) { Replacements[key] = ResolveIterative(Replacements[key]).FullName; } }
public async Task CanGetLogicalFolders() { var secretRepository = Container.Resolve <ISecretRepository>(); var logicalFoldersSecret = new LogicalFoldersSecret(); var errorsAndInfos = new ErrorsAndInfos(); var logicalFolders = await secretRepository.GetAsync(logicalFoldersSecret, errorsAndInfos); Assert.IsFalse(errorsAndInfos.AnyErrors(), errorsAndInfos.ErrorsToString()); Assert.IsTrue(logicalFolders.Any(m => m.Name == "MainUserFolder")); }