Example #1
0
        public void ShouldThrowIfStartIsGreaterThanEnd(int startOffset, int endOffset, QueryDirection direction)
        {
            var query = new StatsRequestParams
            {
                Start     = Now.AddHours(startOffset),
                End       = Now.AddHours(endOffset),
                Direction = direction
            };

            ThrowsAsync <AblyException>(() => ExecuteStatsQuery(query));
        }
Example #2
0
        public static async Task StatsExample()
        {
            var realtime = new AblyRealtime("{{API_KEY}}");
            var query    = new StatsRequestParams {
                Unit = StatsIntervalGranularity.Hour
            };
            var results = await realtime.StatsAsync(query);

            Stats thisHour = results.Items[0];

            Console.WriteLine($"Published this hour {thisHour.Inbound.All.All}");
        }
Example #3
0
        public async Task ShouldPassStatsByToQueryWithDefaultOfMinute(StatsIntervalGranularity?statsGranularity)
        {
            var query = new StatsRequestParams();

            if (statsGranularity.HasValue)
            {
                query.Unit = statsGranularity.Value;
            }

            await ExecuteStatsQuery(query);

            LastRequest.AssertContainsParameter("by", statsGranularity.GetValueOrDefault(StatsIntervalGranularity.Minute).ToString().ToLower());
        }
Example #4
0
        public async Task ShouldPassLimitWithDefaultof100(int?limit)
        {
            var query = new StatsRequestParams();

            if (limit.HasValue)
            {
                query.Limit = limit.Value;
            }

            await ExecuteStatsQuery(query);

            LastRequest.AssertContainsParameter("limit", limit.GetValueOrDefault(100).ToString());
        }
Example #5
0
        public async Task ShouldAcceptStartAndEndDateTimes(int startOffset, int endOffset, QueryDirection direction)
        {
            var query = new StatsRequestParams
            {
                Start     = Now.AddHours(startOffset),
                End       = Now.AddHours(endOffset),
                Direction = direction
            };

            await ExecuteStatsQuery(query);

            LastRequest.AssertContainsParameter("start", query.Start.Value.ToUnixTimeInMilliseconds().ToString());
            LastRequest.AssertContainsParameter("end", query.End.Value.ToUnixTimeInMilliseconds().ToString());
        }
Example #6
0
        public async Task ShouldSetCorrectHeaders()
        {
            var rest = GetRestClient();

            var query = new StatsRequestParams
            {
                Start     = Now.AddHours(-1),
                End       = Now,
                Direction = QueryDirection.Forwards,
                Limit     = 1000
            };

            await rest.StatsAsync(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());
        }
Example #7
0
        public async Task ShouldPassDirectionToRequestWithBackwardsAsDefault(QueryDirection?direction)
        {
            var query = new StatsRequestParams
            {
                Start = Now,
                End   = Now
            };

            if (direction.HasValue)
            {
                query.Direction = direction.Value;
            }

            await ExecuteStatsQuery(query);

            var expectedDirection = direction.GetValueOrDefault(QueryDirection.Backwards).ToString().ToLower();

            LastRequest.AssertContainsParameter("direction", expectedDirection);
        }
Example #8
0
        private async Task ExecuteStatsQuery(StatsRequestParams query)
        {
            var rest = GetRestClient();

            await rest.StatsAsync(query);
        }