public Task <AzureOperationResponse <AutocompleteResult> > AutocompleteWithHttpMessagesAsync( string searchText, string suggesterName, AutocompleteParameters autocompleteParameters = null, SearchRequestOptions searchRequestOptions = default(SearchRequestOptions), Dictionary <string, List <string> > customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) { if (Client.UseHttpGetForQueries) { return(Client.DocumentsProxy.AutocompleteGetWithHttpMessagesAsync( searchText, suggesterName, searchRequestOptions, autocompleteParameters, customHeaders, cancellationToken)); } else { return(Client.DocumentsProxy.AutocompletePostWithHttpMessagesAsync( autocompleteParameters.ToRequest(searchText, suggesterName), searchRequestOptions, customHeaders, cancellationToken)); } }
public void CanConvertToPostRequestPayload() { var parameters = new AutocompleteParameters() { AutocompleteMode = AutocompleteMode.OneTermWithContext, Filter = "field eq 'text'", HighlightPostTag = "</em>", HighlightPreTag = "<em>", MinimumCoverage = 33.3, SearchFields = new[] { "a", "b", "c" }, Top = 5, UseFuzzyMatching = true }; AutocompleteRequest request = parameters.ToRequest("find me", "sg"); Assert.Equal(parameters.AutocompleteMode, request.AutocompleteMode); Assert.Equal(parameters.Filter, request.Filter); Assert.Equal(parameters.HighlightPostTag, request.HighlightPostTag); Assert.Equal(parameters.HighlightPreTag, request.HighlightPreTag); Assert.Equal(parameters.MinimumCoverage, request.MinimumCoverage); Assert.Equal("find me", request.SearchText); Assert.Equal("sg", request.SuggesterName); Assert.Equal(parameters.SearchFields.ToCommaSeparatedString(), request.SearchFields); Assert.Equal(parameters.Top, request.Top); Assert.Equal(parameters.UseFuzzyMatching, request.UseFuzzyMatching); }
public void MissingParametersAreMissingInTheRequest() { var parameters = new AutocompleteParameters(); // Search text and suggester name can never be null. AutocompleteRequest request = parameters.ToRequest("welco", "sg"); Assert.True(request.AutocompleteMode.HasValue); Assert.Equal(AutocompleteMode.OneTerm, request.AutocompleteMode.Value); // AutocompleteMode is non-nullable in the client contract. Assert.Null(request.Filter); Assert.Null(request.HighlightPostTag); Assert.Null(request.HighlightPreTag); Assert.Null(request.MinimumCoverage); Assert.Equal("welco", request.SearchText); Assert.Equal("sg", request.SuggesterName); Assert.Null(request.SearchFields); Assert.Null(request.Top); Assert.False(request.UseFuzzyMatching.HasValue); }