コード例 #1
0
        public async Task GetOrCreateNuixConnection_WhenScriptFileDoesNotExist_ReturnsError()
        {
            var fakeExternalProcess = new ExternalProcessMock(
                1,
                ConnectionTestsHelper.GetCreateCaseAction()
                );

            var fileMock =
                Mock.Of <IFile>(f => f.Exists(It.IsAny <string>()) == false);

            IStateMonad state = ConnectionTestsHelper.GetStateMonad(
                TestLoggerFactory.Create(),
                fakeExternalProcess,
                ConsoleAdapter.Instance
                );

            //Remove the script from the file system
            var nuixFileSystem =
                state.ExternalContext.TryGetContext <IFileSystem>(ConnectorInjection.FileSystemKey);

            nuixFileSystem.Value.File.Delete(NuixConnectionHelper.NuixGeneralScriptName);

            var connection = await state.GetOrCreateNuixConnection(null, false);

            Assert.True(connection.IsFailure);

            Assert.Matches(
                $"Could not find.+{NuixConnectionHelper.NuixGeneralScriptName}'",
                connection.Error.AsString
                );
        }
コード例 #2
0
        public async Task CloseNuixConnectionAsync_WhenNoConnectionExists_DoesNothing()
        {
            var fakeExternalProcess = new ExternalProcessMock(
                1,
                ConnectionTestsHelper.GetCreateCaseAction()
                );

            IStateMonad state = ConnectionTestsHelper.GetStateMonad(
                fakeExternalProcess,
                TestLoggerFactory.Create()
                );

            var ct = new CancellationToken();

            var actual = await state.CloseNuixConnectionAsync(null, ct);

            Assert.True(actual.IsSuccess);
            Assert.Equal(Unit.Default, actual);
        }
コード例 #3
0
        public async Task SendDoneCommand_WritesDoneToExternalProcess()
        {
            var logFactory     = TestLoggerFactory.Create();
            var action         = ConnectionTestsHelper.GetDoneAction();
            var nuixConnection = ConnectionTestsHelper.GetNuixConnection(logFactory, action);

            var fakeExternalProcess = new ExternalProcessMock(
                1,
                ConnectionTestsHelper.GetCreateCaseAction()
                );

            var state = ConnectionTestsHelper.GetStateMonad(
                fakeExternalProcess,
                logFactory
                );

            var ct = new CancellationToken();

            await nuixConnection.SendDoneCommand(state, null, ct);

            logFactory.Sink.LogEntries.Should()
            .Contain(x => x.Message != null && x.Message.Equals("Finished"));
        }
コード例 #4
0
        public async Task GetOrCreateNuixConnection_OnStartExternalProcessFailure_ReturnsError()
        {
            var fakeExternalProcess =
                new ExternalProcessMock(1, ConnectionTestsHelper.GetCreateCaseAction())
            {
                ProcessPath = "WrongPath", ValidateArguments = false
            };

            var loggerFactory = TestLoggerFactory.Create();

            IStateMonad state =
                ConnectionTestsHelper.GetStateMonad(
                    fakeExternalProcess,
                    loggerFactory
                    );

            var createConnection = await state.GetOrCreateNuixConnection(null, true);

            createConnection.ShouldBeFailure();

            createConnection.Error.AsString.Should()
            .Be($"External Process Failed: 'Could not start '{Constants.NuixConsoleExe}''");
        }