public IndexOperationBuilder(
     ISearchTextBuilder textBuilder,
     ISearchParametersBuilder parametersBuilder)
 {
     _textBuilder       = textBuilder ?? throw new ArgumentNullException(nameof(textBuilder));
     _parametersBuilder = parametersBuilder ?? throw new ArgumentNullException(nameof(parametersBuilder));
 }
Пример #2
0
 internal TracksApi(ISoundCloudRawClient soundCloudRawClient, IPaginationValidator paginationValidator, ITrackConverter trackConverter, ISearchParametersBuilder searchParametersBuilder)
 {
     this.soundCloudRawClient     = soundCloudRawClient;
     this.paginationValidator     = paginationValidator;
     this.trackConverter          = trackConverter;
     this.searchParametersBuilder = searchParametersBuilder;
 }
        public void SearchPropertyNameUtility_OrderBy()
        {
            ISearchParametersBuilder <Model> searchParametersBuilder = SearchParametersBuilder <Model> .Create();

            Assert.IsNull(searchParametersBuilder.OrderBy);

            searchParametersBuilder.WithOrderBy(_ => Constants.SearchScore).WithThenByDescending(_ => Constants.SearchScore);

            Assert.IsNotNull(searchParametersBuilder.OrderBy);
            Assert.AreEqual(2, searchParametersBuilder.OrderBy.Count());
            Assert.AreEqual("search.score() asc", searchParametersBuilder.OrderBy.ElementAtOrDefault(0));
            Assert.AreEqual("search.score() desc", searchParametersBuilder.OrderBy.ElementAtOrDefault(1));

            SearchParameters parameters = searchParametersBuilder.Build();

            Assert.IsNotNull(parameters);
            Assert.IsNotNull(parameters.OrderBy);
            Assert.AreEqual(2, parameters.OrderBy.Count());
            Assert.AreEqual("search.score() asc", parameters.OrderBy.ElementAtOrDefault(0));
            Assert.AreEqual("search.score() desc", parameters.OrderBy.ElementAtOrDefault(1));

            searchParametersBuilder.WithOrderByDescending(_ => Constants.SearchScore).WithThenBy(_ => Constants.SearchScore);

            Assert.IsNotNull(searchParametersBuilder.OrderBy);
            Assert.AreEqual(2, searchParametersBuilder.OrderBy.Count());
            Assert.AreEqual("search.score() desc", searchParametersBuilder.OrderBy.ElementAtOrDefault(0));
            Assert.AreEqual("search.score() asc", searchParametersBuilder.OrderBy.ElementAtOrDefault(1));

            parameters = searchParametersBuilder.Build();
            Assert.IsNotNull(parameters);
            Assert.IsNotNull(parameters.OrderBy);
            Assert.AreEqual(2, parameters.OrderBy.Count());
            Assert.AreEqual("search.score() desc", parameters.OrderBy.ElementAtOrDefault(0));
            Assert.AreEqual("search.score() asc", parameters.OrderBy.ElementAtOrDefault(1));
        }
Пример #4
0
 public SubresourceFactory(
     ISoundCloudRawClient soundCloudRawClient,
     IPaginationValidator paginationValidator,
     ITrackConverter trackConverter,
     IUserConverter userConverter,
     IPlaylistConverter playlistConverter,
     ICommentConverter commentConverter,
     IGroupConverter groupConverter,
     IWebProfileConverter webProfileConverter,
     IConnectionConverter connectionConverter,
     IActivityResultConverter activityResultConverter,
     IApplicationConverter applicationConverter,
     ISearchParametersBuilder searchParametersBuilder)
 {
     this.soundCloudRawClient     = soundCloudRawClient;
     this.paginationValidator     = paginationValidator;
     this.trackConverter          = trackConverter;
     this.userConverter           = userConverter;
     this.playlistConverter       = playlistConverter;
     this.commentConverter        = commentConverter;
     this.groupConverter          = groupConverter;
     this.webProfileConverter     = webProfileConverter;
     this.connectionConverter     = connectionConverter;
     this.activityResultConverter = activityResultConverter;
     this.applicationConverter    = applicationConverter;
     this.searchParametersBuilder = searchParametersBuilder;
 }
        public void GetProductProjectionSearchParametersBuilderFromFactory()
        {
            ProductProjectionSearchParameters productAdditionalParameters = new ProductProjectionSearchParameters();
            IParametersBuilderFactory <ISearchParametersBuilder> parametersBuilderFactory = this.clientFixture.GetService <IParametersBuilderFactory <ISearchParametersBuilder> >();
            ISearchParametersBuilder parametersBuilder = parametersBuilderFactory.GetParameterBuilder(productAdditionalParameters);

            Assert.Equal(typeof(ProductProjectionSearchParametersBuilder), parametersBuilder.GetType());
        }
Пример #6
0
        private HttpContent GetHttpContent <T>(SearchCommand <T> command)
        {
            List <KeyValuePair <string, string> > parameters = new List <KeyValuePair <string, string> >();

            if (command.SearchParameters != null)
            {
                ISearchParametersBuilder searchParametersBuilder = this.searchParametersBuilderFactory.GetParameterBuilder(command.SearchParameters);
                parameters.AddRange(searchParametersBuilder.GetSearchParameters(command.SearchParameters));
            }

            parameters.AddRange(this.GetAdditionalParameters(command.AdditionalParameters));
            return(new FormUrlEncodedContent(parameters));
        }
        public void SearchPropertyNameUtility_IncludeTotalResultCount()
        {
            ISearchParametersBuilder <Model> searchParametersBuilder = SearchParametersBuilder <Model> .Create();

            Assert.IsFalse(searchParametersBuilder.IncludeTotalResultCount);

            searchParametersBuilder.WithIncludeTotalResultCount(true);

            Assert.IsTrue(searchParametersBuilder.IncludeTotalResultCount);

            SearchParameters parameters = searchParametersBuilder.Build();

            Assert.IsNotNull(parameters);
            Assert.IsTrue(parameters.IncludeTotalResultCount);
        }
        public void SearchPropertyNameUtility_SearchMode()
        {
            ISearchParametersBuilder <Model> searchParametersBuilder = SearchParametersBuilder <Model> .Create();

            Assert.AreEqual(SearchMode.Any, searchParametersBuilder.SearchMode);

            searchParametersBuilder.WithSearchMode(SearchMode.All);

            Assert.AreEqual(SearchMode.All, searchParametersBuilder.SearchMode);

            SearchParameters parameters = searchParametersBuilder.Build();

            Assert.IsNotNull(parameters);
            Assert.AreEqual(SearchMode.All, parameters.SearchMode);
        }
        public void SearchPropertyNameUtility_Skip()
        {
            ISearchParametersBuilder <Model> searchParametersBuilder = SearchParametersBuilder <Model> .Create();

            Assert.IsNull(searchParametersBuilder.Skip);

            searchParametersBuilder.WithSkip(1);

            Assert.IsNotNull(searchParametersBuilder.Skip);
            Assert.AreEqual(1, searchParametersBuilder.Skip);

            SearchParameters parameters = searchParametersBuilder.Build();

            Assert.IsNotNull(parameters);
            Assert.AreEqual(1, parameters.Skip);
        }
        public void SearchPropertyNameUtility_ScoringProfile()
        {
            ISearchParametersBuilder <Model> searchParametersBuilder = SearchParametersBuilder <Model> .Create();

            Assert.IsNull(searchParametersBuilder.ScoringProfile);

            searchParametersBuilder.WithScoringProfile("test");

            Assert.IsNotNull(searchParametersBuilder.ScoringProfile);
            Assert.AreEqual("test", searchParametersBuilder.ScoringProfile);

            SearchParameters parameters = searchParametersBuilder.Build();

            Assert.IsNotNull(parameters);
            Assert.AreEqual("test", parameters.ScoringProfile);
        }
        public void SearchPropertyNameUtility_ScoringParameters()
        {
            ISearchParametersBuilder <Model> searchParametersBuilder = SearchParametersBuilder <Model> .Create();

            Assert.IsNull(searchParametersBuilder.ScoringParameters);

            searchParametersBuilder.WithScoringParameter(new ScoringParameter("foo", Enumerable.Empty <string>()));

            Assert.IsNotNull(searchParametersBuilder.ScoringParameters);
            Assert.AreEqual(1, searchParametersBuilder.ScoringParameters.Count());

            SearchParameters parameters = searchParametersBuilder.Build();

            Assert.IsNotNull(parameters);
            Assert.IsNotNull(parameters.ScoringParameters);
            Assert.AreEqual(1, parameters.ScoringParameters.Count());
        }
        public SubresourceFactoryBuilder()
        {
            var dateTimeConverter = new DateTimeConverter();
            var tagListConverter  = new TagListConverter();

            userConverter           = new UserConverter();
            applicationConverter    = new ApplicationConverter();
            trackConverter          = new TrackConverter(userConverter, tagListConverter, applicationConverter, dateTimeConverter);
            commentConverter        = new CommentConverter(userConverter, dateTimeConverter);
            playlistConverter       = new PlaylistConverter(userConverter, trackConverter, tagListConverter, dateTimeConverter);
            paginationValidator     = new PaginationValidator();
            groupConverter          = new GroupConverter(userConverter, dateTimeConverter);
            webProfileConverter     = new WebProfileConverter(dateTimeConverter);
            connectionConverter     = new ConnectionConverter(dateTimeConverter);
            activityResultConverter = new ActivityResultConverter(trackConverter, commentConverter, userConverter, playlistConverter, dateTimeConverter);
            searchParametersBuilder = new CompositeSearchParametersBuilder(new IVersionDependentSearchParametersBuilder[] { new V1SearchParametersBuilder(), new V2SearchParametersBuilder() });
        }
        public void SearchPropertyNameUtility_HighlightFields()
        {
            ISearchParametersBuilder <Model> searchParametersBuilder = SearchParametersBuilder <Model> .Create();

            Assert.IsNull(searchParametersBuilder.HighlightFields);

            searchParametersBuilder.WithHighlightField(_ => Constants.SearchScore);

            Assert.IsNotNull(searchParametersBuilder.HighlightFields);
            Assert.AreEqual(1, searchParametersBuilder.HighlightFields.Count());
            Assert.AreEqual("search.score()", searchParametersBuilder.HighlightFields.ElementAtOrDefault(0));

            SearchParameters parameters = searchParametersBuilder.Build();

            Assert.IsNotNull(parameters);
            Assert.IsNotNull(parameters.HighlightFields);
            Assert.AreEqual(1, parameters.HighlightFields.Count());
            Assert.AreEqual("search.score()", parameters.HighlightFields.ElementAtOrDefault(0));
        }
Пример #14
0
 public SearchStatusService(
     ISearchIndexClientWrapper searchIndex,
     ISearchIndexClientWrapper hijackIndex,
     ISearchParametersBuilder parametersBuilder,
     IAuxiliaryDataCache auxiliaryDataCache,
     ISecretRefresher secretRefresher,
     IOptionsSnapshot <SearchServiceConfiguration> options,
     IAzureSearchTelemetryService telemetryService,
     ILogger <SearchStatusService> logger)
 {
     _searchIndex        = searchIndex ?? throw new ArgumentNullException(nameof(searchIndex));
     _hijackIndex        = hijackIndex ?? throw new ArgumentNullException(nameof(hijackIndex));
     _parametersBuilder  = parametersBuilder ?? throw new ArgumentNullException(nameof(parametersBuilder));
     _auxiliaryDataCache = auxiliaryDataCache ?? throw new ArgumentNullException(nameof(auxiliaryDataCache));
     _secretRefresher    = secretRefresher ?? throw new ArgumentNullException(nameof(secretRefresher));
     _options            = options ?? throw new ArgumentNullException(nameof(options));
     _telemetryService   = telemetryService ?? throw new ArgumentNullException(nameof(telemetryService));
     _logger             = logger ?? throw new ArgumentNullException(nameof(logger));
 }