예제 #1
0
        internal Task LoadStorageProviders(IDictionary<string, ProviderCategoryConfiguration> configs)
        {
            storageProviderLoader = new ProviderLoader<IStorageProvider>();

            if (!configs.ContainsKey(ProviderCategoryConfiguration.STORAGE_PROVIDER_CATEGORY_NAME))
                return TaskDone.Done;

            storageProviderLoader.LoadProviders(configs[ProviderCategoryConfiguration.STORAGE_PROVIDER_CATEGORY_NAME].Providers, this);
            return storageProviderLoader.InitProviders(providerRuntime);
        }
예제 #2
0
        internal async Task LoadStreamProviders(
            IDictionary<string, ProviderCategoryConfiguration> configs,
            IStreamProviderRuntime providerRuntime)
        {
            appStreamProviders = new ProviderLoader<IStreamProviderImpl>();

            if (!configs.ContainsKey(ProviderCategoryConfiguration.STREAM_PROVIDER_CATEGORY_NAME)) return;

            appStreamProviders.LoadProviders(configs[ProviderCategoryConfiguration.STREAM_PROVIDER_CATEGORY_NAME].Providers, this);
            await appStreamProviders.InitProviders(providerRuntime);
        }
예제 #3
0
        public async Task<string> LoadProvider(IDictionary<string, ProviderCategoryConfiguration> configs)
        {
            statisticsProviderLoader = new ProviderLoader<IProvider>();

            if (!configs.ContainsKey(providerKind))
                return null;

            var statsProviders = configs[providerKind].Providers;
            if (statsProviders.Count == 0)
            {
                return null;
            }
            if (statsProviders.Count > 1)
            {
                throw new ArgumentOutOfRangeException(providerKind + "Providers",
                    string.Format("Only a single {0} provider is supported.", providerKind));
            }
            statisticsProviderLoader.LoadProviders(statsProviders, this);
            await statisticsProviderLoader.InitProviders(runtime);
            return statisticsProviderLoader.GetProviders().First().Name;
        }
        public void AddPageAttachmentTest()
        {
            IPagesStorageProviderV60 pagesStorageProvider = mocks.DynamicMock <IPagesStorageProviderV60>();

            Expect.Call(pagesStorageProvider.CurrentWiki).Return("wiki1").Repeat.Any();

            mocks.ReplayAll();

            Collectors.InitCollectors();
            Collectors.AddProvider(typeof(FSIndexDirectoryProvider), System.Reflection.Assembly.GetAssembly(typeof(FSIndexDirectoryProvider)), "", typeof(IIndexDirectoryProviderV60));
            Host.Instance = new Host();
            Host.Instance.OverridePublicDirectory(testDir);

            ProviderLoader.SetUp <IIndexDirectoryProviderV60>(typeof(FSIndexDirectoryProvider), "");

            DateTime    dt       = DateTime.Now;
            PageContent page     = new PageContent("pagefullname", pagesStorageProvider, dt, "title", "user-test", dt, "", "content", new string[0], "");
            string      fileName = "file_name_1";

            string filePath = Path.Combine(testDir, "test.txt");

            using (StreamWriter writer = File.CreateText(filePath)) {
                writer.Write("This is the content of a file");
            }

            Assert.IsTrue(SearchClass.IndexPageAttachment(fileName, filePath, page));

            List <SearchResult> results = SearchClass.Search("wiki1", new SearchField[] { SearchField.FileName, SearchField.FileContent }, "file", SearchOptions.AtLeastOneWord);

            Assert.AreEqual(1, results.Count, "Wrong result length");

            Assert.AreEqual(DocumentType.Attachment, results[0].DocumentType, "Wrong document type");

            PageAttachmentDocument pageAttachmentDocument = results[0].Document as PageAttachmentDocument;

            Assert.AreEqual(fileName, pageAttachmentDocument.FileName, "Wrong file name");
            Assert.AreEqual("This is the content of a <b class=\"searchkeyword\">file</b>", pageAttachmentDocument.HighlightedFileContent, "Wrong file content");
        }
        public override void Given()
        {
            ProviderId = 1;
            mockresult = new ProviderTlevelsViewModel
            {
                ProviderId  = 1,
                DisplayName = "Test",
                Ukprn       = 10000111,
                Tlevels     = new List <ProviderTlevelViewModel>
                {
                    new ProviderTlevelViewModel {
                        TqAwardingOrganisationId = 1, TlProviderId = 1, TlevelTitle = "Route1: Pathway1"
                    },
                    new ProviderTlevelViewModel {
                        TqAwardingOrganisationId = 1, TlProviderId = 1, TlevelTitle = "Route1: Pathway1"
                    }
                }
            };

            InputViewModel = mockresult;
            Controller.ModelState.AddModelError("HasTlevelSelected", Content.Provider.SelectProviderTlevels.Select_Tlevel_Validation_Message);
            ProviderLoader.GetSelectProviderTlevelsAsync(Ukprn, ProviderId).Returns(mockresult);
        }
        public override void Given()
        {
            Ukprn        = 10011881;
            TqProviderId = 1;

            var httpContext = new ClaimsIdentityBuilder <ProviderController>(Controller)
                              .Add(CustomClaimTypes.Ukprn, Ukprn.ToString())
                              .Build()
                              .HttpContext;

            HttpContextAccessor.HttpContext.Returns(httpContext);

            mockresult = new ProviderTlevelDetailsViewModel
            {
                Id           = _tlProviderId,
                DisplayName  = "Test",
                Ukprn        = 10000111,
                TlevelTitle  = "Test Title",
                TlProviderId = _tlProviderId
            };

            ProviderLoader.GetTqProviderTlevelDetailsAsync(Ukprn, TqProviderId).Returns(mockresult);
        }
예제 #7
0
        public void UnindexMessageTest()
        {
            IPagesStorageProviderV30 pagesStorageProvider = mocks.DynamicMock <IPagesStorageProviderV30>();

            mocks.ReplayAll();

            Host.Instance = new Host();

            Collectors.IndexDirectoryProvider = new DummyIndexDirectoryProvider();
            ProviderLoader.SetUp <IIndexDirectoryProviderV30>(typeof(DummyIndexDirectoryProvider), "");

            string messageSubject = "This is the subject of the message";
            string messageBody    = "This is the body of the message";

            DateTime    dt      = DateTime.Now;
            PageContent page    = new PageContent(new PageInfo("pagefullname", pagesStorageProvider, dt), "title", "user-test", dt, "", "content", new string[0], "");
            Message     message = new Message(1, "user-test", messageSubject, dt, messageBody);

            Assert.IsTrue(SearchClass.IndexMessage(message, page));

            List <SearchResult> results = SearchClass.Search(new SearchField[] { SearchField.Content }, "message", SearchOptions.AtLeastOneWord);

            Assert.AreEqual(1, results.Count, "Wrong result length");

            Assert.AreEqual(DocumentType.Message, results[0].DocumentType, "Wrong document type");

            MessageDocument documentMessage = results[0].Document as MessageDocument;

            Assert.AreEqual("This is the subject of the message", documentMessage.Subject, "Wrong title");
            Assert.AreEqual("This is the body of the <b class=\"searchkeyword\">message</b>", documentMessage.HighlightedBody, "Wrong content");

            Assert.IsTrue(SearchClass.UnindexMessage(1, page));

            results = SearchClass.Search(new SearchField[] { SearchField.Content }, "message", SearchOptions.AtLeastOneWord);

            Assert.AreEqual(0, results.Count, "Wrong result length");
        }
        public void UnindexFileTest()
        {
            Collectors.InitCollectors();
            Collectors.AddProvider(typeof(FSIndexDirectoryProvider), System.Reflection.Assembly.GetAssembly(typeof(FSIndexDirectoryProvider)), "", typeof(IIndexDirectoryProviderV60));
            Host.Instance = new Host();
            Host.Instance.OverridePublicDirectory(testDir);

            ProviderLoader.SetUp <IIndexDirectoryProviderV60>(typeof(FSIndexDirectoryProvider), "");

            string fileName = "file name_1";

            string filePath = Path.Combine(testDir, "test.txt");

            using (StreamWriter writer = File.CreateText(filePath)) {
                writer.Write("This is the content of a file");
            }

            Assert.IsTrue(SearchClass.IndexFile(fileName, filePath, "wiki1"));

            List <SearchResult> results = SearchClass.Search("wiki1", new SearchField[] { SearchField.FileName, SearchField.FileContent }, "file", SearchOptions.AtLeastOneWord);

            Assert.AreEqual(1, results.Count, "Wrong result length");

            Assert.AreEqual(DocumentType.File, results[0].DocumentType, "Wrong document type");

            FileDocument fileDocument = results[0].Document as FileDocument;

            Assert.AreEqual(fileName, fileDocument.FileName, "Wrong file name");
            Assert.AreEqual("This is the content of a <b class=\"searchkeyword\">file</b>", fileDocument.HighlightedFileContent, "Wrong file content");

            Assert.IsTrue(SearchClass.UnindexFile(fileName, "wiki1"));

            results = SearchClass.Search("wiki1", new SearchField[] { SearchField.FileName, SearchField.FileContent }, "file", SearchOptions.AtLeastOneWord);

            Assert.AreEqual(0, results.Count, "Wrong result length");
        }
 public override void Given()
 {
     ExpectedResult = false;
     InternalApiClient.AddProviderTlevelsAsync(Arg.Any <List <ProviderTlevel> >()).Returns(ExpectedResult);
     Loader = new ProviderLoader(InternalApiClient, Mapper);
 }
 public void Then_GetTqAoProviderDetailsAsync_Method_Is_Called()
 {
     ProviderLoader.Received(1).GetTqAoProviderDetailsAsync(Ukprn);
 }
 public void Then_Called_Expected_Method()
 {
     ProviderLoader.Received(1).GetViewProviderTlevelViewModelAsync(Arg.Any <long>(), providerId);
 }
예제 #12
0
 public void Then_GetSelectProviderTlevelsAsync_Is_Called()
 {
     ProviderLoader.Received().GetSelectProviderTlevelsAsync(Ukprn, ProviderId);
 }
 public override void Given()
 {
     ProviderLoader.HasAnyTlevelSetupForProviderAsync(Ukprn, SelectedProviderId).Returns(true);
 }
예제 #14
0
 internal PluginManager(Logger logger, LoadedProviderTypeLoaders loadedProviderTypeLoaders)
 {
     this.logger         = logger;
     this.providerLoader = new ProviderLoader <T>(loadedProviderTypeLoaders);
 }
 public void Then_Called_Expected_Method()
 {
     ProviderLoader.Received(1).GetProviderLookupDataAsync(ViewModel.Search, true);
 }
 public void Then_Called_Expected_Method()
 {
     ProviderLoader.Received(1).GetSelectProviderTlevelsAsync(Ukprn, ProviderId);
 }
예제 #17
0
 public StreamProviderManager(LoadedProviderTypeLoaders loadedProviderTypeLoaders, ILoggerFactory loggerFactory)
 {
     appStreamProviders = new ProviderLoader <IStreamProviderImpl>(loadedProviderTypeLoaders, loggerFactory);
 }
 public void Then_IsAnyProviderSetupCompletedAsync_Method_Is_Called()
 {
     ProviderLoader.Received(1).IsAnyProviderSetupCompletedAsync(Ukprn);
 }
예제 #19
0
 public override void Given()
 {
     ApiClientResponse = false;
     InternalApiClient.RemoveTqProviderTlevelAsync(Ukprn, TqProviderId).Returns(ApiClientResponse);
     Loader = new ProviderLoader(InternalApiClient, Mapper);
 }
예제 #20
0
        // used only for testing
        internal Task LoadEmptyStorageProviders(IProviderRuntime providerRtm)
        {
            storageProviderLoader = new ProviderLoader<IStorageProvider>();
            providerRuntime = providerRtm;

            storageProviderLoader.LoadProviders(new Dictionary<string, IProviderConfiguration>(), this);
            return storageProviderLoader.InitProviders(providerRuntime);
        }
예제 #21
0
 public void Then_Called_Expected_Method()
 {
     ProviderLoader.Received(1).GetProviderLookupDataAsync(ProviderName, false);
 }
 public void Then_GetTqProviderTlevelDetailsAsync_Is_Called()
 {
     ProviderLoader.Received().GetTqProviderTlevelDetailsAsync(Ukprn, TqProviderId);
 }
예제 #23
0
 public override void Given()
 {
     ApiClientResponse = new List <ProviderDetails>();
     InternalApiClient.GetTqAoProviderDetailsAsync(Ukprn).Returns(ApiClientResponse);
     Loader = new ProviderLoader(InternalApiClient, Mapper);
 }
예제 #24
0
 internal PluginManager(ILoggerFactory loggerFactory, LoadedProviderTypeLoaders loadedProviderTypeLoaders)
 {
     this.logger         = loggerFactory.CreateLogger <PluginManager <T> >();
     this.providerLoader = new ProviderLoader <T>(loadedProviderTypeLoaders, loggerFactory);
 }
예제 #25
0
 public StreamProviderManager(LoadedProviderTypeLoaders loadedProviderTypeLoaders)
 {
     appStreamProviders = new ProviderLoader <IStreamProviderImpl>(loadedProviderTypeLoaders);
 }
예제 #26
0
 // used only for testing
 internal async Task LoadEmptyProviders()
 {
     statisticsProviderLoader = new ProviderLoader<IProvider>();
     statisticsProviderLoader.LoadProviders(new Dictionary<string, IProviderConfiguration>(), this);
     await statisticsProviderLoader.InitProviders(runtime);
 }
예제 #27
0
 public override void Given()
 {
     ApiClientResponse = null;
     InternalApiClient.GetTqProviderTlevelDetailsAsync(Ukprn, TqProviderId).Returns(ApiClientResponse);
     Loader = new ProviderLoader(InternalApiClient, Mapper);
 }