Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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);
        }
Exemple #4
0
        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);
        }
Exemple #5
0
        public void Setup()
        {
            var search = new Search(_scenarioContext);

            localHost = environmentModel.Source;
            localHost.Connect();
            searchValue = new Common.Search.Search();
        }
Exemple #6
0
        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);
        }
Exemple #7
0
        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();
        }
Exemple #8
0
        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);
        }
Exemple #9
0
        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);
        }