예제 #1
0
        public void When_calling_Stop_should_call_Exit_on_IProcessStarter()
        {
            var mockProcessStarter = new Mock<IProcessStarter>();
            var fakeLogger = new Mock<Logger>();
            var fakeRunner = new Mock<IServerValidationRunner>();
            var fakeWatcher = new Mock<IServerWatcher>();

            IServer server = new Aria2cServer(mockProcessStarter.Object,
                fakeRunner.Object,
                new Aria2cConfig(),
                fakeLogger.Object,
                fakeWatcher.Object);
            server.Stop();

            mockProcessStarter.Verify(c => c.Exit(), Times.Once());
        }
예제 #2
0
        public void Add_download()
        {
            string appRoot = @"C:\work\aria4net";
            var fakeFomatter = new Mock<IPathFormatter>();

            var logger = LogManager.GetCurrentClassLogger();

            var config = new Aria2cConfig
                {
                    Executable = Path.Combine(appRoot, "tools\\aria2-1.16.3-win-32bit-build1\\aria2c.exe"),
                    Id = Guid.NewGuid().ToString(),
                    JsonrpcUrl = "http://localhost:6800/jsonrpc",
                    JsonrpcVersion = "2.0",
                    WebSocketUrl = "ws://localhost:6800/jsonrpc"
                };

            var watcher = new Aria2cWebSocketWatcher(config, logger);

            IServer server = new Aria2cServer(
                new Aria2cProcessStarterWithWindow(
                    new Aria2cFinder(config, fakeFomatter.Object), config, logger) { DownloadedFilesDirPath = () => "c:\\temp" },
                    new DefaultValidationRunner(),
                    config,
                    logger,
                    watcher);

            server.Start();

            IClient client = new Aria2cJsonRpcClient(config,
                                                     watcher,
                                                     logger);

            client.AddTorrent(
                "ftp://download.warface.levelupgames.com.br/Warface/Installer/Instalador_Client_LevelUp_1.0.34.006.torrent");

            server.Stop();
        }
예제 #3
0
        public void Start_stop_server()
        {
            string appRoot = @"C:\work\aria4net";
            var fakeWatcher = new Mock<IServerWatcher>();
            var fakeFomatter = new Mock<IPathFormatter>();

            var logger = LogManager.GetCurrentClassLogger();

            var config = new Aria2cConfig
                {
                    Executable = Path.Combine(appRoot, "tools\\aria2-1.16.3-win-32bit-build1\\aria2c.exe")
                };

            IServer server = new Aria2cServer(
                new Aria2cProcessStarterWithWindow(
                    new Aria2cFinder(config, fakeFomatter.Object), config, logger),
                    new DefaultValidationRunner(),
                    config,
                    logger,
                    fakeWatcher.Object);

            server.Start();

            Thread.Sleep(1000);

            server.Stop();
        }