public void WorkflowInputDataViewModel_ExecuteWorkflow_InvokesSendExecuteRequest() { //------------Setup for test-------------------------- var rm = new Mock <IContextualResourceModel>(); rm.Setup(r => r.ServerID).Returns(_serverID); rm.Setup(r => r.ResourceName).Returns(ResourceName); rm.Setup(r => r.WorkflowXaml).Returns(new StringBuilder(StringResourcesTest.DebugInputWindow_WorkflowXaml)); rm.Setup(r => r.ID).Returns(_resourceID); rm.Setup(r => r.DataList).Returns(StringResourcesTest.DebugInputWindow_DataList); var mockEnvironmentModel = new Mock <IEnvironmentModel>(); mockEnvironmentModel.Setup(model => model.ID).Returns(Guid.Empty); var mockEnvironmentConnection = new Mock <IEnvironmentConnection>(); mockEnvironmentModel.Setup(model => model.Connection).Returns(mockEnvironmentConnection.Object); rm.Setup(model => model.Environment).Returns(mockEnvironmentModel.Object); var serviceDebugInfoModel = new ServiceDebugInfoModel { DebugModeSetting = DebugMode.DebugInteractive, RememberInputs = true, ResourceModel = rm.Object, ServiceInputData = "<DataList></DataList>" }; var debugOutputViewModel = CreateDebugOutputViewModel(); var workflowInputDataViewModel = new WorkflowInputDataViewModelMock(serviceDebugInfoModel, debugOutputViewModel); workflowInputDataViewModel.DebugExecutionStart += () => debugOutputViewModel.DebugStatus = DebugStatus.Executing; //------------Execute Test--------------------------- workflowInputDataViewModel.ExecuteWorkflow(); //------------Assert Results------------------------- Assert.AreEqual(DebugStatus.Executing, debugOutputViewModel.DebugStatus); Assert.AreEqual(1, workflowInputDataViewModel.SendExecuteRequestHitCount); Assert.IsNotNull(workflowInputDataViewModel.SendExecuteRequestPayload); var payload = XElement.Parse(workflowInputDataViewModel.DebugTo.XmlData); payload.Add(new XElement("BDSDebugMode", workflowInputDataViewModel.DebugTo.IsDebugMode)); payload.Add(new XElement("DebugSessionID", workflowInputDataViewModel.DebugTo.SessionID)); payload.Add(new XElement("EnvironmentID", Guid.Empty)); var expectedPayload = payload.ToString(SaveOptions.None); var actualPayload = workflowInputDataViewModel.SendExecuteRequestPayload.ToString(SaveOptions.None); Assert.AreEqual(expectedPayload, actualPayload); }
public void WorkflowInputDataViewModel_ExecuteWorkflow_InvokesSendExecuteRequest() { //------------Setup for test-------------------------- var rm = new Mock<IContextualResourceModel>(); rm.Setup(r => r.ServerID).Returns(_serverID); rm.Setup(r => r.ResourceName).Returns(ResourceName); rm.Setup(r => r.WorkflowXaml).Returns(new StringBuilder(StringResourcesTest.DebugInputWindow_WorkflowXaml)); rm.Setup(r => r.ID).Returns(_resourceID); rm.Setup(r => r.DataList).Returns(StringResourcesTest.DebugInputWindow_DataList); var mockEnvironmentModel = new Mock<IEnvironmentModel>(); mockEnvironmentModel.Setup(model => model.ID).Returns(Guid.Empty); var mockEnvironmentConnection = new Mock<IEnvironmentConnection>(); mockEnvironmentModel.Setup(model => model.Connection).Returns(mockEnvironmentConnection.Object); rm.Setup(model => model.Environment).Returns(mockEnvironmentModel.Object); var serviceDebugInfoModel = new ServiceDebugInfoModel { DebugModeSetting = DebugMode.DebugInteractive, RememberInputs = true, ResourceModel = rm.Object, ServiceInputData = "<DataList></DataList>" }; var debugOutputViewModel = CreateDebugOutputViewModel(); var workflowInputDataViewModel = new WorkflowInputDataViewModelMock(serviceDebugInfoModel, debugOutputViewModel); workflowInputDataViewModel.DebugExecutionStart += () => debugOutputViewModel.DebugStatus = DebugStatus.Executing; //------------Execute Test--------------------------- workflowInputDataViewModel.ExecuteWorkflow(); //------------Assert Results------------------------- Assert.AreEqual(DebugStatus.Executing, debugOutputViewModel.DebugStatus); Assert.AreEqual(1, workflowInputDataViewModel.SendExecuteRequestHitCount); Assert.IsNotNull(workflowInputDataViewModel.SendExecuteRequestPayload); var payload = XElement.Parse(workflowInputDataViewModel.DebugTo.XmlData); payload.Add(new XElement("BDSDebugMode", workflowInputDataViewModel.DebugTo.IsDebugMode)); payload.Add(new XElement("DebugSessionID", workflowInputDataViewModel.DebugTo.SessionID)); payload.Add(new XElement("EnvironmentID", Guid.Empty)); var expectedPayload = payload.ToString(SaveOptions.None); var actualPayload = workflowInputDataViewModel.SendExecuteRequestPayload.ToString(SaveOptions.None); Assert.AreEqual(expectedPayload, actualPayload); }