public void PerfcounterViewModel_ResetCounters_Command_Error_ShouldCallCommunicationsController() { //------------Setup for test-------------------------- var mockPopupController = new Mock <IPopupController>(); mockPopupController.Setup(controller => controller.Show(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <MessageBoxButton>(), It.IsAny <MessageBoxImage>(), It.IsAny <string>(), It.IsAny <bool>(), It.IsAny <bool>(), It.IsAny <bool>(), It.IsAny <bool>(), It.IsAny <bool>(), It.IsAny <bool>())).Verifiable(); CustomContainer.Register(mockPopupController.Object); var performanceCounterTo = new PerformanceCounterTo(); performanceCounterTo.NativeCounters.Add(new TestCounter(WarewolfPerfCounterType.AverageExecutionTime)); performanceCounterTo.NativeCounters.Add(new TestCounter(WarewolfPerfCounterType.ConcurrentRequests)); var resourceId = Guid.NewGuid(); performanceCounterTo.ResourceCounters.Add(new TestResourceCounter(WarewolfPerfCounterType.AverageExecutionTime, resourceId)); performanceCounterTo.ResourceCounters.Add(new TestResourceCounter(WarewolfPerfCounterType.RequestsPerSecond, resourceId)); var perfcounterViewModel = new PerfcounterViewModel(performanceCounterTo, new Mock <IServer>().Object, () => new Mock <IResourcePickerDialog>().Object); var mockCommsController = new Mock <ICommunicationController>(); mockCommsController.SetupAllProperties(); var executeMessage = new ExecuteMessage { HasError = true, Message = new StringBuilder("Error") }; mockCommsController.Setup(controller => controller.ExecuteCommand <IExecuteMessage>(It.IsAny <IEnvironmentConnection>(), It.IsAny <Guid>())).Returns(executeMessage); perfcounterViewModel.CommunicationController = mockCommsController.Object; //------------Execute Test--------------------------- perfcounterViewModel.ResetCountersCommand.Execute(null); //------------Assert Results------------------------- Assert.AreEqual("ResetPerformanceCounters", perfcounterViewModel.CommunicationController.ServiceName); mockCommsController.Verify(controller => controller.ExecuteCommand <IExecuteMessage>(It.IsAny <IEnvironmentConnection>(), It.IsAny <Guid>())); mockPopupController.Verify(controller => controller.Show(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <MessageBoxButton>(), It.IsAny <MessageBoxImage>(), It.IsAny <string>(), It.IsAny <bool>(), It.IsAny <bool>(), It.IsAny <bool>(), It.IsAny <bool>(), It.IsAny <bool>(), It.IsAny <bool>())); }
public void PerfcounterViewModel_PickResource_WhenNoResource_DoesNothing() { //------------Setup for test-------------------------- var performanceCounterTo = new PerformanceCounterTo(); performanceCounterTo.NativeCounters.Add(new TestCounter(WarewolfPerfCounterType.AverageExecutionTime)); performanceCounterTo.NativeCounters.Add(new TestCounter(WarewolfPerfCounterType.ConcurrentRequests)); var resourceId = Guid.NewGuid(); performanceCounterTo.ResourceCounters.Add(new TestResourceCounter(WarewolfPerfCounterType.AverageExecutionTime, resourceId)); performanceCounterTo.ResourceCounters.Add(new TestResourceCounter(WarewolfPerfCounterType.RequestsPerSecond, resourceId)); var mockEnvironmentModel = new Mock <IServer>(); var mockResourcePicker = new Mock <IResourcePickerDialog>(); mockResourcePicker.Setup(dialog => dialog.ShowDialog(It.IsAny <IServer>())).Returns(false); var mockExplorerTreeItem = new Mock <IExplorerTreeItem>(); var newGuid = Guid.NewGuid(); mockExplorerTreeItem.Setup(item => item.ResourceId).Returns(newGuid); mockExplorerTreeItem.Setup(item => item.ResourcePath).Returns("Hello World"); mockExplorerTreeItem.Setup(item => item.ResourceName).Returns("Hello World"); mockResourcePicker.Setup(dialog => dialog.SelectedResource).Returns(mockExplorerTreeItem.Object); var perfcounterViewModel = new PerfcounterViewModel(performanceCounterTo, mockEnvironmentModel.Object, () => mockResourcePicker.Object); var performanceCountersByResource = perfcounterViewModel.ResourceCounters[0]; //------------Execute Test--------------------------- perfcounterViewModel.PickResourceCommand.Execute(performanceCountersByResource); //------------Assert Results------------------------- Assert.AreEqual(resourceId, performanceCountersByResource.ResourceId); }
public void PerfcounterViewModel_UpdatePerfCounter_ResourceCounterSetDeleted_ShouldNotSaveCounter() { //------------Setup for test-------------------------- var performanceCounterTo = new PerformanceCounterTo(); performanceCounterTo.NativeCounters.Add(new TestCounter(WarewolfPerfCounterType.AverageExecutionTime)); performanceCounterTo.NativeCounters.Add(new TestCounter(WarewolfPerfCounterType.ConcurrentRequests)); var resourceId = Guid.NewGuid(); performanceCounterTo.ResourceCounters.Add(new TestResourceCounter(WarewolfPerfCounterType.AverageExecutionTime, resourceId)); performanceCounterTo.ResourceCounters.Add(new TestResourceCounter(WarewolfPerfCounterType.RequestsPerSecond, resourceId)); var perfcounterViewModel = new PerfcounterViewModel(performanceCounterTo, new Mock <IServer>().Object, () => new Mock <IResourcePickerDialog>().Object); //------------Assert Preconditions------------------- Assert.IsNotNull(perfcounterViewModel.ServerCounters); Assert.IsNotNull(perfcounterViewModel.ResourceCounters); Assert.AreEqual(1, perfcounterViewModel.ServerCounters.Count); Assert.AreEqual(2, perfcounterViewModel.ResourceCounters.Count); var serverCounter = perfcounterViewModel.ServerCounters[0]; var resourceCounter = perfcounterViewModel.ResourceCounters[0]; var newResourceCounter = perfcounterViewModel.ResourceCounters[1]; Assert.IsTrue(newResourceCounter.IsNew); Assert.IsNotNull(serverCounter); Assert.IsNotNull(resourceCounter); Assert.IsFalse(resourceCounter.IsDeleted); //------------Execute Test--------------------------- resourceCounter.RemoveRow.Execute(null); //------------Assert Results------------------------- Assert.IsTrue(resourceCounter.IsDeleted); perfcounterViewModel.Save(performanceCounterTo); Assert.AreEqual(1, perfcounterViewModel.ResourceCounters.Count); }
public void PerfcounterViewModel_Save_ShouldUpdatePerfCounterTo() { //------------Setup for test-------------------------- var performanceCounterTo = new PerformanceCounterTo(); performanceCounterTo.NativeCounters.Add(new TestCounter(WarewolfPerfCounterType.AverageExecutionTime, false)); performanceCounterTo.NativeCounters.Add(new TestCounter(WarewolfPerfCounterType.ConcurrentRequests, false)); performanceCounterTo.NativeCounters.Add(new TestCounter(WarewolfPerfCounterType.ExecutionErrors, false)); performanceCounterTo.NativeCounters.Add(new TestCounter(WarewolfPerfCounterType.NotAuthorisedErrors, false)); performanceCounterTo.NativeCounters.Add(new TestCounter(WarewolfPerfCounterType.RequestsPerSecond, false)); performanceCounterTo.NativeCounters.Add(new TestCounter(WarewolfPerfCounterType.ServicesNotFound, false)); var resourceId = Guid.NewGuid(); performanceCounterTo.ResourceCounters.Add(new TestResourceCounter(WarewolfPerfCounterType.AverageExecutionTime, resourceId)); performanceCounterTo.ResourceCounters.Add(new TestResourceCounter(WarewolfPerfCounterType.RequestsPerSecond, resourceId)); var perfcounterViewModel = new PerfcounterViewModel(performanceCounterTo, new Mock <IServer>().Object, () => new Mock <IResourcePickerDialog>().Object); //------------Assert Preconditions------------------- var serverCounter = perfcounterViewModel.ServerCounters[0]; var newResourceCounter = perfcounterViewModel.ResourceCounters[1]; Assert.IsTrue(newResourceCounter.IsNew); Assert.IsNotNull(serverCounter); serverCounter.TotalErrors = true; serverCounter.AverageExecutionTime = true; serverCounter.ConcurrentRequests = true; serverCounter.NotAuthorisedErrors = true; serverCounter.RequestPerSecond = true; serverCounter.WorkFlowsNotFound = true; newResourceCounter.CounterName = "new resource"; var newResourceId = Guid.NewGuid(); newResourceCounter.ResourceId = newResourceId; newResourceCounter.RequestPerSecond = true; newResourceCounter.TotalErrors = true; newResourceCounter.AverageExecutionTime = true; newResourceCounter.ConcurrentRequests = true; //------------Execute Test--------------------------- perfcounterViewModel.Save(performanceCounterTo); //------------Assert Results------------------------- Assert.AreEqual(6, performanceCounterTo.NativeCounters.Count); Assert.IsTrue(performanceCounterTo.NativeCounters[0].IsActive); Assert.IsTrue(performanceCounterTo.NativeCounters[1].IsActive); Assert.IsTrue(performanceCounterTo.NativeCounters[2].IsActive); Assert.IsTrue(performanceCounterTo.NativeCounters[3].IsActive); Assert.IsTrue(performanceCounterTo.NativeCounters[4].IsActive); Assert.IsTrue(performanceCounterTo.NativeCounters[5].IsActive); Assert.AreEqual(6, performanceCounterTo.ResourceCounters.Count); Assert.IsTrue(performanceCounterTo.ResourceCounters.Any(counter => counter.PerfCounterType == WarewolfPerfCounterType.AverageExecutionTime)); Assert.IsTrue(performanceCounterTo.ResourceCounters.Any(counter => counter.PerfCounterType == WarewolfPerfCounterType.RequestsPerSecond)); Assert.IsTrue(performanceCounterTo.ResourceCounters.Any(counter => counter.PerfCounterType == WarewolfPerfCounterType.ConcurrentRequests)); Assert.IsTrue(performanceCounterTo.ResourceCounters.Any(counter => counter.PerfCounterType == WarewolfPerfCounterType.ExecutionErrors)); Assert.AreEqual("new resource", performanceCounterTo.ResourceCounters[2].CategoryInstanceName); Assert.AreEqual(newResourceId, performanceCounterTo.ResourceCounters[2].ResourceId); Assert.AreEqual("new resource", performanceCounterTo.ResourceCounters[3].CategoryInstanceName); Assert.AreEqual(newResourceId, performanceCounterTo.ResourceCounters[3].ResourceId); Assert.AreEqual("new resource", performanceCounterTo.ResourceCounters[4].CategoryInstanceName); Assert.AreEqual(newResourceId, performanceCounterTo.ResourceCounters[4].ResourceId); Assert.AreEqual("new resource", performanceCounterTo.ResourceCounters[5].CategoryInstanceName); Assert.AreEqual(newResourceId, performanceCounterTo.ResourceCounters[5].ResourceId); }
public void PerfcounterViewModel_PickResource_WhenNotCounterPassed_DoesNothing() { //------------Setup for test-------------------------- var performanceCounterTo = new PerformanceCounterTo(); performanceCounterTo.NativeCounters.Add(new TestCounter(WarewolfPerfCounterType.AverageExecutionTime)); performanceCounterTo.NativeCounters.Add(new TestCounter(WarewolfPerfCounterType.ConcurrentRequests)); var resourceId = Guid.NewGuid(); performanceCounterTo.ResourceCounters.Add(new TestResourceCounter(WarewolfPerfCounterType.AverageExecutionTime, resourceId)); performanceCounterTo.ResourceCounters.Add(new TestResourceCounter(WarewolfPerfCounterType.RequestsPerSecond, resourceId)); var perfcounterViewModel = new PerfcounterViewModel(performanceCounterTo, new Mock <IServer>().Object, () => new Mock <IResourcePickerDialog>().Object); //------------Execute Test--------------------------- perfcounterViewModel.PickResourceCommand.Execute(new object()); //------------Assert Results------------------------- Assert.IsTrue(true); }
public void PerfcounterViewModel_Constructor_WithPerfCounters_ShouldSetupCollections() { //------------Setup for test-------------------------- var performanceCounterTo = new PerformanceCounterTo(); performanceCounterTo.NativeCounters.Add(new TestCounter(WarewolfPerfCounterType.AverageExecutionTime)); performanceCounterTo.NativeCounters.Add(new TestCounter(WarewolfPerfCounterType.ConcurrentRequests)); var resourceId = Guid.NewGuid(); performanceCounterTo.ResourceCounters.Add(new TestResourceCounter(WarewolfPerfCounterType.AverageExecutionTime, resourceId)); performanceCounterTo.ResourceCounters.Add(new TestResourceCounter(WarewolfPerfCounterType.RequestsPerSecond, resourceId)); //------------Execute Test--------------------------- var perfcounterViewModel = new PerfcounterViewModel(performanceCounterTo, new Mock <IServer>().Object, () => new Mock <IResourcePickerDialog>().Object); //------------Assert Results------------------------- Assert.IsNotNull(perfcounterViewModel.ServerCounters); Assert.IsNotNull(perfcounterViewModel.ResourceCounters); Assert.AreEqual(1, perfcounterViewModel.ServerCounters.Count); Assert.AreEqual(2, perfcounterViewModel.ResourceCounters.Count); var serverCounter = perfcounterViewModel.ServerCounters[0]; Assert.IsNotNull(serverCounter); Assert.IsTrue(serverCounter.AverageExecutionTime); Assert.IsTrue(serverCounter.ConcurrentRequests); Assert.IsFalse(serverCounter.NotAuthorisedErrors); Assert.IsFalse(serverCounter.RequestPerSecond); Assert.IsFalse(serverCounter.TotalErrors); Assert.IsFalse(serverCounter.WorkFlowsNotFound); var resourceCounter = perfcounterViewModel.ResourceCounters[0]; Assert.IsFalse(resourceCounter.IsNew); Assert.IsTrue(resourceCounter.AverageExecutionTime); Assert.IsTrue(resourceCounter.RequestPerSecond); Assert.IsFalse(resourceCounter.ConcurrentRequests); Assert.IsFalse(resourceCounter.TotalErrors); var newResourceCounter = perfcounterViewModel.ResourceCounters[1]; Assert.IsTrue(newResourceCounter.IsNew); }
public void PerfcounterViewModel_UpdatePerfCounter_ShouldFirePropertyChange() { //------------Setup for test-------------------------- var performanceCounterTo = new PerformanceCounterTo(); performanceCounterTo.NativeCounters.Add(new TestCounter(WarewolfPerfCounterType.AverageExecutionTime)); performanceCounterTo.NativeCounters.Add(new TestCounter(WarewolfPerfCounterType.ConcurrentRequests)); var resourceId = Guid.NewGuid(); performanceCounterTo.ResourceCounters.Add(new TestResourceCounter(WarewolfPerfCounterType.AverageExecutionTime, resourceId)); performanceCounterTo.ResourceCounters.Add(new TestResourceCounter(WarewolfPerfCounterType.RequestsPerSecond, resourceId)); var perfcounterViewModel = new PerfcounterViewModel(performanceCounterTo, new Mock <IServer>().Object, () => new Mock <IResourcePickerDialog>().Object); //------------Assert Preconditions------------------- Assert.IsNotNull(perfcounterViewModel.ServerCounters); Assert.IsNotNull(perfcounterViewModel.ResourceCounters); Assert.AreEqual(1, perfcounterViewModel.ServerCounters.Count); Assert.AreEqual(2, perfcounterViewModel.ResourceCounters.Count); var serverCounter = perfcounterViewModel.ServerCounters[0]; var resourceCounter = perfcounterViewModel.ResourceCounters[0]; var newResourceCounter = perfcounterViewModel.ResourceCounters[1]; Assert.IsTrue(newResourceCounter.IsNew); Assert.IsNotNull(serverCounter); Assert.IsNotNull(resourceCounter); //------------Execute Test--------------------------- serverCounter.TotalErrors = true; newResourceCounter.CounterName = "new resource"; //------------Assert Results------------------------- Assert.IsTrue(perfcounterViewModel.IsDirty); Assert.IsTrue(serverCounter.TotalErrors); Assert.AreEqual(3, perfcounterViewModel.ResourceCounters.Count); Assert.IsFalse(newResourceCounter.IsNew); var newNewResourceCounter = perfcounterViewModel.ResourceCounters[2]; Assert.IsTrue(newNewResourceCounter.IsNew); }
public void PerfcounterViewModel_UpdateHelpDescriptor_HelpText_ShouldCallUpdateHelpText() { //------------Setup for test-------------------------- var mockMainViewModel = new Mock <IShellViewModel>(); var mockHelpWindowViewModel = new Mock <IHelpWindowViewModel>(); mockHelpWindowViewModel.Setup(model => model.UpdateHelpText(It.IsAny <string>())).Verifiable(); mockMainViewModel.Setup(model => model.HelpViewModel).Returns(mockHelpWindowViewModel.Object); CustomContainer.Register(mockMainViewModel.Object); var performanceCounterTo = new PerformanceCounterTo(); performanceCounterTo.NativeCounters.Add(new TestCounter(WarewolfPerfCounterType.AverageExecutionTime)); performanceCounterTo.NativeCounters.Add(new TestCounter(WarewolfPerfCounterType.ConcurrentRequests)); var resourceId = Guid.NewGuid(); performanceCounterTo.ResourceCounters.Add(new TestResourceCounter(WarewolfPerfCounterType.AverageExecutionTime, resourceId)); performanceCounterTo.ResourceCounters.Add(new TestResourceCounter(WarewolfPerfCounterType.RequestsPerSecond, resourceId)); var perfcounterViewModel = new PerfcounterViewModel(performanceCounterTo, new Mock <IServer>().Object, () => new Mock <IResourcePickerDialog>().Object); //------------Execute Test--------------------------- perfcounterViewModel.UpdateHelpDescriptor("Help"); //------------Assert Results------------------------- mockHelpWindowViewModel.Verify(model => model.UpdateHelpText(It.IsAny <string>())); }