private Index GetIndexDefenition(string indexName)
 {
     return(new Index
     {
         Name = indexName,
         Fields = FieldBuilder.BuildForType <T>(),
         Suggesters = new List <Suggester>
         {
             new Suggester
             {
                 Name = Constants.DefaultSuggesterName,
                 SourceFields = suggesterBuilder.BuildForType <T>(),
             }
         },
         ScoringProfiles = new List <ScoringProfile>
         {
             new ScoringProfile
             {
                 Name = Constants.SearchScoringProfileName,
                 TextWeights = new TextWeights
                 {
                     Weights = weightingBuilder.BuildForType <T>()
                 }
             }
         }
     });
 }
Example #2
0
        public async Task EnsureIndexTestAsync()
        {
            //Arrange or configure
            A.CallTo(() => fakeSearchClient.Indexes).Returns(fakeIndexes);

            var azSearchService = new AzSearchService <JobProfileIndex>(fakeSearchClient, fakeIndexClient, fakeSuggesterBuilder, policy, fakeWeightingBuilder);
            await azSearchService.EnsureIndexAsync("test");

            A.CallTo(() => fakeSuggesterBuilder.BuildForType <JobProfileIndex>()).MustHaveHappened();
            A.CallTo(() => fakeWeightingBuilder.BuildForType <JobProfileIndex>()).MustHaveHappened();
            A.CallTo(() => fakeSearchClient.Indexes).MustHaveHappened();
            A.CallTo(() => fakeIndexes.CreateOrUpdateWithHttpMessagesAsync(A <Index> .That.Matches(i => i.Name.Equals("test") && i.Suggesters.Count == 1 && i.Suggesters.First().Name == Constants.DefaultSuggesterName), A <bool?> ._, A <SearchRequestOptions> ._, A <AccessCondition> ._, A <Dictionary <string, List <string> > > ._, A <CancellationToken> ._)).MustHaveHappened();
        }