public void GetLinkQuery_WithHeadersAndAskingForNextLink_ReturnsCorrectRequestQuery()
        {
            // Arrange
            var nextDataRequest = PaginatedRequestParams.Parse(NextQueryString);

            // Act
            var actual = PaginatedRequestParams.GetLinkQuery(GetSampleHistoryRequestHeaders(), "next");

            // Assert
            Assert.Equal(nextDataRequest, actual);
        }
Beispiel #2
0
            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));
                }
            }
Beispiel #3
0
            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);
 }
Beispiel #6
0
        private async Task <PaginatedResult <DeviceDetails> > HandleConsequentPaginatedRequests(PaginatedRequestParams requestParams)
        {
            var request = _restClient.CreateGetRequest("/push/deviceRegistrations");

            request.AddQueryParameters(requestParams.GetParameters());
            return(await _restClient.ExecutePaginatedRequest(request, HandleConsequentPaginatedRequests));
        }
Beispiel #7
0
        /// <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));
        }