public async Task FindRulesPaging()
        {
            var endpoint = await _notificationEndpointsApi
                           .CreateHttpEndpointAsync(GenerateName("http"), "http://localhost:1234/mock",
                                                    HTTPNotificationEndpoint.MethodEnum.POST, _orgId);

            var tagRules = new List <TagRule>
            {
                new TagRule(key: "tag_key", value: "tag_value", _operator: TagRule.OperatorEnum.Notequal)
            };

            foreach (var unused in Enumerable.Range(0,
                                                    20 - (await _notificationRulesApi.FindNotificationRulesAsync(_orgId, new FindOptions()))
                                                    ._NotificationRules.Count))
            {
                await _notificationRulesApi.CreateHttpRuleAsync(GenerateName("rule"),
                                                                "10s",
                                                                RuleStatusLevel.CRIT, tagRules, endpoint, _orgId);
            }

            var findOptions = new FindOptions {
                Limit = 5
            };

            var rules = await _notificationRulesApi.FindNotificationRulesAsync(_orgId, findOptions);

            Assert.AreEqual(5, rules._NotificationRules.Count);
            Assert.AreEqual($"/api/v2/notificationRules?descending=false&limit=5&offset=5&orgID={_orgId}",
                            rules.Links.Next);

            rules = await _notificationRulesApi.FindNotificationRulesAsync(_orgId,
                                                                           FindOptions.GetFindOptions(rules.Links.Next));

            Assert.AreEqual(5, rules._NotificationRules.Count);
            Assert.AreEqual($"/api/v2/notificationRules?descending=false&limit=5&offset=10&orgID={_orgId}",
                            rules.Links.Next);

            rules = await _notificationRulesApi.FindNotificationRulesAsync(_orgId,
                                                                           FindOptions.GetFindOptions(rules.Links.Next));

            Assert.AreEqual(5, rules._NotificationRules.Count);
            Assert.AreEqual($"/api/v2/notificationRules?descending=false&limit=5&offset=15&orgID={_orgId}",
                            rules.Links.Next);

            rules = await _notificationRulesApi.FindNotificationRulesAsync(_orgId,
                                                                           FindOptions.GetFindOptions(rules.Links.Next));

            Assert.AreEqual(5, rules._NotificationRules.Count);
            Assert.AreEqual($"/api/v2/notificationRules?descending=false&limit=5&offset=20&orgID={_orgId}",
                            rules.Links.Next);

            rules = await _notificationRulesApi.FindNotificationRulesAsync(_orgId,
                                                                           FindOptions.GetFindOptions(rules.Links.Next));

            Assert.AreEqual(0, rules._NotificationRules.Count);
            Assert.IsNull(rules.Links.Next);
        }
        public async Task FindChecksPaging()
        {
            var greater = new GreaterThreshold(value: 80F, level: CheckStatusLevel.CRIT, allValues: true,
                                               type: GreaterThreshold.TypeEnum.Greater);

            foreach (var unused in Enumerable.Range(0,
                                                    20 - (await _checksApi.FindChecksAsync(_orgId, new FindOptions()))
                                                    ._Checks.Count))
            {
                await _checksApi.CreateThresholdCheckAsync(GenerateName("th-check"),
                                                           "from(bucket: \"foo\") |> range(start: -1d, stop: now()) |> aggregateWindow(every: 1m, fn: mean) |> yield()",
                                                           "usage_user",
                                                           "1h",
                                                           "Check: ${ r._check_name } is: ${ r._level }",
                                                           greater,
                                                           _orgId);
            }

            var findOptions = new FindOptions {
                Limit = 5
            };

            var checks = await _checksApi.FindChecksAsync(_orgId, findOptions);

            Assert.AreEqual(5, checks._Checks.Count);
            Assert.AreEqual($"/api/v2/checks?descending=false&limit=5&offset=5&orgID={_orgId}", checks.Links.Next);

            checks = await _checksApi.FindChecksAsync(_orgId,
                                                      FindOptions.GetFindOptions(checks.Links.Next));

            Assert.AreEqual(5, checks._Checks.Count);
            Assert.AreEqual($"/api/v2/checks?descending=false&limit=5&offset=10&orgID={_orgId}", checks.Links.Next);

            checks = await _checksApi.FindChecksAsync(_orgId,
                                                      FindOptions.GetFindOptions(checks.Links.Next));

            Assert.AreEqual(5, checks._Checks.Count);
            Assert.AreEqual($"/api/v2/checks?descending=false&limit=5&offset=15&orgID={_orgId}", checks.Links.Next);

            checks = await _checksApi.FindChecksAsync(_orgId,
                                                      FindOptions.GetFindOptions(checks.Links.Next));

            Assert.AreEqual(5, checks._Checks.Count);
            Assert.AreEqual($"/api/v2/checks?descending=false&limit=5&offset=20&orgID={_orgId}", checks.Links.Next);

            checks = await _checksApi.FindChecksAsync(_orgId,
                                                      FindOptions.GetFindOptions(checks.Links.Next));

            Assert.AreEqual(0, checks._Checks.Count);
            Assert.IsNull(checks.Links.Next);
        }
        public async Task FindBucketsPaging()
        {
            foreach (var i in Enumerable.Range(0, 20 - (await _bucketsApi.FindBucketsAsync()).Count))
            {
                await _bucketsApi.CreateBucketAsync(GenerateName($"{i}"), RetentionRule(), _organization);
            }

            var findOptions = new FindOptions {
                Limit = 5
            };

            var buckets = await _bucketsApi.FindBucketsAsync(findOptions);

            Assert.AreEqual(5, buckets._Buckets.Count);
            Assert.AreEqual("/api/v2/buckets?descending=false&limit=5&offset=5", buckets.Links.Next);

            buckets = await _bucketsApi.FindBucketsAsync(FindOptions.GetFindOptions(buckets.Links.Next));

            Assert.AreEqual(5, buckets._Buckets.Count);
            Assert.AreEqual("/api/v2/buckets?descending=false&limit=5&offset=10", buckets.Links.Next);

            buckets = await _bucketsApi.FindBucketsAsync(FindOptions.GetFindOptions(buckets.Links.Next));

            Assert.AreEqual(5, buckets._Buckets.Count);
            Assert.AreEqual("/api/v2/buckets?descending=false&limit=5&offset=15", buckets.Links.Next);

            buckets = await _bucketsApi.FindBucketsAsync(FindOptions.GetFindOptions(buckets.Links.Next));

            Assert.AreEqual(5, buckets._Buckets.Count);
            Assert.AreEqual("/api/v2/buckets?descending=false&limit=5&offset=20", buckets.Links.Next);

            buckets = await _bucketsApi.FindBucketsAsync(FindOptions.GetFindOptions(buckets.Links.Next));

            Assert.AreEqual(0, buckets._Buckets.Count);
            Assert.IsNull(buckets.Links.Next);
        }
Exemple #4
0
        public async Task FindNotificationsPaging()
        {
            foreach (var unused in Enumerable.Range(0,
                                                    20 - (await _notificationEndpointsApi.FindNotificationEndpointsAsync(_orgId, new FindOptions()))
                                                    ._NotificationEndpoints.Count))
            {
                await _notificationEndpointsApi
                .CreateHttpEndpointBasicAuthAsync(GenerateName("http"), "http://localhost:1234/mock",
                                                  HTTPNotificationEndpoint.MethodEnum.PUT, "my-user", "my-password", _orgId);
            }

            var findOptions = new FindOptions {
                Limit = 5
            };

            var endpoints = await _notificationEndpointsApi.FindNotificationEndpointsAsync(_orgId, findOptions);

            Assert.AreEqual(5, endpoints._NotificationEndpoints.Count);
            Assert.AreEqual($"/api/v2/notificationEndpoints?descending=false&limit=5&offset=5&orgID={_orgId}", endpoints.Links.Next);

            endpoints = await _notificationEndpointsApi.FindNotificationEndpointsAsync(_orgId,
                                                                                       FindOptions.GetFindOptions(endpoints.Links.Next));

            Assert.AreEqual(5, endpoints._NotificationEndpoints.Count);
            Assert.AreEqual($"/api/v2/notificationEndpoints?descending=false&limit=5&offset=10&orgID={_orgId}", endpoints.Links.Next);

            endpoints = await _notificationEndpointsApi.FindNotificationEndpointsAsync(_orgId,
                                                                                       FindOptions.GetFindOptions(endpoints.Links.Next));

            Assert.AreEqual(5, endpoints._NotificationEndpoints.Count);
            Assert.AreEqual($"/api/v2/notificationEndpoints?descending=false&limit=5&offset=15&orgID={_orgId}", endpoints.Links.Next);

            endpoints = await _notificationEndpointsApi.FindNotificationEndpointsAsync(_orgId,
                                                                                       FindOptions.GetFindOptions(endpoints.Links.Next));

            Assert.AreEqual(5, endpoints._NotificationEndpoints.Count);
            Assert.AreEqual($"/api/v2/notificationEndpoints?descending=false&limit=5&offset=20&orgID={_orgId}", endpoints.Links.Next);

            endpoints = await _notificationEndpointsApi.FindNotificationEndpointsAsync(_orgId,
                                                                                       FindOptions.GetFindOptions(endpoints.Links.Next));

            Assert.AreEqual(0, endpoints._NotificationEndpoints.Count);
            Assert.IsNull(endpoints.Links.Next);
        }