public void WorkflowDesignerUtils_ShowExampleWorkflow_DsfDateTime_DateTimeExampleShown() { const string expectedResourceName = "Example - DateTime"; var aggregator = new Mock <EventAggregator>(); IResourceModel actualResourceInvoked = null; aggregator.Setup(a => a.Publish(It.IsAny <AddWorkSurfaceMessage>())).Callback <object>(msg => { var workSurfaceObject = (msg is AddWorkSurfaceMessage) ? (msg as AddWorkSurfaceMessage).WorkSurfaceObject : null; actualResourceInvoked = (workSurfaceObject is IResourceModel) ? (workSurfaceObject as IResourceModel) : null; }); EventPublishers.Aggregator = aggregator.Object; var mockedResourceRepo = new Mock <IResourceRepository>(); var mockedEnvironment = new Mock <IEnvironmentModel>(); var mockedExampleWorkflow = new Mock <IResourceModel>(); mockedExampleWorkflow.Setup(res => res.DisplayName).Returns(expectedResourceName); mockedResourceRepo.Setup(repo => repo.FindSingle(It.IsAny <Expression <Func <IResourceModel, bool> > >(), false)).Returns(mockedExampleWorkflow.Object); mockedEnvironment.Setup(env => env.ResourceRepository).Returns(mockedResourceRepo.Object); //------------Execute Test--------------------------- WorkflowDesignerUtils.ShowExampleWorkflow("DsfDateTimeActivity", mockedEnvironment.Object, null); // Assert MultiAssign example shown Assert.AreEqual(expectedResourceName, actualResourceInvoked.DisplayName, "Example for DateTime tool not shown"); }
public void CanFormatDsfActivityFieldWithMissmatchedRegionBracesExpectedNotParsed() { var wdu = new WorkflowDesignerUtils(); var result = wdu.FormatDsfActivityField("[[MoIsNotUber([[invalid).field]]"); Assert.AreEqual(0, result.Count, "Format DsfActivity returned results when the region braces where missmatched"); }
public void CanFormatDsfActivityFieldHandleNormalParse() { var wdu = new WorkflowDesignerUtils(); var result = wdu.FormatDsfActivityField("[[MoIsNotUber]]"); Assert.AreEqual(1, result.Count, "Strange behaviors parsing normal regions, I was expecting 1 result"); }
public void CanFormatDsfActivityFieldHandleSpecialCharsWithNoException() { var wdu = new WorkflowDesignerUtils(); var result = wdu.FormatDsfActivityField("! @ #$% ^&* ( ) +_{ }| [] \\: \"; \'<> ?, ./"); Assert.AreEqual(0, result.Count, "Strange behaviors parsing special chars, I got results when I should not?!"); }
public void CanFormatDsfActivityFieldHandleSpecialCharsWithNoException() { WorkflowDesignerUtils wdu = new WorkflowDesignerUtils(); IList <string> result = wdu.FormatDsfActivityField(TestResourceStringsTest.SpecialChars); Assert.AreEqual(0, result.Count, "Strange behaviors parsing special chars, I got results when I should not?!"); }
public bool SetModelItemForServiceTypes(IDataObject dataObject) { if (dataObject != null && (dataObject.GetDataPresent(GlobalConstants.ExplorerItemModelFormat) || dataObject.GetDataPresent(GlobalConstants.UpgradedExplorerItemModelFormat))) { var explorerItemModel = dataObject.GetData(GlobalConstants.UpgradedExplorerItemModelFormat); Guid envId = new Guid(); Guid resourceId = new Guid(); if (explorerItemModel == null) { return(false); } IExplorerItemViewModel itemModel = explorerItemModel as IExplorerItemViewModel; if (itemModel != null) { if (itemModel.Server != null) { envId = itemModel.Server.EnvironmentID; } resourceId = itemModel.ResourceId; } try { IServer server = ServerRepository.Instance.FindSingle(c => c.EnvironmentID == envId); var resource = server?.ResourceRepository.LoadContextualResourceModel(resourceId); if (resource != null) { DsfActivity d = DsfActivityFactory.CreateDsfActivity(resource, null, true, ServerRepository.Instance, true); d.ServiceName = d.DisplayName = d.ToolboxFriendlyName = resource.Category; if (Application.Current != null && Application.Current.Dispatcher.CheckAccess() && Application.Current.MainWindow != null) { dynamic mvm = Application.Current.MainWindow.DataContext; if (mvm != null && mvm.ActiveItem != null) { WorkflowDesignerUtils.CheckIfRemoteWorkflowAndSetProperties(d, resource, mvm.ActiveItem.Environment); } } ModelItem modelItem = ModelItemUtils.CreateModelItem(d); if (modelItem != null) { dynamic mi = ModelItem; ModelItemCollection activitiesCollection = mi.Activities; activitiesCollection.Insert(activitiesCollection.Count, d); return(true); } } } catch (RuntimeBinderException e) { Dev2Logger.Error(e); } } return(false); }
protected override void OnPreviewMouseLeftButtonDown(MouseButtonEventArgs e) { //2012.10.01: massimo.guerrera - Added for the click through on the dependency viewer if (e.ClickCount == 2) { ReleaseMouseCapture(); FrameworkElement fe = e.OriginalSource as FrameworkElement; FrameworkContentElement fce = e.OriginalSource as FrameworkContentElement; object dataContext = null; if (fe != null) { dataContext = fe.DataContext; } else if (fce != null) { dataContext = fce.DataContext; } string resourceName = dataContext as string; if (string.IsNullOrEmpty(resourceName) && dataContext is Node) { resourceName = (dataContext as Node).ID; } if (!string.IsNullOrEmpty(resourceName)) { var vm = DataContext as DependencyVisualiserViewModel; if (vm != null) { IResourceModel resource = vm.ResourceModel.Environment .ResourceRepository.FindSingle( c => c.ResourceName == resourceName); if (resource != null) { WorkflowDesignerUtils.EditResource(resource, _eventPublisher); } } } } e.GetPosition(this); _scrollStartOffset.X = myScrollViewer.HorizontalOffset; _scrollStartOffset.Y = myScrollViewer.VerticalOffset; // Update the cursor if scrolling is possible Cursor = (myScrollViewer.ExtentWidth > myScrollViewer.ViewportWidth) || (myScrollViewer.ExtentHeight > myScrollViewer.ViewportHeight) ? Cursors.ScrollAll : Cursors.Arrow; CaptureMouse(); base.OnPreviewMouseDown(e); }
public void WorkflowDesignerUtils_ShowExampleWorkflow_DsfMultiAssignExampleResourceNotFound_MultiAssignExampleShown() { var mockedResourceRepo = new Mock <IResourceRepository>(); var mockedEnvironment = new Mock <IEnvironmentModel>(); var popupController = new MoqPopup(MessageBoxResult.OK); mockedEnvironment.Setup(env => env.ResourceRepository).Returns(mockedResourceRepo.Object); //------------Execute Test--------------------------- WorkflowDesignerUtils.ShowExampleWorkflow("DsfMultiAssignActivity", mockedEnvironment.Object, popupController); // Assert MultiAssign example shown Assert.AreEqual(1, popupController.ShowHitCount, "Info messagebox not shown when example workflow not found"); }
public void EditResource_UnitTest_EditResourceWhereNullEventAggregator_ExpectException() { //------------Setup for test-------------------------- var mockResourceModel = new Mock <IResourceModel>(); mockResourceModel.Setup(model => model.ResourceType).Returns(ResourceType.Service); var eventAggregator = new EventAggregator(); var handleMessages = new TestHandleMessages(); eventAggregator.Subscribe(handleMessages); //------------Execute Test--------------------------- WorkflowDesignerUtils.EditResource(mockResourceModel.Object, null); //------------Assert Results------------------------- }
public bool SetModelItemForServiceTypes(IDataObject dataObject) { if (dataObject != null && dataObject.GetDataPresent(GlobalConstants.ExplorerItemModelFormat)) { var explorerItemModel = dataObject.GetData(GlobalConstants.ExplorerItemModelFormat); try { ExplorerItemModel itemModel = explorerItemModel as ExplorerItemModel; if (itemModel != null) { IEnvironmentModel environmentModel = EnvironmentRepository.Instance.FindSingle(c => c.ID == itemModel.EnvironmentId); if (environmentModel != null) { var resource = environmentModel.ResourceRepository.FindSingle(c => c.ID == itemModel.ResourceId) as IContextualResourceModel; if (resource != null) { DsfActivity d = DsfActivityFactory.CreateDsfActivity(resource, null, true, EnvironmentRepository.Instance, true); d.ServiceName = d.DisplayName = d.ToolboxFriendlyName = resource.Category; d.IconPath = resource.IconPath; if (Application.Current != null && Application.Current.Dispatcher.CheckAccess() && Application.Current.MainWindow != null) { dynamic mvm = Application.Current.MainWindow.DataContext; if (mvm != null && mvm.ActiveItem != null) { WorkflowDesignerUtils.CheckIfRemoteWorkflowAndSetProperties(d, resource, mvm.ActiveItem.Environment); } } ModelItem modelItem = ModelItemUtils.CreateModelItem(d); if (modelItem != null) { dynamic mi = ModelItem; ModelItemCollection activitiesCollection = mi.Activities; activitiesCollection.Insert(activitiesCollection.Count, d); return(true); } } } } } catch (RuntimeBinderException e) { Dev2Logger.Log.Error(e); } } return(false); }
public void EditResource_UnitTest_EditResourceWhereWorkflow_ExpectAddWorksurfaceMessageHandled() { //------------Setup for test-------------------------- var mockResourceModel = new Mock <IResourceModel>(); mockResourceModel.Setup(model => model.ResourceType).Returns(ResourceType.WorkflowService); var eventAggregator = new EventAggregator(); var handleMessages = new TestHandleMessages(); eventAggregator.Subscribe(handleMessages); //------------Execute Test--------------------------- WorkflowDesignerUtils.EditResource(mockResourceModel.Object, eventAggregator); //------------Assert Results------------------------- Assert.IsTrue(handleMessages.WorkSurfaceMessageCalled); Assert.IsFalse(handleMessages.EditResourceMessageCalled); }
public void WorkflowDesignerUtils_CheckIfRemoteWorkflowAndSetProperties_ServerName_SetAsSource() { var x = new Mock <IContextualResourceModel>(); var mockEnv = new Mock <IServer>(); var mockCon = new Mock <IEnvironmentConnection>(); mockEnv.Setup(a => a.Connection).Returns(mockCon.Object); mockCon.Setup(a => a.WebServerUri).Returns(new Uri("http://rsaklf/bob")); var envGuid = Guid.NewGuid(); x.Setup(a => a.Environment).Returns(mockEnv.Object); mockEnv.Setup(a => a.EnvironmentID).Returns(envGuid); x.Setup(a => a.Environment).Returns(mockEnv.Object); var act = new DsfActivity("a", "b", "c", "d", "e", "f"); //------------Execute Test--------------------------- WorkflowDesignerUtils.CheckIfRemoteWorkflowAndSetProperties(act, x.Object, mockEnv.Object); Assert.AreEqual("rsaklf", act.FriendlySourceName.Expression.ToString()); }
public void WorkflowDesignerUtils_CheckIfRemoteWorkflowAndSetProperties_DsfDateTime_DateTimeExampleShown() { var x = new Mock <IContextualResourceModel>(); var mockEnv = new Mock <IServer>(); var mockEnvRes = new Mock <IServer>(); var mockCon = new Mock <IEnvironmentConnection>(); var mockConRes = new Mock <IEnvironmentConnection>(); mockEnv.Setup(a => a.Connection).Returns(mockCon.Object); mockEnvRes.Setup(a => a.Connection).Returns(mockConRes.Object); mockCon.Setup(a => a.WebServerUri).Returns(new Uri("http://rsaklf/bob")); var envGuid = Guid.NewGuid(); var envGuidRes = Guid.NewGuid(); x.Setup(a => a.Environment).Returns(mockEnvRes.Object); mockEnv.Setup(a => a.EnvironmentID).Returns(envGuid); mockEnv.Setup(a => a.EnvironmentID).Returns(envGuidRes); x.Setup(a => a.Environment).Returns(mockEnv.Object); var act = new DsfActivity("a", "b", "c", "d", "e", "f"); //------------Execute Test--------------------------- WorkflowDesignerUtils.CheckIfRemoteWorkflowAndSetProperties(act, x.Object, mockEnvRes.Object); Assert.AreEqual("http://rsaklf/bob", act.ServiceUri); }
public void TestCheckIfRemoteWorkflowAndSetProperties(DsfActivity dsfActivity, IContextualResourceModel resource, IEnvironmentModel environmentModel) { WorkflowDesignerUtils.CheckIfRemoteWorkflowAndSetProperties(dsfActivity, resource, environmentModel); }
public void TestCheckIfRemoteWorkflowAndSetProperties(DsfActivity dsfActivity, IContextualResourceModel resource, IServer server) { WorkflowDesignerUtils.CheckIfRemoteWorkflowAndSetProperties(dsfActivity, resource, server); }
static Action <Type> CreateShowExampleWorkflowAction() { return(type => WorkflowDesignerUtils.ShowExampleWorkflow(type.Name, ServerUtil.GetLocalhostServer(), null)); }