Ejemplo n.º 1
0
        public void GivenMaxTargetNotCountTopped_WhenAddingAdditionalTarget_ThenItAppendsIt()
        {
            List <MonitoringTarget> updatedTargets        = null;
            MonitoringTarget        expectedFirstTarget   = _currentTargets.ElementAt(0);
            MonitoringTarget        notCurrentlyMonitored = _allTargets.Except(_currentTargets).FirstOrDefault();

            Mock <IEventAggregator>                eventManager = new Mock <IEventAggregator>();
            Mock <OnWatchdogTargetChangedEvent>    watchdogTargetChangedEvent = new Mock <OnWatchdogTargetChangedEvent>();
            Mock <OnMonitoringTargetsChangedEvent> monTargetChangedEvent      = new Mock <OnMonitoringTargetsChangedEvent>();

            monTargetChangedEvent.Setup(e => e.Publish(It.IsAny <List <MonitoringTarget> >())).Verifiable();
            monTargetChangedEvent.Setup(e => e.Publish(It.IsAny <List <MonitoringTarget> >())).Callback <List <MonitoringTarget> >(lru => updatedTargets = lru);
            ComputerMonitoringTestHelper.SetupEventAggMockBehaviour(eventManager, watchdogTargetChangedEvent.Object, monTargetChangedEvent.Object);
            Mock <IAppManager> appManagerMock = GivenAppManagerMock();

            HardwareSettingsViewModel hardwareSettingsVm = new HardwareSettingsViewModel(eventManager.Object, appManagerMock.Object, Mock.Of <IUiSettings>());

            hardwareSettingsVm.MaxAllowedMonTargets++;
            MonitoringTargetViewModel elementToAdd = hardwareSettingsVm.MonitoringOptionsCollection.SingleOrDefault(mo => mo.Type == notCurrentlyMonitored);

            elementToAdd.IsSelected = true;

            elementToAdd.PublishMonitoringOptionStatusCommand.Execute(new KeyValuePair <MonitoringTarget, bool>(elementToAdd.Type, elementToAdd.IsSelected));

            Assert.Equal(expectedFirstTarget, updatedTargets.FirstOrDefault());
            monTargetChangedEvent.Verify(e => e.Publish(It.IsAny <List <MonitoringTarget> >()), Times.Exactly(2));
        }
Ejemplo n.º 2
0
        public ActionResult HardwareSettings()
        {
            var dto   = HardwareSettingsService.GetSettings();
            var model = new HardwareSettingsViewModel();

            model.InjectFrom(dto);

            // Get the drives and drive information
            var drives = HardwareService.GetDrives().ToList();
            var nics   = HardwareService.GetAllNics();

            model.Drives = new List <DriveSettingsViewModel>();

            foreach (var d in drives)
            {
                var driveModel = new DriveSettingsViewModel();
                driveModel.InjectFrom(d);
                model.Drives.Add(driveModel);
            }

            model.NicDict = new Dictionary <string, int>();
            foreach (var nic in nics)
            {
                model.NicDict.Add(nic.Key, nic.Value);
            }

            // TODO: Add view
            return(View(model));
        }
Ejemplo n.º 3
0
        static HardwareMapperInitialise()
        {
            Mapper.AddMap <HardwareSettings, HardwareSettingsDto>(x =>
            {
                var settings = new HardwareSettingsDto();
                settings.NetworkMonitoring.InjectFrom(x.NetworkMonitoring);
                settings.CpuMonitoring.InjectFrom(x.CpuMonitoring);
                settings.EmailAlertSettings.InjectFrom(x.EmailAlertSettings);

                settings.Drives = x.Drives
                                  .Select(c => new DriveSettingsDto().InjectFrom(c)).Cast <DriveSettingsDto>()
                                  .ToList();

                return(settings);
            });

            Mapper.AddMap <HardwareSettingsDto, HardwareSettings>(x =>
            {
                var settings = new HardwareSettings();
                settings.NetworkMonitoring.InjectFrom(x.NetworkMonitoring);
                settings.CpuMonitoring.InjectFrom(x.CpuMonitoring);
                settings.EmailAlertSettings.InjectFrom(x.EmailAlertSettings);

                settings.Drives = x.Drives
                                  .Select(c => new DriveSettings().InjectFrom(c)).Cast <DriveSettings>()
                                  .ToList();

                return(settings);
            });

            Mapper.AddMap <HardwareSettingsViewModel, HardwareSettingsDto>(x =>
            {
                var settings = new HardwareSettingsDto();
                settings.NetworkMonitoring.InjectFrom(x.NetworkMonitoring);
                settings.CpuMonitoring.InjectFrom(x.CpuMonitoring);
                settings.EmailAlertSettings.InjectFrom(x.EmailAlertSettings);

                settings.Drives = x.Drives
                                  .Select(c => new DriveSettingsDto().InjectFrom(c)).Cast <DriveSettingsDto>()
                                  .ToList();

                return(settings);
            });

            Mapper.AddMap <HardwareSettingsDto, HardwareSettingsViewModel>(x =>
            {
                var settings = new HardwareSettingsViewModel();
                settings.NetworkMonitoring.InjectFrom(x.NetworkMonitoring);
                settings.CpuMonitoring.InjectFrom(x.CpuMonitoring);
                settings.EmailAlertSettings.InjectFrom(x.EmailAlertSettings);

                settings.Drives = x.Drives
                                  .Select(c => new DriveSettingsViewModel().InjectFrom(c)).Cast <DriveSettingsViewModel>()
                                  .ToList();

                return(settings);
            });
        }
Ejemplo n.º 4
0
        public void GivenInstantiateSettingVm_WhenInitComponent_ThenInitGenericInfoProper()
        {
            HardwareSettingsViewModel hardwareSettingsVm = GivenSettingsViewModelSubject();

            Assert.Equal(_motherBoard.MainValue as string, hardwareSettingsVm.MotherBoardMake);
            Assert.Equal(_cpuMake.MainValue as string, hardwareSettingsVm.CpuMake);
            Assert.Equal(_gpuMake.MainValue as string, hardwareSettingsVm.GpuMake);
            Assert.Equal(_allTargets.Count(), hardwareSettingsVm.MonitoringOptionsCollection.Count());
            Assert.All(_currentTargets, c => Assert.True(hardwareSettingsVm.MonitoringOptionsCollection.SingleOrDefault(mo => mo.Type == c).IsSelected));
            Assert.All(hardwareSettingsVm.MonitoringOptionsCollection.Where(mo => !_currentTargets.Contains(mo.Type)), mo => Assert.False(mo.IsSelected));
        }
Ejemplo n.º 5
0
        private HardwareSettingsViewModel GivenSettingsViewModelSubject()
        {
            Mock <IEventAggregator>                eventManager = new Mock <IEventAggregator>();
            Mock <OnWatchdogTargetChangedEvent>    watchdogTargetChangedEvent = new Mock <OnWatchdogTargetChangedEvent>();
            Mock <OnMonitoringTargetsChangedEvent> monTargetChangedEvent      = new Mock <OnMonitoringTargetsChangedEvent>();

            ComputerMonitoringTestHelper.SetupEventAggMockBehaviour(eventManager,
                                                                    watchdogTargetChangedEvent.Object,
                                                                    monTargetChangedEvent.Object);
            Mock <IAppManager> appManagerMock = GivenAppManagerMock();

            HardwareSettingsViewModel hardwareSettingsVm = new HardwareSettingsViewModel(eventManager.Object, appManagerMock.Object, Mock.Of <IUiSettings>());

            return(hardwareSettingsVm);
        }
Ejemplo n.º 6
0
        public WindowHolder GetHardwareWizard(string deviceType, HardwareSettingsViewModel hardwareSettingsViewModel,
                                              HardwareConfiguration loadedConfig = null)
        {
            Window CreateWindow()
            {
                foreach (var key in bindings.Keys)
                {
                    if (bindings[key].Name == deviceType)
                    {
                        return(bindings[key].GetConfigurationWindow(hardwareSettingsViewModel, loadedConfig));
                    }
                }

                return(null);
            }

            return(new WindowHolder(CreateWindow));
        }
Ejemplo n.º 7
0
        public ActionResult HardwareSettings(HardwareSettingsViewModel viewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View(viewModel));
            }

            var dto = Mapper.Map <HardwareSettingsDto>(viewModel);

            var result = HardwareSettingsService.SaveSettings(dto);

            if (result)
            {
                return(RedirectToAction("HardwareSettings"));
            }

            return(View("Error"));
        }
        public override Window GetConfigurationWindow(HardwareSettingsViewModel hardwareSettingsViewModel,
                                                      HardwareConfiguration loadedConfig = null)
        {
            MIDIControlWizardViewModel viewModel = null;

            if (!(loadedConfig is MidiConfiguration))
            {
                viewModel = new MIDIControlWizardViewModel(Properties.Resources.MidiControlWizardText,
                                                           hardwareSettingsViewModel);
            }
            else
            {
                viewModel = new MIDIControlWizardViewModel(Properties.Resources.MidiControlWizardText,
                                                           hardwareSettingsViewModel, (MidiConfiguration)loadedConfig);
            }

            return(new MIDIControlWizardWindow {
                DataContext = viewModel
            });
        }
Ejemplo n.º 9
0
        public void GivenCurrentlyMonitoredTargets_WhenRemoveSingleTarget_ThenItDoesNotPublishNewCollection()
        {
            List <MonitoringTarget>                updatedTargets             = null;
            Mock <IEventAggregator>                eventManager               = new Mock <IEventAggregator>();
            Mock <OnWatchdogTargetChangedEvent>    watchdogTargetChangedEvent = new Mock <OnWatchdogTargetChangedEvent>();
            Mock <OnMonitoringTargetsChangedEvent> monTargetChangedEvent      = new Mock <OnMonitoringTargetsChangedEvent>();

            monTargetChangedEvent.Setup(e => e.Publish(It.IsAny <List <MonitoringTarget> >())).Verifiable();
            monTargetChangedEvent.Setup(e => e.Publish(It.IsAny <List <MonitoringTarget> >())).Callback <List <MonitoringTarget> >(lru => updatedTargets = lru);
            ComputerMonitoringTestHelper.SetupEventAggMockBehaviour(eventManager, watchdogTargetChangedEvent.Object, monTargetChangedEvent.Object);
            Mock <IAppManager> appManagerMock = GivenAppManagerMock();

            HardwareSettingsViewModel hardwareSettingsVm = new HardwareSettingsViewModel(eventManager.Object, appManagerMock.Object, Mock.Of <IUiSettings>());

            updatedTargets = null;
            MonitoringTargetViewModel elementToUpdate = hardwareSettingsVm.MonitoringOptionsCollection.SingleOrDefault(mo => mo.Type == _currentTargets.LastOrDefault());

            elementToUpdate.IsSelected = false;

            elementToUpdate.PublishMonitoringOptionStatusCommand.Execute(new KeyValuePair <MonitoringTarget, bool>(elementToUpdate.Type, elementToUpdate.IsSelected));

            Assert.Null(updatedTargets);
            monTargetChangedEvent.Verify(e => e.Publish(It.IsAny <List <MonitoringTarget> >()), Times.Once);
        }
Ejemplo n.º 10
0
 public abstract Window GetConfigurationWindow(HardwareSettingsViewModel hardwareSettingsViewModel,
                                               HardwareConfiguration loadConfig = null);