コード例 #1
0
        public void TriggerQueueView_Defaults_For_Coverage_To_Remove()
        {
            var mockServer        = new Mock <IServer>();
            var mockErrorResultTO = new Mock <IErrorResultTO>();
            var resourceId        = Guid.NewGuid();
            var triggerQueueView  = new TriggerQueueView(mockServer.Object)
            {
                TriggerId        = resourceId,
                ResourceId       = resourceId,
                OldQueueName     = "OldName",
                Enabled          = true,
                Errors           = mockErrorResultTO.Object,
                TriggerQueueName = "TriggerQueueName",
                NameForDisplay   = "NameForDisplay",
                IsNewQueue       = true
            };

            Assert.AreEqual(resourceId, triggerQueueView.TriggerId);
            Assert.AreEqual(resourceId, triggerQueueView.ResourceId);
            Assert.AreEqual("OldName", triggerQueueView.OldQueueName);
            Assert.IsTrue(triggerQueueView.Enabled);
            Assert.IsNotNull(triggerQueueView.Errors);
            Assert.IsTrue(triggerQueueView.IsNewQueue);
            Assert.AreEqual("TriggerQueueName", triggerQueueView.TriggerQueueName);
            Assert.AreEqual("NameForDisplay", triggerQueueView.NameForDisplay);
            Assert.IsTrue(triggerQueueView.IsNewQueue);
        }
コード例 #2
0
        public void TriggerQueueView_History_IsHistoryExpanded_True()
        {
            var resourceId = Guid.NewGuid();

            var executionInfo = new ExecutionInfo(DateTime.Now, DateTime.Now - DateTime.UtcNow, DateTime.Today, QueueRunStatus.Success, Guid.NewGuid(), "");

            var history = new List <IExecutionHistory>
            {
                new ExecutionHistory(resourceId, "output", executionInfo, "username")
            };

            var mockServer             = new Mock <IServer>();
            var mockResourceRepository = new Mock <IResourceRepository>();

            mockResourceRepository.Setup(resourceRepository => resourceRepository.GetTriggerQueueHistory(resourceId)).Returns(history);

            mockServer.Setup(server => server.ResourceRepository).Returns(mockResourceRepository.Object);

            var triggerQueueView = new TriggerQueueView(mockServer.Object, new SynchronousAsyncWorker())
            {
                TriggerId         = resourceId,
                ResourceId        = resourceId,
                IsHistoryExpanded = true
            };

            Assert.IsNotNull(triggerQueueView.History);
            Assert.AreEqual(1, triggerQueueView.History.Count);
            Assert.IsFalse(triggerQueueView.IsProgressBarVisible);
            mockResourceRepository.Verify(resourceRepository => resourceRepository.GetTriggerQueueHistory(resourceId), Times.Exactly(1));
        }
コード例 #3
0
        public void TriggerQueueView_Item_IsDirty_True()
        {
            var mockServer       = new Mock <IServer>();
            var resourceId       = Guid.NewGuid();
            var triggerQueueView = new TriggerQueueView(mockServer.Object)
            {
                ResourceId       = resourceId,
                OldQueueName     = "OldName",
                Enabled          = true,
                TriggerQueueName = "TriggerQueueName",
                IsNewQueue       = true
            };

            var triggerQueueViewItem = new TriggerQueueView(mockServer.Object)
            {
                ResourceId       = resourceId,
                OldQueueName     = "OldName",
                Enabled          = true,
                TriggerQueueName = "TriggerQueueName",
                IsNewQueue       = true,
                Item             = triggerQueueView
            };

            Assert.AreEqual("TriggerQueueName *", triggerQueueViewItem.NameForDisplay);
        }
コード例 #4
0
        public void TriggerQueueView_QueueEvents_Get_Xml_Datalist_InputsFromWorkflow_VerifyCommand_Success()
        {
            var popupController = new Mock <IPopupController>();

            popupController.Setup(controller => controller.Show(StringResources.DataInput_Error, StringResources.DataInput_Error_Title, System.Windows.MessageBoxButton.OK, System.Windows.MessageBoxImage.Error, string.Empty, false, true, false, false, false, false));
            CustomContainer.Register(popupController.Object);
            var mockServer              = new Mock <IServer>();
            var mockErrorResultTO       = new Mock <IErrorResultTO>();
            var contextualResourceModel = CreateItemModelResourceModel();
            var mockResourceRepository  = new Mock <IResourceRepository>();

            mockResourceRepository.Setup(rr => rr.LoadContextualResourceModel(It.IsAny <Guid>())).Returns(contextualResourceModel);
            mockServer.Setup(server => server.ResourceRepository).Returns(mockResourceRepository.Object);

            var triggerQueueView = new TriggerQueueView(mockServer.Object)
            {
                TriggerId     = Guid.NewGuid(),
                ResourceId    = contextualResourceModel.ID,
                QueueSourceId = Guid.NewGuid(),
                Errors        = mockErrorResultTO.Object,
                QueueName     = "Queue",
                WorkflowName  = "Workflow"
            };

            Assert.IsNotNull(triggerQueueView.Errors);
            Assert.IsNull(triggerQueueView.VerifyResults);
            Assert.IsFalse(triggerQueueView.IsVerifying);
            Assert.IsFalse(triggerQueueView.IsVerifyResultsEmptyRows);

            triggerQueueView.VerifyResults = "<DataList><Name>Test</Name><Surname>test1</Surname><Person><Name>sdas</Name><Surname>asdsad</Surname></Person></DataList>";
            triggerQueueView.GetInputsFromWorkflow();
            triggerQueueView.VerifyCommand.Execute(null);

            Assert.AreEqual(4, triggerQueueView.Inputs.Count);

            var inputs = triggerQueueView.Inputs.ToList();

            Assert.AreEqual("Name", inputs[0].Name);
            Assert.AreEqual("Test", inputs[0].Value);

            Assert.AreEqual("Surname", inputs[1].Name);
            Assert.AreEqual("test1", inputs[1].Value);

            Assert.AreEqual("Person(1).Name", inputs[2].Name);
            Assert.AreEqual("sdas", inputs[2].Value);

            Assert.AreEqual("Person(1).Surname", inputs[3].Name);
            Assert.AreEqual("asdsad", inputs[3].Value);

            Assert.IsTrue(triggerQueueView.VerifyResultsAvailable);
            Assert.IsFalse(triggerQueueView.IsVerifyResultsEmptyRows);
            Assert.IsFalse(triggerQueueView.IsVerifying);
            Assert.IsTrue(triggerQueueView.VerifyPassed);
            Assert.IsFalse(triggerQueueView.VerifyFailed);

            popupController.Verify(controller => controller.Show(StringResources.DataInput_Error, StringResources.DataInput_Error_Title, System.Windows.MessageBoxButton.OK, System.Windows.MessageBoxImage.Error, string.Empty, false, true, false, false, false, false), Times.Never);
        }
コード例 #5
0
        public void TriggerQueueView_QueueNames()
        {
            var resourceId  = Guid.NewGuid();
            var queueSource = new Mock <IResource>();

            queueSource.Setup(source => source.ResourceID).Returns(resourceId);

            string[] tempValues = new string[3];
            tempValues[0] = "value1";
            tempValues[1] = "value2";
            tempValues[2] = "value3";

            var expectedQueueNames = new Dictionary <string, string[]>
            {
                { "QueueNames", tempValues }
            };

            List <IOption> expectedOptions = SetupOptionsView();

            var mockServer             = new Mock <IServer>();
            var mockResourceRepository = new Mock <IResourceRepository>();

            mockResourceRepository.Setup(resourceRepository => resourceRepository.FindAutocompleteOptions(mockServer.Object, queueSource.Object)).Returns(expectedQueueNames);
            mockResourceRepository.Setup(resourceRepository => resourceRepository.FindOptions(mockServer.Object, queueSource.Object)).Returns(expectedOptions);

            mockServer.Setup(server => server.ResourceRepository).Returns(mockResourceRepository.Object);

            var triggerQueueView = new TriggerQueueView(mockServer.Object)
            {
                SelectedQueueSource = queueSource.Object
            };

            Assert.IsNotNull(triggerQueueView.SelectedQueueSource);
            Assert.AreEqual(queueSource.Object, triggerQueueView.SelectedQueueSource);
            Assert.AreEqual(resourceId, triggerQueueView.QueueSourceId);
            Assert.IsNotNull(triggerQueueView.QueueNames);
            Assert.AreEqual(0, triggerQueueView.QueueNames.Count);

            Assert.AreEqual(3, triggerQueueView.Options.Count);

            var optionOne = triggerQueueView.Options[0].DataContext as OptionBool;

            Assert.IsNotNull(optionOne);
            Assert.AreEqual("bool", optionOne.Name);
            Assert.IsFalse(optionOne.Value);
            Assert.IsTrue(optionOne.Default);

            var optionTwo = triggerQueueView.Options[1].DataContext as OptionInt;

            Assert.IsNotNull(optionTwo);
            Assert.AreEqual("int", optionTwo.Name);
            Assert.AreEqual(10, optionTwo.Value);
            Assert.AreEqual(0, optionTwo.Default);
        }
コード例 #6
0
        public void TriggerQueueView_ReferenceEquals_Match_Expect_True()
        {
            var mockServer       = new Mock <IServer>();
            var triggerQueueView = new TriggerQueueView(mockServer.Object)
            {
                Concurrency = 1
            };
            var otherTriggerQueueView = triggerQueueView;
            var equals = triggerQueueView.Equals(otherTriggerQueueView);

            Assert.IsTrue(equals);
        }
コード例 #7
0
        private void PopulateQueues()
        {
            Queues = new ObservableCollection <TriggerQueueView>();
            var queues = _resourceRepository.FetchTriggerQueues();

            foreach (var queue in queues)
            {
                var triggerQueueView = new TriggerQueueView(_server);
                triggerQueueView.ToModel(queue);
                triggerQueueView.SetItem();
                Queues.Add(triggerQueueView);
            }
        }
コード例 #8
0
        public void TriggerQueueView_QueueEvents_Get_ComplexObject_InputsFromWorkflow_VerifyCommand_Success()
        {
            var popupController = new Mock <IPopupController>();

            popupController.Setup(controller => controller.Show(StringResources.DataInput_Error, StringResources.DataInput_Error_Title, System.Windows.MessageBoxButton.OK, System.Windows.MessageBoxImage.Error, string.Empty, false, true, false, false, false, false));
            CustomContainer.Register(popupController.Object);
            var mockServer = new Mock <IServer>();
            var contextualResourceModel = CreateComplexItemModelResourceModel();
            var mockResourceRepository  = new Mock <IResourceRepository>();

            mockResourceRepository.Setup(rr => rr.LoadContextualResourceModel(It.IsAny <Guid>())).Returns(contextualResourceModel);
            mockServer.Setup(server => server.ResourceRepository).Returns(mockResourceRepository.Object);

            var triggerQueueView = new TriggerQueueView(mockServer.Object)
            {
                TriggerId     = Guid.NewGuid(),
                ResourceId    = contextualResourceModel.ID,
                QueueSourceId = Guid.NewGuid(),
                QueueName     = "Queue",
                WorkflowName  = "Workflow"
            };

            Assert.IsNull(triggerQueueView.VerifyResults);
            Assert.IsFalse(triggerQueueView.IsVerifying);
            Assert.IsFalse(triggerQueueView.IsVerifyResultsEmptyRows);

            var json = "{\"Person\": {\"Name\": \"test\",\"Surname\": \"test\" }}";

            triggerQueueView.VerifyResults = json;
            triggerQueueView.GetInputsFromWorkflow();
            triggerQueueView.VerifyCommand.Execute(null);

            Assert.AreEqual(1, triggerQueueView.Inputs.Count);
            var inputs = triggerQueueView.Inputs.ToList();

            Assert.AreEqual("@Person", inputs[0].Name);
            Assert.AreEqual("{\r\n  \"Name\": \"test\",\r\n  \"Surname\": \"test\"\r\n}", inputs[0].Value);

            Assert.IsTrue(triggerQueueView.VerifyResultsAvailable);
            Assert.IsFalse(triggerQueueView.IsVerifyResultsEmptyRows);
            Assert.IsFalse(triggerQueueView.IsVerifying);
            Assert.IsTrue(triggerQueueView.VerifyPassed);
            Assert.IsFalse(triggerQueueView.VerifyFailed);

            popupController.Verify(controller => controller.Show(StringResources.DataInput_Error, StringResources.DataInput_Error_Title, System.Windows.MessageBoxButton.OK, System.Windows.MessageBoxImage.Error, string.Empty, false, true, false, false, false, false), Times.Never);
        }
コード例 #9
0
        public void TriggerQueueView_SetItem()
        {
            var mockServer = new Mock <IServer>();

            var resourceId          = Guid.NewGuid();
            var queueSinkResourceId = Guid.NewGuid();

            var mockOption = new Mock <IOption>();
            var option     = new OptionViewForTesting(mockOption.Object);
            var mockInputs = new Mock <ICollection <IServiceInputBase> >();

            var triggerQueueView = new TriggerQueueView(mockServer.Object)
            {
                QueueSourceId = resourceId,
                QueueName     = "Queue",
                WorkflowName  = "Workflow",
                Concurrency   = 100,
                UserName      = "******",
                Password      = "******",
                Options       = new ObservableCollection <OptionView> {
                    option
                },
                QueueSinkId       = queueSinkResourceId,
                DeadLetterQueue   = "DeadLetterQueue",
                DeadLetterOptions = new ObservableCollection <OptionView> {
                    option
                },
                Inputs = mockInputs.Object
            };

            triggerQueueView.SetItem();

            Assert.AreEqual(triggerQueueView.QueueSourceId, triggerQueueView.Item.QueueSourceId);
            Assert.AreEqual(triggerQueueView.QueueName, triggerQueueView.Item.QueueName);
            Assert.AreEqual(triggerQueueView.WorkflowName, triggerQueueView.Item.WorkflowName);
            Assert.AreEqual(triggerQueueView.Concurrency, triggerQueueView.Item.Concurrency);
            Assert.AreEqual(triggerQueueView.UserName, triggerQueueView.Item.UserName);
            Assert.AreEqual(triggerQueueView.Password, triggerQueueView.Item.Password);
            Assert.AreEqual(triggerQueueView.Options.Count, triggerQueueView.Item.Options.Count);
            Assert.AreEqual(triggerQueueView.QueueSinkId, triggerQueueView.Item.QueueSinkId);
            Assert.AreEqual(triggerQueueView.DeadLetterQueue, triggerQueueView.Item.DeadLetterQueue);
            Assert.AreEqual(triggerQueueView.DeadLetterOptions.Count, triggerQueueView.Item.DeadLetterOptions.Count);
            Assert.AreEqual(triggerQueueView.Inputs.Count, triggerQueueView.Item.Inputs.Count);
        }
コード例 #10
0
        public void TriggerQueueView_QueueEvents_Get_Xml_DataList_InputsFromWorkflow_VerifyCommand_InvalidData_ShowInvalidDataPopupMessage()
        {
            var popupController = new Mock <IPopupController>();

            popupController.Setup(controller => controller.Show(StringResources.DataInput_Error, StringResources.DataInput_Error_Title, System.Windows.MessageBoxButton.OK, System.Windows.MessageBoxImage.Error, string.Empty, false, true, false, false, false, false));
            CustomContainer.Register(popupController.Object);

            var mockServer              = new Mock <IServer>();
            var mockErrorResultTO       = new Mock <IErrorResultTO>();
            var contextualResourceModel = CreateItemModelResourceModel();
            var mockResourceRepository  = new Mock <IResourceRepository>();

            mockResourceRepository.Setup(rr => rr.LoadContextualResourceModel(It.IsAny <Guid>())).Returns(contextualResourceModel);
            mockServer.Setup(server => server.ResourceRepository).Returns(mockResourceRepository.Object);

            var triggerQueueView = new TriggerQueueView(mockServer.Object)
            {
                TriggerId     = Guid.NewGuid(),
                ResourceId    = contextualResourceModel.ID,
                QueueSourceId = Guid.NewGuid(),
                QueueName     = "Queue",
                WorkflowName  = "Workflow"
            };

            Assert.IsNull(triggerQueueView.VerifyResults);
            Assert.IsFalse(triggerQueueView.IsVerifying);
            Assert.IsFalse(triggerQueueView.IsVerifyResultsEmptyRows);

            triggerQueueView.VerifyResults = "<DataList><Name>asdasd</Name>asdasdasd</Surname><bob><name>sdas</name><surname>asdsad</surname></bob><Person><Name></Name><Surname></Surname></Person></DataList>";
            triggerQueueView.GetInputsFromWorkflow();
            triggerQueueView.VerifyCommand.Execute(null);

            Assert.IsFalse(triggerQueueView.VerifyResultsAvailable);
            Assert.IsFalse(triggerQueueView.IsVerifyResultsEmptyRows);
            Assert.IsFalse(triggerQueueView.IsVerifying);
            Assert.IsFalse(triggerQueueView.VerifyPassed);
            Assert.IsTrue(triggerQueueView.VerifyFailed);
            popupController.Verify(controller => controller.Show(StringResources.DataInput_Error, StringResources.DataInput_Error_Title, System.Windows.MessageBoxButton.OK, System.Windows.MessageBoxImage.Error, string.Empty, false, true, false, false, false, false), Times.Once);
        }
コード例 #11
0
        public void TriggerQueueView_Equals_MisMatch_Expect_False()
        {
            var mockServer = new Mock <IServer>();

            var resourceId          = Guid.NewGuid();
            var queueSinkResourceId = Guid.NewGuid();

            var mockOption = new Mock <IOption>();
            var option     = new OptionViewForTesting(mockOption.Object);
            var mockInputs = new Mock <ICollection <IServiceInputBase> >();

            var triggerQueueView = new TriggerQueueView(mockServer.Object)
            {
                QueueSourceId = resourceId,
                QueueName     = "Queue",
                WorkflowName  = "Workflow",
                Concurrency   = 100,
                UserName      = "******",
                Password      = "******",
                Options       = new ObservableCollection <OptionView> {
                    option
                },
                QueueSinkId       = queueSinkResourceId,
                DeadLetterQueue   = "DeadLetterQueue",
                DeadLetterOptions = new ObservableCollection <OptionView> {
                    option
                },
                Inputs = mockInputs.Object
            };

            var otherTriggerQueueView = new TriggerQueueView(mockServer.Object)
            {
                Concurrency = 2
            };
            var equals = triggerQueueView.Equals(otherTriggerQueueView);

            Assert.IsFalse(equals);
        }
コード例 #12
0
        public void TriggerQueueView_DeadLetterQueues()
        {
            var resourceId      = Guid.NewGuid();
            var mockQueueSource = new Mock <IResource>();

            mockQueueSource.Setup(resource => resource.ResourceID).Returns(resourceId);

            string[] tempValues = new string[3];
            tempValues[0] = "value1";
            tempValues[1] = "value2";
            tempValues[2] = "value3";

            var expectedQueueNames = new Dictionary <string, string[]>
            {
                { "QueueNames", tempValues }
            };

            List <IOption> expectedOptions = SetupOptionsView();

            var mockApplicationAdapter = new Mock <IApplicationAdaptor>();

            mockApplicationAdapter.Setup(p => p.TryFindResource(It.IsAny <string>())).Verifiable();
            CustomContainer.Register(mockApplicationAdapter.Object);

            var mockServer             = new Mock <IServer>();
            var mockResourceRepository = new Mock <IResourceRepository>();

            mockResourceRepository.Setup(resourceRepository => resourceRepository.FindAutocompleteOptions(mockServer.Object, mockQueueSource.Object)).Returns(expectedQueueNames);
            mockResourceRepository.Setup(resourceRepository => resourceRepository.FindOptions(mockServer.Object, mockQueueSource.Object)).Returns(expectedOptions);

            mockServer.Setup(server => server.ResourceRepository).Returns(mockResourceRepository.Object);

            var triggerQueueView = new TriggerQueueView(mockServer.Object)
            {
                SelectedDeadLetterQueueSource = mockQueueSource.Object
            };

            Assert.IsNotNull(triggerQueueView.SelectedDeadLetterQueueSource);
            Assert.AreEqual(mockQueueSource.Object, triggerQueueView.SelectedDeadLetterQueueSource);
            Assert.AreEqual(resourceId, triggerQueueView.QueueSinkId);
            Assert.IsNotNull(triggerQueueView.DeadLetterQueues);
            Assert.AreEqual(0, triggerQueueView.DeadLetterQueues.Count);

            Assert.AreEqual(3, triggerQueueView.DeadLetterOptions.Count);

            var optionOne = triggerQueueView.DeadLetterOptions[0].DataContext as OptionBool;

            Assert.IsNotNull(optionOne);
            Assert.AreEqual("bool", optionOne.Name);
            Assert.IsFalse(optionOne.Value);
            Assert.IsTrue(optionOne.Default);

            var optionOneTemplate = triggerQueueView.DeadLetterOptions[0].DataTemplate;

            mockApplicationAdapter.Verify(model => model.TryFindResource("OptionBoolStyle"), Times.Once());

            var optionTwo = triggerQueueView.DeadLetterOptions[1].DataContext as OptionInt;

            Assert.IsNotNull(optionTwo);
            Assert.AreEqual("int", optionTwo.Name);
            Assert.AreEqual(10, optionTwo.Value);
            Assert.AreEqual(0, optionTwo.Default);

            var optionTwoTemplate = triggerQueueView.DeadLetterOptions[1].DataTemplate;

            mockApplicationAdapter.Verify(model => model.TryFindResource("OptionIntStyle"), Times.Once());

            var optionThree = triggerQueueView.DeadLetterOptions[2].DataContext as OptionAutocomplete;

            Assert.IsNotNull(optionThree);
            Assert.AreEqual("auto", optionThree.Name);
            Assert.AreEqual("new text", optionThree.Value);
            Assert.IsNull(optionThree.Suggestions);
            Assert.AreEqual("", optionThree.Default);

            var optionThreeTemplate = triggerQueueView.DeadLetterOptions[2].DataTemplate;

            mockApplicationAdapter.Verify(model => model.TryFindResource("OptionAutocompleteStyle"), Times.Once());
        }