public void GetLinkQuery_WithHeadersAndAskingForNextLink_ReturnsCorrectRequestQuery() { // Arrange var nextDataRequest = PaginatedRequestParams.Parse(NextQueryString); // Act var actual = PaginatedRequestParams.GetLinkQuery(GetSampleHistoryRequestHeaders(), "next"); // Assert Assert.Equal(nextDataRequest, actual); }
public async Task History_WithInvalidStartOrEnd_Throws() { var rest = GetRestClient(); var channel = rest.Channels.Get("Test"); foreach (object[] dates in InvalidHistoryDates) { var query = new PaginatedRequestParams { Start = (DateTimeOffset?)dates.First(), End = (DateTimeOffset)dates.Last() }; await Assert.ThrowsAsync <AblyException>(async() => await channel.HistoryAsync(query)); } }
public async Task History_WithRequestQuery_AddsParametersToRequest() { var query = new PaginatedRequestParams(); var now = DateTimeOffset.Now; query.Start = now.AddHours(-1); query.End = now; query.Direction = QueryDirection.Forwards; query.Limit = 1000; await _channel.Presence.HistoryAsync(query); LastRequest.AssertContainsParameter("start", query.Start.Value.ToUnixTimeInMilliseconds().ToString()); LastRequest.AssertContainsParameter("end", query.End.Value.ToUnixTimeInMilliseconds().ToString()); LastRequest.AssertContainsParameter("direction", query.Direction.ToString().ToLower()); LastRequest.AssertContainsParameter("limit", query.Limit.Value.ToString()); }
public HttpPaginatedResponse ParseHttpPaginatedResponse(AblyRequest request, AblyResponse response, PaginatedRequestParams requestParams, Func <PaginatedRequestParams, Task <HttpPaginatedResponse> > executeDataQueryRequest) { LogResponse(response); return(new HttpPaginatedResponse(response, GetLimit(request), requestParams, executeDataQueryRequest)); }
public DataRequestQueryParseTests() { _query = PaginatedRequestParams.Parse(HeaderValue); }
private async Task <PaginatedResult <DeviceDetails> > HandleConsequentPaginatedRequests(PaginatedRequestParams requestParams) { var request = _restClient.CreateGetRequest("/push/deviceRegistrations"); request.AddQueryParameters(requestParams.GetParameters()); return(await _restClient.ExecutePaginatedRequest(request, HandleConsequentPaginatedRequests)); }
/// <inheritdoc /> async Task <PaginatedResult <string> > IPushChannelSubscriptions.ListChannelsAsync(PaginatedRequestParams requestParams) { var request = _restClient.CreateGetRequest("/push/channels"); request.AddQueryParameters(requestParams.GetParameters()); return(await _restClient.ExecutePaginatedRequest(request, ((IPushChannelSubscriptions)this).ListChannelsAsync)); }