Пример #1
0
        public async void Stop()
        {
            var dateTime = new Mock <IDateTime>();

            dateTime.Setup(d => d.UtcNow).Returns(DateTime.UtcNow);

            var settingsManager = new Mock <ISettingsService>();
            var farmBuilder     = new Mock <IFarmBuilder>();
            var clientHandler   = new Mock <IClientHandler>();

            using (var context = NewContext)
            {
                var stateManager = new FORFarm.Application.Farm.StateService(context, dateTime.Object, settingsManager.Object, farmBuilder.Object, clientHandler.Object);
                await stateManager.Start();
            }

            using (var context = NewContext)
            {
                var stateManager = new FORFarm.Application.Farm.StateService(context, dateTime.Object, settingsManager.Object, farmBuilder.Object, clientHandler.Object);
                await stateManager.Stop();
            }

            var state = await NewContext.FarmStates.FindAsync(1);

            state.Running.Should().BeFalse();
        }
Пример #2
0
        public async void Start_CanStart_LauncherRunning()
        {
            var now      = DateTime.UtcNow;
            var dateTime = new Mock <IDateTime>();

            dateTime.Setup(d => d.UtcNow).Returns(now);

            var settingsManager = new Mock <ISettingsService>();

            settingsManager.Setup(s => s.AreSettingsReady()).ReturnsAsync(true);

            using (var context = NewContext)
            {
                var settings = Clone(ValidSettings);
                settings.ID = 1;
                context.Update(settings);
                await context.SaveChangesAsync();
            }

            var launcher = new Mock <ILauncher>();

            launcher.Setup(l => l.Hostname).Returns(ValidSettings.Hostname);
            launcher.Setup(l => l.SocketAddress).Returns(SocketAddress);

            var farm = new FarmSetup(new List <Account> {
                new Account()
            }, new List <Account>());
            var farmBuilder = new Mock <IFarmBuilder>();

            farmBuilder.Setup(f => f.BuildFarmSetup()).ReturnsAsync(farm);

            var clientHandler = new Mock <IClientHandler>();

            clientHandler.Setup(c => c.GetLaunchers(It.IsAny <string>())).ReturnsAsync(new List <ILauncher> {
                launcher.Object
            });

            using (var context = NewContext)
            {
                var stateManager = new FORFarm.Application.Farm.StateService(context, dateTime.Object, settingsManager.Object, farmBuilder.Object, clientHandler.Object);
                await stateManager.Start();
            }

            var state = await NewContext.FarmStates.FindAsync(1);

            settingsManager.Verify(s => s.ActivateFarmSettings());

            state.Running.Should().BeTrue();
            state.Start.Should().Be(now);
            state.SocketAddress.Should().Be(SocketAddress);
        }