Exemplo n.º 1
0
        public void DebugOutputViewModel_AppendErrorExpectErrorMessageAppended()
        {
            var mock1 = new Mock <IDebugState>();
            var mock2 = new Mock <IDebugState>();

            mock1.SetupGet(m => m.ID).Returns(_firstResourceID);
            mock1.SetupGet(m => m.ServerID).Returns(_serverID);
            mock1.SetupGet(m => m.WorkspaceID).Returns(_workspaceID);
            mock1.Setup(s => s.DisconnectedID).Returns(Guid.NewGuid());
            mock2.SetupGet(m => m.ServerID).Returns(_serverID);
            mock2.SetupGet(m => m.WorkspaceID).Returns(_workspaceID);
            mock2.SetupGet(m => m.ParentID).Returns(_firstResourceID);
            mock2.SetupGet(m => m.StateType).Returns(StateType.Append);
            mock2.SetupGet(m => m.HasError).Returns(true);
            mock2.SetupGet(m => m.ErrorMessage).Returns("Error Test");
            mock2.Setup(s => s.DisconnectedID).Returns(Guid.NewGuid());
            mock1.SetupSet(s => s.ErrorMessage = It.IsAny <string>()).Callback <string>(s => Assert.IsTrue(s.Equals("Error Test")));
            mock1.SetupSet(s => s.HasError     = It.IsAny <bool>()).Callback <bool>(s => Assert.IsTrue(s.Equals(true)));

            var vm = new DebugOutputViewModel(new Mock <IEventPublisher>().Object, GetEnvironmentRepository(), new Mock <IDebugOutputFilterStrategy>().Object);

            mock1.Setup(m => m.SessionID).Returns(vm.SessionID);
            mock2.Setup(m => m.SessionID).Returns(vm.SessionID);

            vm.Append(mock1.Object);
            vm.Append(mock2.Object);

            Assert.AreEqual(1, vm.RootItems.Count);
            var root = vm.RootItems.First() as DebugStateTreeViewItemViewModel;

            Assert.IsNotNull(root);
            Assert.IsTrue(root.HasError.GetValueOrDefault(false));
        }
        public void DebugOutputViewModel_Append_ItemRemoteHasNoPermission_ShouldNotAddAsNewItemIntoTree()
        {
            //------------Setup for test--------------------------
            var id      = Guid.NewGuid();
            var envRepo = GetEnvironmentRepository();

            var mockAuthorizationService = new Mock <IAuthorizationService>();

            mockAuthorizationService.Setup(service => service.GetResourcePermissions(It.IsAny <Guid>())).Returns(Permissions.None);
            _environmentModel.Setup(model => model.AuthorizationService).Returns(mockAuthorizationService.Object);
            var viewModel = new DebugOutputViewModel(new Mock <IEventPublisher>().Object, envRepo, new Mock <IDebugOutputFilterStrategy>().Object);
            var content   = new DebugState {
                DisplayName = "Content", ID = id, ParentID = id, StateType = StateType.All, ActivityType = ActivityType.Step, SessionID = viewModel.SessionID
            };

            viewModel.Append(content);
            var content2 = new DebugState {
                DisplayName = "Content2", ID = id, ParentID = id, StateType = StateType.All, ActivityType = ActivityType.Step, SessionID = viewModel.SessionID, EnvironmentID = Guid.NewGuid()
            };

            //------------Execute Test---------------------------
            viewModel.Append(content2);
            //------------Assert Results-------------------------
            Assert.AreEqual(1, viewModel.RootItems.Count);
        }
Exemplo n.º 3
0
        public void DebugOutputViewModel_Append_WhenDebugIsInFinishedState_MessageIsAddedBeforeAndAfterLastItem()
        {
            var envRepo = GetEnvironmentRepository();

            var vm = new DebugOutputViewModel(new Mock <IEventPublisher>().Object, envRepo, new Mock <IDebugOutputFilterStrategy>().Object)
            {
                DebugStatus = DebugStatus.Finished
            };

            var state = new Mock <IDebugState>();

            state.Setup(s => s.StateType).Returns(StateType.After);
            state.Setup(s => s.SessionID).Returns(vm.SessionID);
            state.Setup(s => s.DisconnectedID).Returns(Guid.NewGuid());
            vm.Append(state.Object);

            state = new Mock <IDebugState>();
            state.Setup(s => s.StateType).Returns(StateType.Message);
            state.Setup(s => s.Message).Returns("Some random message");
            state.Setup(s => s.SessionID).Returns(vm.SessionID);
            state.Setup(s => s.DisconnectedID).Returns(Guid.NewGuid());
            vm.Append(state.Object);

            Assert.AreEqual(3, vm.RootItems.Count);
            Assert.IsInstanceOfType(vm.RootItems[0], typeof(DebugStringTreeViewItemViewModel));
            Assert.IsInstanceOfType(vm.RootItems[1], typeof(DebugStateTreeViewItemViewModel));
            Assert.IsInstanceOfType(vm.RootItems[2], typeof(DebugStringTreeViewItemViewModel));
        }
Exemplo n.º 4
0
        public void DebugOutputViewModel_AppendWhenDebugStateFinishedShouldNotWriteItems_ItemIsMessage()
        {
            var mock1 = new Mock <IDebugState>();
            var mock2 = new Mock <IDebugState>();

            mock1.SetupGet(m => m.ID).Returns(_firstResourceID);
            mock1.SetupGet(m => m.ServerID).Returns(_serverID);
            mock1.SetupGet(m => m.Message).Returns("Some message");
            mock1.SetupGet(m => m.WorkspaceID).Returns(_workspaceID);
            mock1.SetupGet(m => m.StateType).Returns(StateType.Message);
            mock2.SetupGet(m => m.ServerID).Returns(_serverID);
            mock2.SetupGet(m => m.Message).Returns("Some message");
            mock2.SetupGet(m => m.WorkspaceID).Returns(_workspaceID);
            mock2.SetupGet(m => m.ParentID).Returns(_firstResourceID);

            var vm = new DebugOutputViewModel(new Mock <IEventPublisher>().Object, GetEnvironmentRepository(), new Mock <IDebugOutputFilterStrategy>().Object);

            mock1.Setup(m => m.SessionID).Returns(vm.SessionID);
            mock2.Setup(m => m.SessionID).Returns(vm.SessionID);
            vm.DebugStatus = DebugStatus.Finished;
            vm.Append(mock1.Object);
            vm.Append(mock2.Object);
            Assert.AreEqual(1, vm.RootItems.Count);

            var root = vm.RootItems[0] as DebugStringTreeViewItemViewModel;

            Assert.IsNotNull(root);
        }
Exemplo n.º 5
0
        public void DebugOutputViewModel_AppendNestedDebugstatesExpectNestedInRootItems()
        {
            var mock1 = new Mock <IDebugState>();
            var mock2 = new Mock <IDebugState>();

            mock1.SetupGet(m => m.ID).Returns(_firstResourceID);
            mock1.SetupGet(m => m.ServerID).Returns(_serverID);
            mock1.SetupGet(m => m.WorkspaceID).Returns(_workspaceID);

            mock2.SetupGet(m => m.ID).Returns(Guid.NewGuid());
            mock2.SetupGet(m => m.ServerID).Returns(_serverID);
            mock2.SetupGet(m => m.WorkspaceID).Returns(_workspaceID);
            mock2.SetupGet(m => m.ParentID).Returns(_firstResourceID);

            var vm = new DebugOutputViewModel(new Mock <IEventPublisher>().Object, GetEnvironmentRepository(), new Mock <IDebugOutputFilterStrategy>().Object);

            mock1.Setup(m => m.SessionID).Returns(vm.SessionID);
            mock1.Setup(m => m.DisconnectedID).Returns(Guid.NewGuid());
            mock2.Setup(m => m.SessionID).Returns(vm.SessionID);
            mock2.Setup(m => m.DisconnectedID).Returns(Guid.NewGuid());
            vm.Append(mock1.Object);
            vm.Append(mock2.Object);
            Assert.AreEqual(1, vm.RootItems.Count);
            var root = vm.RootItems.First() as DebugStateTreeViewItemViewModel;

            Assert.IsNotNull(root);
            Assert.AreEqual(root.Content, mock1.Object, "Root item incorrectly appended");

            var firstChild = root.Children.First() as DebugStateTreeViewItemViewModel;

            Assert.IsNotNull(firstChild);
            Assert.IsTrue(firstChild.Content.ParentID.Equals(_firstResourceID));
        }
        void DebugOutputViewModel_Append_ContentIsDebugStateErrors(bool parentContentHasErrors, bool childContentHasErrors)
        {
            //------------Setup for test--------------------------
            var envRepo   = GetEnvironmentRepository();
            var viewModel = new DebugOutputViewModel(new Mock <IEventPublisher>().Object, envRepo, new Mock <IDebugOutputFilterStrategy>().Object);

            var parentContent = new DebugState {
                HasError = parentContentHasErrors, DisplayName = "Content", ID = Guid.NewGuid(), ParentID = Guid.Empty, StateType = StateType.All, ActivityType = ActivityType.Step, SessionID = viewModel.SessionID
            };
            var childContent = new DebugState {
                HasError = childContentHasErrors, DisplayName = "Content", ID = Guid.NewGuid(), ParentID = parentContent.ID, StateType = StateType.All, ActivityType = ActivityType.Step, SessionID = viewModel.SessionID
            };

            //------------Execute Test---------------------------
            viewModel.Append(parentContent);
            viewModel.Append(childContent);

            //------------Assert Results-------------------------
            Assert.AreEqual(2, viewModel.ContentItemCount);
            Assert.AreEqual(1, viewModel.RootItems.Count);

            var childItem = viewModel.RootItems[0].Children[0];

            Assert.AreEqual(childContentHasErrors, childItem.HasError);
            Assert.AreEqual(parentContentHasErrors, childItem.Parent.HasError);
        }
Exemplo n.º 7
0
        [Ignore] //Bad Mocking Needs to be fixed... See MainViewModel OnImportsStatisfied
        public void DebugOutputViewModelPendingQueueExpectedQueuesMessagesAndFlushesWhenFinishedProcessing()
        {
            ImportService.CurrentContext = _importServiceContext;

            var envRepo = new Mock <IEnvironmentRepository>();

            envRepo.Setup(e => e.All()).Returns(new List <IEnvironmentModel>());
            envRepo.Setup(e => e.IsLoaded).Returns(true);

            var vm = new DebugOutputViewModel(envRepo.Object)
            {
                DebugStatus = DebugStatus.Executing
            };

            for (var i = 0; i < 10; i++)
            {
                var state     = new Mock <IDebugState>();
                var stateType = i % 2 == 0 ? StateType.Message : StateType.After;
                state.Setup(s => s.StateType).Returns(stateType);
                vm.Append(state.Object);
            }

            Assert.AreEqual(5, vm.PendingItemCount);
            Assert.AreEqual(5, vm.ContentItemCount);

            vm.DebugStatus = DebugStatus.Finished;

            Assert.AreEqual(0, vm.PendingItemCount);
            Assert.AreEqual(10, vm.ContentItemCount);
        }
Exemplo n.º 8
0
        public void DebugOutputViewModel_PendingQueueExpectedQueuesMessagesAndFlushesWhenFinishedProcessing()
        {
            var envRepo = GetEnvironmentRepository();

            var vm = new DebugOutputViewModel(new Mock <IEventPublisher>().Object, envRepo, new Mock <IDebugOutputFilterStrategy>().Object)
            {
                DebugStatus = DebugStatus.Executing
            };

            for (var i = 0; i < 10; i++)
            {
                var state     = new Mock <IDebugState>();
                var stateType = i % 2 == 0 ? StateType.Message : StateType.After;
                state.Setup(s => s.StateType).Returns(stateType);
                state.Setup(s => s.SessionID).Returns(vm.SessionID);
                vm.Append(state.Object);
            }

            Assert.AreEqual(5, vm.PendingItemCount);
            Assert.AreEqual(5, vm.ContentItemCount);

            vm.DebugStatus = DebugStatus.Finished;

            Assert.AreEqual(0, vm.PendingItemCount);
            Assert.AreEqual(10, vm.ContentItemCount);
        }
Exemplo n.º 9
0
        static void DebugOutputViewModel_Append_ContentStateType(StateType stateType, Type expectedType, bool isExpanded)
        {
            //------------Setup for test--------------------------
            var envRepo   = GetEnvironmentRepository();
            var viewModel = new DebugOutputViewModel(new Mock <IEventPublisher>().Object, envRepo, new Mock <IDebugOutputFilterStrategy>().Object);

            var content = new DebugState {
                DisplayName = "Content", ID = Guid.NewGuid(), StateType = stateType, ActivityType = ActivityType.Step, Message = "The message", SessionID = viewModel.SessionID
            };

            //------------Execute Test---------------------------
            viewModel.Append(content);

            //------------Assert Results-------------------------
            Assert.AreEqual(1, viewModel.ContentItemCount);
            Assert.AreEqual(1, viewModel.RootItems.Count);
            Assert.AreEqual(viewModel.RootItems[0].IsExpanded, isExpanded);
            Assert.IsInstanceOfType(viewModel.RootItems[0], expectedType);

            if (expectedType == typeof(DebugStringTreeViewItemViewModel))
            {
                Assert.AreEqual(0, viewModel.RootItems[0].Depth);
                var viewContent = ((DebugStringTreeViewItemViewModel)viewModel.RootItems[0]).Content;
                Assert.AreEqual(content.Message, viewContent);
            }
            else
            {
                Assert.IsTrue(viewModel.RootItems[0].Depth >= 0);
                var viewContent = ((DebugStateTreeViewItemViewModel)viewModel.RootItems[0]).Content;
                Assert.AreSame(content, viewContent);
            }
        }
 void DispatchServerDebugMessage(ExecuteMessage message, IContextualResourceModel resource)
 {
     if (message != null && message.Message != null)
     {
         var debugstate = DebugStateFactory.Create(message.Message.ToString(), resource);
         if (_debugOutputViewModel != null)
         {
             debugstate.SessionID = _debugOutputViewModel.SessionID;
             _debugOutputViewModel.Append(debugstate);
         }
     }
 }
Exemplo n.º 11
0
        public void DebugOutputViewModel_Append_NullContent_NotAdded()
        {
            //------------Setup for test--------------------------
            var envRepo   = GetEnvironmentRepository();
            var viewModel = new DebugOutputViewModel(new Mock <IEventPublisher>().Object, envRepo, new Mock <IDebugOutputFilterStrategy>().Object);

            //------------Execute Test---------------------------
            viewModel.Append(null);

            //------------Assert Results-------------------------
            Assert.AreEqual(0, viewModel.ContentItemCount);
            Assert.AreEqual(0, viewModel.RootItems.Count);
        }
Exemplo n.º 12
0
        public void DebugOutputViewModel_AppendWhenDebugStateFinishedShouldNotWriteItems()
        {
            var mock1 = new Mock <IDebugState>();
            var mock2 = new Mock <IDebugState>();

            mock1.SetupGet(m => m.ID).Returns(_firstResourceID);
            mock1.SetupGet(m => m.ServerID).Returns(_serverID);
            mock1.SetupGet(m => m.WorkspaceID).Returns(_workspaceID);

            mock2.SetupGet(m => m.ServerID).Returns(_serverID);
            mock2.SetupGet(m => m.WorkspaceID).Returns(_workspaceID);
            mock2.SetupGet(m => m.ParentID).Returns(_firstResourceID);

            var vm = new DebugOutputViewModel(new Mock <IEventPublisher>().Object, GetEnvironmentRepository(), new Mock <IDebugOutputFilterStrategy>().Object)
            {
                DebugStatus = DebugStatus.Finished
            };

            vm.Append(mock1.Object);
            vm.Append(mock2.Object);
            Assert.AreEqual(0, vm.RootItems.Count);
        }
        public void DebugOutputViewModel_Append_NullContent_NotAdded()
        {
            //------------Setup for test--------------------------
            var envRepo = GetEnvironmentRepository();
            var viewModel = new DebugOutputViewModel(new Mock<IEventPublisher>().Object, envRepo, new Mock<IDebugOutputFilterStrategy>().Object);

            //------------Execute Test---------------------------
            viewModel.Append(null);

            //------------Assert Results-------------------------
            Assert.AreEqual(0, viewModel.ContentItemCount);
            Assert.AreEqual(0, viewModel.RootItems.Count);
        }
Exemplo n.º 14
0
        public void DebugOutputViewModel_Append_TypeIsStartAndNotFirstStep_NothingAppended()
        {
            var envRepo   = GetEnvironmentRepository();
            var viewModel = new DebugOutputViewModel(new Mock <IEventPublisher>().Object, envRepo, new Mock <IDebugOutputFilterStrategy>().Object);
            var content   = new DebugState {
                DisplayName = "Content", ID = Guid.NewGuid(), ParentID = Guid.Empty, StateType = StateType.Start, ActivityType = ActivityType.Step, SessionID = viewModel.SessionID
            };

            //------------Execute Test---------------------------
            viewModel.Append(content);

            Assert.AreEqual(1, viewModel.RootItems.Count);
        }
Exemplo n.º 15
0
        public void DebugOutputViewModel_Append_ItemHasSameID_ShouldAddAsNewItemIntoTree()
        {
            //------------Setup for test--------------------------
            var id        = Guid.NewGuid();
            var envRepo   = GetEnvironmentRepository();
            var viewModel = new DebugOutputViewModel(new Mock <IEventPublisher>().Object, envRepo, new Mock <IDebugOutputFilterStrategy>().Object);
            var content   = new DebugState {
                DisplayName = "Content", ID = id, ParentID = id, StateType = StateType.All, ActivityType = ActivityType.Step, SessionID = viewModel.SessionID
            };

            viewModel.Append(content);
            var content2 = new DebugState {
                DisplayName = "Content2", ID = id, ParentID = id, StateType = StateType.All, ActivityType = ActivityType.Step, SessionID = viewModel.SessionID
            };

            //------------Execute Test---------------------------
            viewModel.Append(content2);
            //------------Assert Results-------------------------
            Assert.AreEqual(2, viewModel.RootItems.Count);
            var child = viewModel.RootItems[0] as DebugStateTreeViewItemViewModel;

            Assert.IsNotNull(child);
            // ReSharper disable ConditionIsAlwaysTrueOrFalse
            if (child != null)
            // ReSharper restore ConditionIsAlwaysTrueOrFalse
            {
                Assert.AreEqual("Content", child.Content.DisplayName);
            }
            var child2 = viewModel.RootItems[1] as DebugStateTreeViewItemViewModel;

            Assert.IsNotNull(child2);
            // ReSharper disable ConditionIsAlwaysTrueOrFalse
            if (child2 != null)
            // ReSharper restore ConditionIsAlwaysTrueOrFalse
            {
                Assert.AreEqual("Content2", child2.Content.DisplayName);
            }
        }
Exemplo n.º 16
0
        public void DebugOutputViewModel_Append_TypeIsEsbServicesInvokerAndNotLastStep_NothingAppended()
        {
            var envRepo   = GetEnvironmentRepository();
            var viewModel = new DebugOutputViewModel(new Mock <IEventPublisher>().Object, envRepo, new Mock <IDebugOutputFilterStrategy>().Object);
            var content   = new DebugState {
                Name = "EsbServiceInvoker", ExecutionOrigin = ExecutionOrigin.Unknown, ID = Guid.NewGuid(), ParentID = Guid.Empty, StateType = StateType.End, ActivityType = ActivityType.Step, SessionID = viewModel.SessionID
            };

            //------------Execute Test---------------------------
            viewModel.Append(content);

            // Assert Nothing Appended
            Assert.AreEqual(0, viewModel.RootItems.Count);
        }
Exemplo n.º 17
0
        public void DebugOutputViewModel_Append_WhenDebugIsInStoppingState_ZeroItemsAddedToTree()
        {
            var envRepo = GetEnvironmentRepository();

            var vm = new DebugOutputViewModel(new Mock <IEventPublisher>().Object, envRepo, new Mock <IDebugOutputFilterStrategy>().Object)
            {
                DebugStatus = DebugStatus.Stopping
            };

            var state = new Mock <IDebugState>();

            state.Setup(s => s.StateType).Returns(StateType.After);
            state.Setup(s => s.SessionID).Returns(vm.SessionID);
            vm.Append(state.Object);

            Assert.AreEqual(0, vm.RootItems.Count);
        }
Exemplo n.º 18
0
        public void DebugOutputViewModel_AppendItemNotFinalStep_DebugStatusUnchanced()
        {
            //*********************Setup********************
            var mock1 = new Mock <IDebugState>();

            mock1.Setup(m => m.IsFinalStep()).Returns(false);
            var vm = new DebugOutputViewModel(new Mock <IEventPublisher>().Object, GetEnvironmentRepository(), new Mock <IDebugOutputFilterStrategy>().Object)
            {
                DebugStatus = DebugStatus.Ready
            };

            //*********************Test********************
            vm.Append(mock1.Object);

            //*********************Assert*******************
            Assert.AreEqual(vm.DebugStatus, DebugStatus.Ready);
        }
Exemplo n.º 19
0
        public void Given_GroupDebugOutputViewModel_Append_Adds_Assing_On_Label()
        {
            var inputs = new List <IDebugItem>
            {
                new DebugItem
                {
                    ResultsList = new List <IDebugItemResult>
                    {
                        new DebugItemResult {
                            GroupIndex = 0, GroupName = "something", HasError = false, Label = "OutputLabel", MockSelected = false, MoreLink = null, Operator = "", TestStepHasError = false, Type = DebugItemResultType.Value, Value = "", Variable = null
                        },
                        new DebugItemResult {
                            GroupIndex = 0, GroupName = "something", HasError = false, Label = "Variable", MockSelected = false, MoreLink = null, Operator = "=", TestStepHasError = false, Type = DebugItemResultType.Variable, Value = "", Variable = "[[recordset().recordsetfield]]"
                        },
                        new DebugItemResult {
                            GroupIndex = 0, GroupName = "something", HasError = false, Label = "New Value", MockSelected = false, MoreLink = null, Operator = "", TestStepHasError = false, Type = DebugItemResultType.Variable, Value = "s", Variable = null
                        }
                    }
                }
            };
            var envRepo       = GetEnvironmentRepository();
            var viewModel     = new DebugOutputViewModel(new Mock <IEventPublisher>().Object, envRepo, new Mock <IDebugOutputFilterStrategy>().Object);
            var mockedContent = new Mock <IDebugState>();

            mockedContent.Setup(p => p.DisplayName).Returns("Content");
            mockedContent.Setup(p => p.ID).Returns(Guid.NewGuid());
            mockedContent.Setup(p => p.ParentID).Returns(Guid.Empty);
            mockedContent.Setup(p => p.StateType).Returns(StateType.End);
            mockedContent.Setup(p => p.SessionID).Returns(viewModel.SessionID);
            mockedContent.Setup(p => p.Inputs).Returns(inputs);
            //------------Execute Test---------------------------
            viewModel.Append(mockedContent.Object);

            // Assert Nothing Appended
            var item      = viewModel.RootItems[0];
            var debugItem = item as DebugStateTreeViewItemViewModel;
            var input     = debugItem.Inputs[0];
            var debugLine = input as DebugLine;
            var lineItem  = debugLine.LineItems[0];
            var grp       = lineItem as DebugLineGroup;

            Assert.AreEqual("OutputLabel = ", grp.GroupLabel);
        }
Exemplo n.º 20
0
        static void DebugOutputViewModel_Append_SearchText(string searchText, string contentText, bool isAdded)
        {
            //------------Setup for test--------------------------
            var envRepo     = GetEnvironmentRepository();
            var filterStrat = new Mock <IDebugOutputFilterStrategy>();

            filterStrat.Setup(e => e.Filter(It.IsAny <Object>(), It.IsAny <String>())).Returns(searchText == contentText);
            var viewModel = new DebugOutputViewModel(new Mock <IEventPublisher>().Object, envRepo, filterStrat.Object)
            {
                SearchText = searchText
            };

            var content = new DebugState {
                DisplayName = contentText, ID = Guid.NewGuid(), StateType = StateType.All, ActivityType = ActivityType.Step, SessionID = viewModel.SessionID
            };

            //------------Execute Test---------------------------
            viewModel.Append(content);

            //------------Assert Results-------------------------
            Assert.AreEqual(1, viewModel.ContentItemCount);
            Assert.AreEqual(isAdded ? 1 : 0, viewModel.RootItems.Count);
        }
Exemplo n.º 21
0
        void DebugOutputViewModel_Append_ContentIsDebugState(Guid contentID, Guid contentParentID, string displayName)
        {
            //------------Setup for test--------------------------
            var envRepo   = GetEnvironmentRepository();
            var viewModel = new DebugOutputViewModel(new Mock <IEventPublisher>().Object, envRepo, new Mock <IDebugOutputFilterStrategy>().Object);

            var content = new DebugState {
                DisplayName = displayName, ID = contentID, ParentID = contentParentID, StateType = StateType.All, ActivityType = ActivityType.Step, SessionID = viewModel.SessionID
            };

            //------------Execute Test---------------------------
            viewModel.Append(content);

            //------------Assert Results-------------------------
            Assert.AreEqual(1, viewModel.ContentItemCount);
            Assert.AreEqual(1, viewModel.RootItems.Count);

            var child = viewModel.RootItems[0];

            Assert.AreEqual(0, child.Depth);
            Assert.IsNull(child.Parent);
            Assert.IsFalse(child.IsExpanded);
        }
        void DebugOutputViewModel_Append_ContentIsDebugStateErrors(bool parentContentHasErrors, bool childContentHasErrors)
        {
            //------------Setup for test--------------------------
            var envRepo = GetEnvironmentRepository();
            var viewModel = new DebugOutputViewModel(new Mock<IEventPublisher>().Object, envRepo, new Mock<IDebugOutputFilterStrategy>().Object);

            var parentContent = new DebugState { HasError = parentContentHasErrors, DisplayName = "Content", ID = Guid.NewGuid(), ParentID = Guid.Empty, StateType = StateType.All, ActivityType = ActivityType.Step, SessionID = viewModel.SessionID };
            var childContent = new DebugState { HasError = childContentHasErrors, DisplayName = "Content", ID = Guid.NewGuid(), ParentID = parentContent.ID, StateType = StateType.All, ActivityType = ActivityType.Step, SessionID = viewModel.SessionID };

            //------------Execute Test---------------------------
            viewModel.Append(parentContent);
            viewModel.Append(childContent);

            //------------Assert Results-------------------------
            Assert.AreEqual(2, viewModel.ContentItemCount);
            Assert.AreEqual(1, viewModel.RootItems.Count);

            var childItem = viewModel.RootItems[0].Children[0];

            Assert.AreEqual(childContentHasErrors, childItem.HasError);
            Assert.AreEqual(parentContentHasErrors, childItem.Parent.HasError);
        }
        public void DebugOutputViewModel_Append_ItemRemoteHasNoPermission_ShouldNotAddAsNewItemIntoTree()
        {
            //------------Setup for test--------------------------
            var id = Guid.NewGuid();
            var envRepo = GetEnvironmentRepository();

            var mockAuthorizationService = new Mock<IAuthorizationService>();
            mockAuthorizationService.Setup(service => service.GetResourcePermissions(It.IsAny<Guid>())).Returns(Permissions.None);
            _environmentModel.Setup(model => model.AuthorizationService).Returns(mockAuthorizationService.Object);
            var viewModel = new DebugOutputViewModel(new Mock<IEventPublisher>().Object, envRepo, new Mock<IDebugOutputFilterStrategy>().Object);
            var content = new DebugState { DisplayName = "Content", ID = id, ParentID = id, StateType = StateType.All, ActivityType = ActivityType.Step, SessionID = viewModel.SessionID };
            viewModel.Append(content);
            var content2 = new DebugState { DisplayName = "Content2", ID = id, ParentID = id, StateType = StateType.All, ActivityType = ActivityType.Step, SessionID = viewModel.SessionID, EnvironmentID = Guid.NewGuid() };
            //------------Execute Test---------------------------
            viewModel.Append(content2);
            //------------Assert Results-------------------------
            Assert.AreEqual(1, viewModel.RootItems.Count);
        }
        public void DebugOutputViewModel_Append_TypeIsStartAndNotFirstStep_NothingAppended()
        {
            var envRepo = GetEnvironmentRepository();
            var viewModel = new DebugOutputViewModel(new Mock<IEventPublisher>().Object, envRepo, new Mock<IDebugOutputFilterStrategy>().Object);
            var content = new DebugState { DisplayName = "Content", ID = Guid.NewGuid(), ParentID = Guid.Empty, StateType = StateType.Start, ActivityType = ActivityType.Step, SessionID = viewModel.SessionID };

            //------------Execute Test---------------------------
            viewModel.Append(content);

            // Assert Nothing Appended
            Assert.AreEqual(0, viewModel.RootItems.Count);
        }
        static void DebugOutputViewModel_Append_ContentStateType(StateType stateType, Type expectedType, bool isExpanded)
        {
            //------------Setup for test--------------------------
            var envRepo = GetEnvironmentRepository();
            var viewModel = new DebugOutputViewModel(new Mock<IEventPublisher>().Object, envRepo, new Mock<IDebugOutputFilterStrategy>().Object);

            var content = new DebugState { DisplayName = "Content", ID = Guid.NewGuid(), StateType = stateType, ActivityType = ActivityType.Step, Message = "The message", SessionID = viewModel.SessionID };

            //------------Execute Test---------------------------
            viewModel.Append(content);

            //------------Assert Results-------------------------
            Assert.AreEqual(1, viewModel.ContentItemCount);
            Assert.AreEqual(1, viewModel.RootItems.Count);
            Assert.AreEqual(viewModel.RootItems[0].IsExpanded, isExpanded);
            Assert.IsInstanceOfType(viewModel.RootItems[0], expectedType);

            if(expectedType == typeof(DebugStringTreeViewItemViewModel))
            {
                Assert.AreEqual(0, viewModel.RootItems[0].Depth);
                var viewContent = ((DebugStringTreeViewItemViewModel)viewModel.RootItems[0]).Content;
                Assert.AreEqual(content.Message, viewContent);
            }
            else
            {
                Assert.IsTrue(viewModel.RootItems[0].Depth >= 0);
                var viewContent = ((DebugStateTreeViewItemViewModel)viewModel.RootItems[0]).Content;
                Assert.AreSame(content, viewContent);
            }
        }
Exemplo n.º 26
0
        public void DebugOutputViewModelPendingQueueExpectedQueuesMessagesAndFlushesWhenFinishedProcessing()
        {
            ImportService.CurrentContext = _importServiceContext;

            var envRepo = new Mock<IEnvironmentRepository>();
            envRepo.Setup(e => e.All()).Returns(new List<IEnvironmentModel>());
            envRepo.Setup(e => e.IsLoaded).Returns(true);

            var vm = new DebugOutputViewModel(envRepo.Object) { DebugStatus = DebugStatus.Executing };
            for(var i = 0; i < 10; i++)
            {
                var state = new Mock<IDebugState>();
                var stateType = i % 2 == 0 ? StateType.Message : StateType.After;
                state.Setup(s => s.StateType).Returns(stateType);
                vm.Append(state.Object);
            }

            Assert.AreEqual(5, vm.PendingItemCount);
            Assert.AreEqual(5, vm.ContentItemCount);

            vm.DebugStatus = DebugStatus.Finished;

            Assert.AreEqual(0, vm.PendingItemCount);
            Assert.AreEqual(10, vm.ContentItemCount);
        }
Exemplo n.º 27
0
        public void DebugOutputViewModelAppendNestedDebugstatesExpectNestedInRootItems()
        {
            ImportService.CurrentContext = _importServiceContext;

            var mock1 = new Mock<IDebugState>();
            var mock2 = new Mock<IDebugState>();
            mock1.SetupGet(m => m.ID).Returns(_firstResourceID);
            mock1.SetupGet(m => m.ServerID).Returns(_serverID);
            mock1.SetupGet(m => m.WorkspaceID).Returns(_workspaceID);

            mock2.SetupGet(m => m.ServerID).Returns(_serverID);
            mock2.SetupGet(m => m.WorkspaceID).Returns(_workspaceID);
            mock2.SetupGet(m => m.ParentID).Returns(_firstResourceID);

            var vm = new DebugOutputViewModel();
            vm.Append(mock1.Object);
            vm.Append(mock2.Object);
            Assert.IsTrue(vm.RootItems.Count == 1);
            var root = vm.RootItems.First() as DebugStateTreeViewItemViewModel;

            Assert.IsTrue(root.Content.Equals(mock1.Object));

            var firstChild = root.Children.First() as DebugStateTreeViewItemViewModel;
            Assert.IsTrue(firstChild.Content.ParentID.Equals(_firstResourceID));
        }
Exemplo n.º 28
0
        public void DebugOutputViewModelAppendErrorExpectErrorMessageAppende()
        {
            ImportService.CurrentContext = _importServiceContext;

            var mock1 = new Mock<IDebugState>();
            var mock2 = new Mock<IDebugState>();
            mock1.SetupGet(m => m.ID).Returns(_firstResourceID);
            mock1.SetupGet(m => m.ServerID).Returns(_serverID);
            mock1.SetupGet(m => m.WorkspaceID).Returns(_workspaceID);

            mock2.SetupGet(m => m.ServerID).Returns(_serverID);
            mock2.SetupGet(m => m.WorkspaceID).Returns(_workspaceID);
            mock2.SetupGet(m => m.ParentID).Returns(_firstResourceID);
            mock2.SetupGet(m => m.StateType).Returns(StateType.Append);
            mock2.SetupGet(m => m.HasError).Returns(true);
            mock2.SetupGet(m => m.ErrorMessage).Returns("Error Test");

            mock1.SetupSet(s => s.ErrorMessage).Callback(s => Assert.IsTrue(s.Equals("Error Test")));
            mock1.SetupSet(s => s.HasError).Callback(s => Assert.IsTrue(s.Equals(true)));

            var vm = new DebugOutputViewModel();

            vm.Append(mock1.Object);
            vm.Append(mock2.Object);

            Assert.IsTrue(vm.RootItems.Count == 1);
            var root = vm.RootItems.First() as DebugStateTreeViewItemViewModel;
            Assert.IsTrue(root.HasError.Equals(true));
        }
        static void DebugOutputViewModel_Append_SearchText(string searchText, string contentText, bool isAdded)
        {
            //------------Setup for test--------------------------
            var envRepo = GetEnvironmentRepository();
            var filterStrat = new Mock<IDebugOutputFilterStrategy>();
            filterStrat.Setup(e => e.Filter(It.IsAny<Object>(), It.IsAny<String>())).Returns(searchText == contentText);
            var viewModel = new DebugOutputViewModel(new Mock<IEventPublisher>().Object, envRepo, filterStrat.Object) { SearchText = searchText };

            var content = new DebugState { DisplayName = contentText, ID = Guid.NewGuid(), StateType = StateType.All, ActivityType = ActivityType.Step, SessionID = viewModel.SessionID };

            //------------Execute Test---------------------------
            viewModel.Append(content);

            //------------Assert Results-------------------------
            Assert.AreEqual(1, viewModel.ContentItemCount);
            Assert.AreEqual(isAdded ? 1 : 0, viewModel.RootItems.Count);
        }
        void DebugOutputViewModel_Append_ContentIsDebugState(Guid contentID, Guid contentParentID, string displayName)
        {
            //------------Setup for test--------------------------
            var envRepo = GetEnvironmentRepository();
            var viewModel = new DebugOutputViewModel(new Mock<IEventPublisher>().Object, envRepo, new Mock<IDebugOutputFilterStrategy>().Object);

            var content = new DebugState { DisplayName = displayName, ID = contentID, ParentID = contentParentID, StateType = StateType.All, ActivityType = ActivityType.Step, SessionID = viewModel.SessionID };

            //------------Execute Test---------------------------
            viewModel.Append(content);

            //------------Assert Results-------------------------
            Assert.AreEqual(1, viewModel.ContentItemCount);
            Assert.AreEqual(1, viewModel.RootItems.Count);

            var child = viewModel.RootItems[0];
            Assert.AreEqual(0, child.Depth);
            Assert.IsNull(child.Parent);
            Assert.IsFalse(child.IsExpanded);
        }
 public void DebugOutputViewModel_Append_ItemHasSameID_ShouldAddAsNewItemIntoTree()
 {
     //------------Setup for test--------------------------
     var id = Guid.NewGuid();
     var envRepo = GetEnvironmentRepository();
     var viewModel = new DebugOutputViewModel(new Mock<IEventPublisher>().Object, envRepo, new Mock<IDebugOutputFilterStrategy>().Object);
     var content = new DebugState { DisplayName = "Content", ID = id, ParentID = id, StateType = StateType.All, ActivityType = ActivityType.Step, SessionID = viewModel.SessionID };
     viewModel.Append(content);
     var content2 = new DebugState { DisplayName = "Content2", ID = id, ParentID = id, StateType = StateType.All, ActivityType = ActivityType.Step, SessionID = viewModel.SessionID };
     //------------Execute Test---------------------------
     viewModel.Append(content2);
     //------------Assert Results-------------------------
     Assert.AreEqual(2, viewModel.RootItems.Count);
     var child = viewModel.RootItems[0] as DebugStateTreeViewItemViewModel;
     Assert.IsNotNull(child);
     // ReSharper disable ConditionIsAlwaysTrueOrFalse
     if(child != null)
     // ReSharper restore ConditionIsAlwaysTrueOrFalse
     {
         Assert.AreEqual("Content", child.Content.DisplayName);
     }
     var child2 = viewModel.RootItems[1] as DebugStateTreeViewItemViewModel;
     Assert.IsNotNull(child2);
     // ReSharper disable ConditionIsAlwaysTrueOrFalse
     if(child2 != null)
     // ReSharper restore ConditionIsAlwaysTrueOrFalse
     {
         Assert.AreEqual("Content2", child2.Content.DisplayName);
     }
 }