Example #1
0
        public async void FileShouldBeMoved()
        {
            //Arrange
            var config = ReusableMocks.MockConfig();

            var file = TestUtilities.CreateFile(config.Src, "Example.doc", DateTime.Now);

            var pipe = new TransferPipe(
                config,
                ReusableMocks.MockResultFactory(),
                ReusableMocks.MockFileTransferPipe(new FileResult
            {
                SrcPath        = file,
                Size           = 0,
                TransferQueued = DateTime.Now,
                Extension      = ".doc"
            }));

            Assert.That(Directory.GetFiles(config.Src).Length == 1);

            //Act
            await pipe.Execute();

            //Assert
            Assert.That(Directory.GetFiles(config.Dest).Length == 1);
            Assert.That(Directory.GetFiles(config.Src).Length == 0);
        }
Example #2
0
        private static async Task MainAsync()
        {
            var filePipe = new FilePipe(
                Container.Resolve <IConfig>(),
                Container.Resolve <IResultFactory>(),
                ExitToken.Token);

            var metadataPipe = new MetadataPipe(
                Container.Resolve <IConfig>(),
                Container.Resolve <IResultFactory>(),
                filePipe);

            var transferPipe = new TransferPipe(
                Container.Resolve <IConfig>(),
                Container.Resolve <IResultFactory>(),
                metadataPipe);

            var cancelSource = new CancellationTokenSource();

            var ui = Task.Run(() => ReportStatus(Container.Resolve <IResultFactory>(), filePipe, metadataPipe, transferPipe, cancelSource.Token));

            await Task.WhenAll(filePipe.Execute(),
                               metadataPipe.Execute(),
                               transferPipe.Execute());

            cancelSource.Cancel();
            await ui;

            var results = Container.Resolve <IResultFactory>();

            Console.WriteLine("Complete.  Writing index file.");
            results.WriteFile();
        }
Example #3
0
        private static void ForcarOrigemEDestinosIncompativeis()
        {
            string filePah = @"C:\Publico\clonezilla-live-2.6.2-15-amd64{0}.iso";
            var    origem  = new LocalFileEndpoint(String.Format(filePah, string.Empty));
            var    destino = new LocalDirectoryEndpoint(@"C:\ftp-server");
            var    pipe    = new TransferPipe(TransferCommand.COPY, _fromOrigin: origem, _toDestination: destino);

            pipe.Pump();
        }
Example #4
0
        private static void TestarTransferenciaDeArquivoLocal()
        {
            Transformation[] transformacoes = new Transformation[] {
                new DummyTransformation("transformacao1")
            };

            string filePah = @"C:\Publico\clonezilla-live-2.6.2-15-amd64{0}.iso";
            var    origem  = new LocalFileEndpoint(String.Format(filePah, string.Empty));
            var    destino = new LocalFileEndpoint(String.Format(filePah, DateTime.Now.ToString("_yyyy-MM-dd_HHmmss")));
            var    pipe    = new TransferPipe(TransferCommand.COPY, _fromOrigin: origem, _toDestination: destino, _throughTransformations: transformacoes);

            pipe.Pump();
        }
Example #5
0
        private static void TestarTransferenciaDeDiretorioLocal()
        {
            Transformation[] transformacoes = new Transformation[] {
                new DummyTransformation("transformacao1")
                , new DummyTransformation("transformacao2")
                , new DummyTransformation("transformacao3")
                , new DummyTransformation("transformacao4")
                , new DummyTransformation("transformacao5")
            };

            var origem  = new LocalDirectoryEndpoint(@"C:\Publico", "**.zip");
            var destino = new LocalDirectoryEndpoint(@"C:\ftp-server");
            var pipe    = new TransferPipe(TransferCommand.COPY, _fromOrigin: origem, _toDestination: destino, _throughTransformations: transformacoes);

            pipe.Pump();
        }