コード例 #1
0
ファイル: FolderResolver.cs プロジェクト: aspenlaub/Pegh
    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;
        }
    }
コード例 #2
0
ファイル: LogicalFoldersTest.cs プロジェクト: aspenlaub/Pegh
    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"));
    }