예제 #1
0
        public async Task LoadAsync_UserDoesNotWantToStartSecureDriveApp_ReturnsAborted()
        {
            var dialogs    = Substitute.For <IDialogs>();
            var fileSystem = Substitute.For <IFileSystem>();
            var processApi = Substitute.For <IProcess>();
            var settings   = new Settings {
                SecuredDrives = new StringCollection {
                    "K:\\"
                }
            };
            var sut = new ProjectFileLoader(settings, dialogs, fileSystem, processApi);

            dialogs.ShowMessageBox(
                Arg.Is <string>(s => s.Contains("Cryptomator")),
                Arg.Any <string>(),
                Arg.Any <MessageBoxButton>(), Arg.Any <MessageBoxImage>(),
                Arg.Any <MessageBoxResult>(), Arg.Any <MessageBoxOptions>())
            .Returns(MessageBoxResult.No);

            var result = await sut.Awaiting(x => x.LoadAsync("K:\\the.fileName")).Should()
                         .CompleteWithinAsync(1.Seconds());

            result.Subject.Should().Be(OperationResult.Aborted);
            processApi.DidNotReceive().Start(Arg.Any <ProcessStartInfo>());
            dialogs.Received(1).ShowMessageBox(
                Arg.Is <string>(s => s.Contains("Cryptomator", StringComparison.Ordinal)),
                Arg.Any <string>(),
                Arg.Any <MessageBoxButton>(), Arg.Any <MessageBoxImage>(),
                Arg.Any <MessageBoxResult>(), Arg.Any <MessageBoxOptions>());
        }
        private static async Task MainAsync(string[] args)
        {
            var projects = (await ProjectFileLoader.LoadAllProjectsInDirectoriesAsync(
                                "c:\\projects\\insclear\\heartbeat\\src",
                                d => Directory.EnumerateFiles(d.ProjectPath, "*publish*.ps1").Any() ? d.ProjectFiles : Array.Empty <string>())).ToArray();

            var dependencies = ProjectRelationsService.GetProjectsWithRelationsTree(projects);

            var projectsInBuildOrder = BuildOrderService.GetProjectsInBuildOrder(dependencies);
        }
예제 #3
0
        public async Task LoadAsync_FileNotExists_ReturnsFailed()
        {
            var dialogs    = Substitute.For <IDialogs>();
            var fileSystem = Substitute.For <IFileSystem>();
            var processApi = Substitute.For <IProcess>();
            var settings   = new Settings();
            var sut        = new ProjectFileLoader(settings, dialogs, fileSystem, processApi);

            var result = await sut.Awaiting(x => x.LoadAsync("the.fileName")).Should().CompleteWithinAsync(1.Seconds());

            result.Subject.Should().Be(OperationResult.Failed);
        }