public void PullError()
        {
            var mock = A.Fake <IRsyncLauncher>();

            A.CallTo(() => mock.Run("a", "b", null))
            .Returns(new ProcessExitResultWithOutput(1, 0, new ProcessStartInfo(), String.Empty, String.Empty));
            _controller = new RsyncController("b", "a", null, mock);
            Assert.Throws <RsyncException>(() => _controller.Pull());
            A.CallTo(() => mock.Run("a", "b", null))
            .MustHaveHappened(Repeated.Exactly.Once);
        }
        public void CanPullWithSub()
        {
            var mock = A.Fake <IRsyncLauncher>();

            A.CallTo(() => mock.Run(@"testremote\sub", "testsrc", new RsyncOptions {
                Key = @"C:\key"
            }))
            .Returns(new ProcessExitResultWithOutput(0, 0, new ProcessStartInfo(), string.Empty, string.Empty));
            _controller = new RsyncController("testsrc", "testremote", @"C:\key", mock);
            _controller.Pull("sub");
            A.CallTo(() => mock.Run(@"testremote\sub", "testsrc", new RsyncOptions {
                Key = @"C:\key"
            })).MustHaveHappened(Repeated.Exactly.Once);
        }
 public void Setup()
 {
     _controller = new RsyncController("testsrc", "testremote", @"C:\key", A.Fake <IRsyncLauncher>());
 }