public void GetSearchResults_WhenTestNameHasValueAndResourceDoesNotExists_ShouldReturnEmptyResult() { var mockResourceCatalog = new Mock <IResourceCatalog>(); mockResourceCatalog.Setup(res => res.GetResource(It.IsAny <Guid>(), It.IsAny <Guid>())).Returns(() => null); var searchValue = new Common.Search.Search { SearchInput = "Set", SearchOptions = new SearchOptions { IsAllSelected = false, IsTestNameSelected = true } }; var mockTestCatalog = new Mock <ITestCatalog>(); mockTestCatalog.Setup(t => t.FetchAllTests()).Returns(new List <IServiceTestModelTO> { new ServiceTestModelTO { TestName = "Set Test" } , new ServiceTestModelTO { TestName = "Test set value" } }); var searcher = new TestSearcher(mockResourceCatalog.Object, mockTestCatalog.Object); var searchResults = searcher.GetSearchResults(searchValue); Assert.AreEqual(0, searchResults.Count); }
public void GetSearchResults_WhenScalarNameDoesNotHaveValue_ShouldNotReturnResult() { var mockResourceCatalog = new Mock <IResourceCatalog>(); var mockResource = new Mock <IResource>(); mockResource.Setup(r => r.ResourceID).Returns(Guid.Empty); mockResource.Setup(r => r.ResourceName).Returns("Test Resource"); mockResource.Setup(r => r.GetResourcePath(It.IsAny <Guid>())).Returns("Folder"); mockResource.Setup(r => r.DataList).Returns(new StringBuilder("<DataList><scalar1 Description=\"\" IsEditable=\"True\" " + "ColumnIODirection=\"Input\" /><scalar2 Description=\"\" IsEditable=\"True\" " + "ColumnIODirection=\"Input\" /><Recset Description=\"\" IsEditable=\"True\" " + "ColumnIODirection=\"None\" ><Field1 Description=\"\" IsEditable=\"True\" " + "ColumnIODirection=\"None\" /><Field2 Description=\"\" IsEditable=\"True\" " + "ColumnIODirection=\"None\" /></Recset></DataList>")); mockResourceCatalog.Setup(res => res.GetResource(It.IsAny <Guid>(), It.IsAny <Guid>())).Returns(mockResource.Object); mockResourceCatalog.Setup(res => res.GetResources(It.IsAny <Guid>())).Returns(new List <IResource> { mockResource.Object }); var searchValue = new Common.Search.Search { SearchInput = "bob", SearchOptions = new SearchOptions { IsAllSelected = false, IsToolTitleSelected = false, IsScalarNameSelected = true, } }; var variableListSearcher = new VariableListSearcher(mockResourceCatalog.Object); var searchResults = variableListSearcher.GetSearchResults(searchValue); Assert.AreEqual(0, searchResults.Count); }
public void GetSearchResults_WhenResourceNameHasValue_ShouldReturnResult() { var mockResourceCatalog = new Mock <IResourceCatalog>(); var mockResource = new Mock <IResource>(); mockResource.Setup(r => r.ResourceID).Returns(Guid.Empty); mockResource.Setup(r => r.ResourceName).Returns("Test Resource"); mockResource.Setup(r => r.GetResourcePath(It.IsAny <Guid>())).Returns("Folder"); mockResourceCatalog.Setup(res => res.GetResource(It.IsAny <Guid>(), It.IsAny <Guid>())).Returns(mockResource.Object); mockResourceCatalog.Setup(res => res.GetResources(It.IsAny <Guid>())).Returns(new List <IResource> { mockResource.Object }); var searchOptions = new SearchOptions(); searchOptions.UpdateAllStates(false); searchOptions.IsWorkflowNameSelected = true; var searchValue = new Common.Search.Search { SearchInput = "Tes", SearchOptions = searchOptions }; var variableListSearcher = new ResourceSearcher(mockResourceCatalog.Object); var searchResults = variableListSearcher.GetSearchResults(searchValue); Assert.AreEqual(1, searchResults.Count); var searchResult = searchResults[0]; Assert.AreEqual(Guid.Empty, searchResult.ResourceId); Assert.AreEqual("Test Resource", searchResult.Match); Assert.AreEqual("Test Resource", searchResult.Name); Assert.AreEqual("Folder", searchResult.Path); Assert.AreEqual(Common.Interfaces.Search.SearchItemType.WorkflowName, searchResult.Type); }
public SearchViewModel(IShellViewModel shellViewModel, IEventAggregator aggregator) : base(shellViewModel, aggregator, false) { _shellViewModel = shellViewModel; PopupController = shellViewModel.PopupProvider; ConnectControlViewModel = new ConnectControlViewModel(shellViewModel.LocalhostServer, aggregator, shellViewModel.ExplorerViewModel.ConnectControlViewModel.Servers); ConnectControlViewModel.ServerConnected += async(sender, server) => { await ServerConnectedAsync(sender, server).ConfigureAwait(false); }; ConnectControlViewModel.ServerDisconnected += ServerDisconnected; ConnectControlViewModel.SelectedEnvironmentChanged += UpdateServerCompareChanged; SelectedEnvironment = _environments.FirstOrDefault(); RefreshCommand = new DelegateCommand(async(o) => await RefreshEnvironment(SelectedEnvironment.ResourceId)); SearchInputCommand = new DelegateCommand((o) => SearchWarewolf()); OpenResourceCommand = new DelegateCommand((searchObject) => { var searchResult = searchObject as ISearchResult; OpenResource(searchResult); }); CanShowResults = true; SearchResults = new ObservableCollection <ISearchResult>(); Search = new Common.Search.Search(); SelectedEnvironment?.Server?.ResourceRepository?.Load(false); IsSearching = false; DisplayName = $"Search"; UpdateHelpDescriptor(Warewolf.Studio.Resources.Languages.HelpText.MenuSearchHelp); }
public void Setup() { var search = new Search(_scenarioContext); localHost = environmentModel.Source; localHost.Connect(); searchValue = new Common.Search.Search(); }
public void GetSearchResults_WhenTestNameHasValue_ShouldReturnResult() { var mockResourceCatalog = new Mock <IResourceCatalog>(); var mockResource = new Mock <IResource>(); mockResource.Setup(r => r.ResourceID).Returns(Guid.Empty); mockResource.Setup(r => r.ResourceName).Returns("Test Resource"); mockResource.Setup(r => r.GetResourcePath(It.IsAny <Guid>())).Returns("Folder"); mockResourceCatalog.Setup(res => res.GetResource(It.IsAny <Guid>(), It.IsAny <Guid>())).Returns(mockResource.Object); var searchValue = new Common.Search.Search { SearchInput = "Set", SearchOptions = new SearchOptions { IsAllSelected = false, IsTestNameSelected = true } }; var mockTestCatalog = new Mock <ITestCatalog>(); mockTestCatalog.Setup(t => t.FetchAllTests()).Returns(new List <IServiceTestModelTO> { new ServiceTestModelTO { TestName = "Bob Test" }, new ServiceTestModelTO { TestName = "Set Test" } , new ServiceTestModelTO { TestName = "Test set value" } }); var searcher = new TestSearcher(mockResourceCatalog.Object, mockTestCatalog.Object); var searchResults = searcher.GetSearchResults(searchValue); Assert.AreEqual(2, searchResults.Count); var searchResult = searchResults[0]; Assert.AreEqual(Guid.Empty, searchResult.ResourceId); Assert.AreEqual("Set Test", searchResult.Match); Assert.AreEqual("Test Resource", searchResult.Name); Assert.AreEqual("Folder", searchResult.Path); Assert.AreEqual(Common.Interfaces.Search.SearchItemType.TestName, searchResult.Type); searchResult = searchResults[1]; Assert.AreEqual(Guid.Empty, searchResult.ResourceId); Assert.AreEqual("Test set value", searchResult.Match); Assert.AreEqual("Test Resource", searchResult.Name); Assert.AreEqual("Folder", searchResult.Path); Assert.AreEqual(Common.Interfaces.Search.SearchItemType.TestName, searchResult.Type); }
public void Setup() { var search = new Search(_scenarioContext); localHost = environmentModel.Source; localHost.Connect(); if (!localHost.IsConnected) { Assert.Fail("expected valid connection to localhost"); } searchValue = new Common.Search.Search(); }
public void GetSearchResults_WhenRecsetNameHasValue_ShouldReturnResult() { var mockResourceCatalog = new Mock <IResourceCatalog>(); var mockResource = new Mock <IResource>(); mockResource.Setup(r => r.ResourceID).Returns(Guid.Empty); mockResource.Setup(r => r.ResourceName).Returns("Test Resource"); mockResource.Setup(r => r.GetResourcePath(It.IsAny <Guid>())).Returns("Folder"); mockResource.Setup(r => r.DataList).Returns(new StringBuilder("<DataList><scalar1 Description=\"\" IsEditable=\"True\" " + "ColumnIODirection=\"Input\" /><scalar2 Description=\"\" IsEditable=\"True\" " + "ColumnIODirection=\"Input\" /><Recset Description=\"\" IsEditable=\"True\" " + "ColumnIODirection=\"None\" ><Field1 Description=\"\" IsEditable=\"True\" " + "ColumnIODirection=\"None\" /><Field2 Description=\"\" IsEditable=\"True\" " + "ColumnIODirection=\"None\" /></Recset></DataList>")); mockResourceCatalog.Setup(res => res.GetResource(It.IsAny <Guid>(), It.IsAny <Guid>())).Returns(mockResource.Object); mockResourceCatalog.Setup(res => res.GetResources(It.IsAny <Guid>())).Returns(new List <IResource> { mockResource.Object }); var searchOptions = new SearchOptions(); searchOptions.UpdateAllStates(false); searchOptions.IsRecSetNameSelected = true; var searchValue = new Common.Search.Search { SearchInput = "set", SearchOptions = searchOptions }; var variableListSearcher = new VariableListSearcher(mockResourceCatalog.Object); var searchResults = variableListSearcher.GetSearchResults(searchValue); Assert.AreEqual(2, searchResults.Count); var searchResult = searchResults[0]; Assert.AreEqual(Guid.Empty, searchResult.ResourceId); Assert.AreEqual("Recset", searchResult.Match); Assert.AreEqual("Test Resource", searchResult.Name); Assert.AreEqual("Folder", searchResult.Path); Assert.AreEqual(Common.Interfaces.Search.SearchItemType.RecordSet, searchResult.Type); searchResult = searchResults[1]; Assert.AreEqual(Guid.Empty, searchResult.ResourceId); Assert.AreEqual("Recset", searchResult.Match); Assert.AreEqual("Test Resource", searchResult.Name); Assert.AreEqual("Folder", searchResult.Path); Assert.AreEqual(Common.Interfaces.Search.SearchItemType.RecordSet, searchResult.Type); }
public void ActivitySearcher_GetSearchResults_WhenToolTitleHasValue_ShouldReturnResult() { var mockResourceCatalog = new Mock <IResourceCatalog>(); var mockResource = new Mock <IResource>(); mockResource.Setup(r => r.ResourceID).Returns(Guid.Empty); mockResource.Setup(r => r.ResourceName).Returns("Test Resource"); mockResource.Setup(r => r.GetResourcePath(It.IsAny <Guid>())).Returns("Folder"); mockResourceCatalog.Setup(res => res.GetResource(It.IsAny <Guid>(), It.IsAny <Guid>())).Returns(mockResource.Object); var searcher = new ActivitySearcher(mockResourceCatalog.Object); var search = new Common.Search.Search { SearchInput = "Set", SearchOptions = new SearchOptions { IsAllSelected = false, IsToolTitleSelected = true } }; var mockResourceActivityCache = new Mock <IResourceActivityCache>(); var cache = new System.Collections.Concurrent.ConcurrentDictionary <Guid, IDev2Activity>(); var startAct = new TestActivity { DisplayName = "Start Tool", NextNodes = new List <IDev2Activity> { new TestActivity { DisplayName = "Set a value" } } }; cache.TryAdd(Guid.Empty, startAct); mockResourceActivityCache.Setup(c => c.Cache).Returns(cache); mockResourceCatalog.Setup(res => res.GetResourceActivityCache(It.IsAny <Guid>())).Returns(mockResourceActivityCache.Object); var searchResults = searcher.GetSearchResults(search); Assert.AreEqual(1, searchResults.Count); var searchResult = searchResults[0]; Assert.AreEqual(Guid.Empty, searchResult.ResourceId); Assert.AreEqual("Set a value", searchResult.Match); Assert.AreEqual("Test Resource", searchResult.Name); Assert.AreEqual("Folder", searchResult.Path); Assert.AreEqual(Common.Interfaces.Search.SearchItemType.ToolTitle, searchResult.Type); }
public void GetSearchResults_WhenToolTitleDoesNotHaveValue_ShouldNotReturnResult() { var mockResourceCatalog = new Mock <IResourceCatalog>(); var mockResource = new Mock <IResource>(); mockResource.Setup(r => r.ResourceID).Returns(Guid.Empty); mockResource.Setup(r => r.ResourceName).Returns("Test Resource"); mockResource.Setup(r => r.GetResourcePath(It.IsAny <Guid>())).Returns("Folder"); mockResourceCatalog.Setup(res => res.GetResource(It.IsAny <Guid>(), It.IsAny <Guid>())).Returns(mockResource.Object); var searcher = new ActivitySearcher(mockResourceCatalog.Object); var searchValue = new Common.Search.Search { SearchInput = "Bob", SearchOptions = new SearchOptions { IsAllSelected = false, IsToolTitleSelected = true } }; var mockResourceActivityCache = new Mock <IResourceActivityCache>(); var cache = new System.Collections.Concurrent.ConcurrentDictionary <Guid, IDev2Activity>(); var startAct = new TestActivity(); startAct.DisplayName = "Start Tool"; startAct.NextNodes = new List <IDev2Activity> { new TestActivity { DisplayName = "Set a value" } }; cache.TryAdd(Guid.Empty, startAct); mockResourceActivityCache.Setup(c => c.Cache).Returns(cache); mockResourceCatalog.Setup(res => res.GetResourceActivityCache(It.IsAny <Guid>())).Returns(mockResourceActivityCache.Object); var searchResults = searcher.GetSearchResults(searchValue); Assert.AreEqual(0, searchResults.Count); }
public void GetSearchResults_WhenMatchInTwoResources_ShouldReturnResult() { var mockResourceCatalog = new Mock <IResourceCatalog>(); var mockResource = new Mock <IResource>(); mockResource.Setup(r => r.ResourceID).Returns(Guid.Empty); mockResource.Setup(r => r.ResourceName).Returns("Test Resource"); mockResource.Setup(r => r.GetResourcePath(It.IsAny <Guid>())).Returns("Folder"); var otherResourceId = Guid.NewGuid(); var mockResource2 = new Mock <IResource>(); mockResource2.Setup(r => r.ResourceID).Returns(otherResourceId); mockResource2.Setup(r => r.ResourceName).Returns("Test Resource 2"); mockResource2.Setup(r => r.GetResourcePath(It.IsAny <Guid>())).Returns("Folder"); mockResourceCatalog.Setup(res => res.GetResource(It.IsAny <Guid>(), Guid.Empty)).Returns(mockResource.Object); mockResourceCatalog.Setup(res => res.GetResource(It.IsAny <Guid>(), otherResourceId)).Returns(mockResource2.Object); var searcher = new ActivitySearcher(mockResourceCatalog.Object); var searchValue = new Common.Search.Search { SearchInput = "Bob", SearchOptions = new SearchOptions { IsAllSelected = false, IsToolTitleSelected = true, } }; var mockResourceActivityCache = new Mock <IResourceActivityCache>(); var cache = new System.Collections.Concurrent.ConcurrentDictionary <Guid, IDev2Activity>(); var firstFlow = new TestActivity(); firstFlow.DisplayName = "Start Tool"; firstFlow.NextNodes = new List <IDev2Activity> { new TestActivity { DisplayName = "Set a value", NextNodes = new List <IDev2Activity> { new TestActivity { DisplayName = "Set Bob Name" }, new TestActivity { DisplayName = "Retrive", NextNodes = new List <IDev2Activity> { new TestActivity { DisplayName = "Get Bob Name" } } } } } }; var secondFlow = new TestActivity(); secondFlow.DisplayName = "Start Tool"; secondFlow.NextNodes = new List <IDev2Activity> { new TestActivity { DisplayName = "What's bobs name" } }; cache.TryAdd(Guid.Empty, firstFlow); cache.TryAdd(otherResourceId, secondFlow); mockResourceActivityCache.Setup(c => c.Cache).Returns(cache); mockResourceCatalog.Setup(res => res.GetResourceActivityCache(It.IsAny <Guid>())).Returns(mockResourceActivityCache.Object); var searchResults = searcher.GetSearchResults(searchValue); Assert.AreEqual(3, searchResults.Count); Assert.AreEqual(Guid.Empty, searchResults[0].ResourceId); Assert.AreEqual("Set Bob Name", searchResults[0].Match); Assert.AreEqual(Guid.Empty, searchResults[1].ResourceId); Assert.AreEqual("Get Bob Name", searchResults[1].Match); Assert.AreEqual(otherResourceId, searchResults[2].ResourceId); Assert.AreEqual("What's bobs name", searchResults[2].Match); }