public async Task ResourceDiscoveryV1_GetAllPerResourceTypeWithoutFilters_ReturnsExpectedAmountThroughPagingInHeaders() { // Arrange const string resourceDiscoveryGroupName = "logic-apps-unfiltered"; const int pageSize = 1000; const int expectedTotalResourceCount = 1018; var resourceDiscoveryClient = new ResourceDiscoveryClient(Configuration, Logger); // Act & Assert var currentPage = 1; bool hasMore; do { Logger.LogInformation("Discovering resources with page size for page {CurrentPage}", currentPage); var response = await resourceDiscoveryClient.GetDiscoveredResourcesV1WithResponseAsync(resourceDiscoveryGroupName, currentPage : currentPage); Assert.Equal(HttpStatusCode.OK, response.StatusCode); var rawResponseBody = await response.Content.ReadAsStringAsync(); Assert.NotEmpty(rawResponseBody); var resources = DeserializeRawV1Response(rawResponseBody); Assert.NotNull(resources); var delta = expectedTotalResourceCount - ((currentPage - 1) * pageSize); var amountOfExpectedResults = delta > pageSize ? pageSize : delta; Assert.Equal(amountOfExpectedResults, resources.Count); var totalRecordsInResponse = AssertAndGetHeaderValue("X-Paging-Total", response); Assert.Equal(expectedTotalResourceCount, totalRecordsInResponse); hasMore = resources.Count == pageSize; currentPage++; }while (hasMore); }
public async Task ResourceDiscoveryV2_GetAllPerResourceTypeWithoutFilters_ReturnsExpectedAmountThroughPaging() { // Arrange const string resourceDiscoveryGroupName = "logic-apps-unfiltered"; const int pageSize = 1000; const int expectedTotalResourceCount = 1018; var resourceDiscoveryClient = new ResourceDiscoveryClient(Configuration, Logger); // Act & Assert var currentPage = 1; bool hasMore; do { Logger.LogInformation("Discovering resources with page size for page {CurrentPage}", currentPage); var response = await resourceDiscoveryClient.GetDiscoveredResourcesV2WithResponseAsync(resourceDiscoveryGroupName, currentPage : currentPage); var resources = await AssertAndGetPagedResult(response); Assert.NotNull(resources); Assert.NotNull(resources.PageInformation); var delta = expectedTotalResourceCount - ((currentPage - 1) * pageSize); var amountOfExpectedResults = delta > pageSize ? pageSize : delta; Assert.Equal(amountOfExpectedResults, resources.Result.Count); Assert.Equal(expectedTotalResourceCount, resources.PageInformation.TotalRecords); hasMore = resources.HasMore; currentPage++; }while (hasMore); }
public AvailableMetricsTestInputGenerator() { var logger = NullLogger <AvailableMetricsTestInputGenerator> .Instance; var configuration = ConfigurationFactory.Create(); _scraperClient = new ScraperClient(configuration, logger); _resourceDiscoveryClient = new ResourceDiscoveryClient(configuration, logger); }
public async Task Health_Get_ReturnsValidList() { // Arrange var resourceDiscoveryClient = new ResourceDiscoveryClient(Configuration, Logger); // Act var response = await resourceDiscoveryClient.GetHealthAsync(); // Assert Assert.Equal(HttpStatusCode.OK, response.StatusCode); }
public async Task ResourceDiscovery_SuccessfulCallWithInvalidPageSize_ReturnsBadRequest(string apiVersion, int pageSize) { // Arrange const string resourceDiscoveryGroupName = "logic-apps-unfiltered"; var resourceDiscoveryClient = new ResourceDiscoveryClient(Configuration, Logger); // Act var response = await resourceDiscoveryClient.GetDiscoveredResourcesWithResponseAsync(apiVersion, resourceDiscoveryGroupName, pageSize : pageSize); // Assert Assert.Equal(HttpStatusCode.BadRequest, response.StatusCode); }
public async Task ResourceDiscovery_GetForUnexistingResourceCollection_ReturnsNotFound() { // Arrange string resourceCollectionName = _bogusGenerator.Lorem.Word(); var resourceDiscoveryClient = new ResourceDiscoveryClient(Configuration, Logger); // Act var response = await resourceDiscoveryClient.GetDiscoveredResourcesAsync(resourceCollectionName); // Assert Assert.Equal(HttpStatusCode.NotFound, response.StatusCode); }
public async Task ResourceDiscoveryV1_GetWithFilterOnMultipleValueInstanceTag_ReturnsExpectedAmount() { // Arrange const string resourceDiscoveryGroupName = "one-instance-tag-with-multi-value-scenario"; const int expectedResourceCount = 409; var resourceDiscoveryClient = new ResourceDiscoveryClient(Configuration, Logger); // Act var response = await resourceDiscoveryClient.GetDiscoveredResourcesV1WithResponseAsync(resourceDiscoveryGroupName); // Assert await AssertV1PagedResult(response, expectedResourceCount); }
public async Task ResourceDiscoveryV1_GetWithFilterOnOneSubscription_ReturnsExpectedAmount() { // Arrange const string resourceDiscoveryGroupName = "one-subscriptions-scenario"; const int expectedResourceCount = 1000; // This should be more but is a known bug, see https://github.com/tomkerkhove/promitor/issues/1828 var resourceDiscoveryClient = new ResourceDiscoveryClient(Configuration, Logger); // Act var response = await resourceDiscoveryClient.GetDiscoveredResourcesV1WithResponseAsync(resourceDiscoveryGroupName); // Assert await AssertV1PagedResult(response, expectedResourceCount); }
public async Task ResourceDiscoveryV1_GetWithFilterOnOneResourceGroupWithDifferentCasing_ReturnsExpectedAmount() { // Arrange const string resourceDiscoveryGroupName = "one-resource-group-scenario-with-other-casing"; const int expectedResourceCount = 6; var resourceDiscoveryClient = new ResourceDiscoveryClient(Configuration, Logger); // Act var response = await resourceDiscoveryClient.GetDiscoveredResourcesV1WithResponseAsync(resourceDiscoveryGroupName); // Assert await AssertV1PagedResult(response, expectedResourceCount); }
public async Task ResourceDiscoveryV2_GetWithFilterOnAppTag_ReturnsExpectedAmount() { // Arrange const string resourceDiscoveryGroupName = "one-tag-scenario"; const int expectedResourceCount = 9; var resourceDiscoveryClient = new ResourceDiscoveryClient(Configuration, Logger); // Act var response = await resourceDiscoveryClient.GetDiscoveredResourcesV2WithResponseAsync(resourceDiscoveryGroupName); // Assert await AssertV2PagedResult(response, expectedResourceCount); }
public async Task ResourceDiscoveryV1_GetWithFilterOnTwoRegions_ReturnsExpectedAmount() { // Arrange const string resourceDiscoveryGroupName = "two-region-scenario"; const int expectedResourceCount = 415; var resourceDiscoveryClient = new ResourceDiscoveryClient(Configuration, Logger); // Act var response = await resourceDiscoveryClient.GetDiscoveredResourcesV1WithResponseAsync(resourceDiscoveryGroupName); // Assert await AssertV1PagedResult(response, expectedResourceCount); }
public async Task ResourceDiscoveryGroup_SuccessfulCall_ReturnsVersionHeader() { // Arrange var resourceDiscoveryClient = new ResourceDiscoveryClient(Configuration, Logger); // Act var response = await resourceDiscoveryClient.GetResourceDiscoveryGroupsAsync(); // Assert Assert.Equal(HttpStatusCode.OK, response.StatusCode); Assert.True(response.Headers.Contains(HttpHeaders.AgentVersion)); Assert.Equal(ExpectedVersion, response.Headers.GetFirstOrDefaultHeaderValue(HttpHeaders.AgentVersion)); }
public async Task ResourceDiscovery_GetForUnexistingResourceDiscoveryGroup_ReturnsNotFound() { // Arrange string resourceDiscoveryGroupName = _bogusGenerator.Lorem.Word(); var resourceDiscoveryClient = new ResourceDiscoveryClient(Configuration, Logger); // Act var response = await resourceDiscoveryClient.GetDiscoveredResourcesAsync(resourceDiscoveryGroupName); // Assert Assert.Equal(HttpStatusCode.NotFound, response.StatusCode); Assert.True(response.Headers.Contains(HttpHeaders.AgentVersion)); Assert.Equal(ExpectedVersion, response.Headers.GetFirstOrDefaultHeaderValue(HttpHeaders.AgentVersion)); }
public async Task ResourceDiscovery_SuccessfulCall_ReturnsVersionHeader(string apiVersion) { // Arrange const string resourceDiscoveryGroupName = "logic-apps-unfiltered"; var resourceDiscoveryClient = new ResourceDiscoveryClient(Configuration, Logger); // Act var response = await resourceDiscoveryClient.GetDiscoveredResourcesWithResponseAsync(apiVersion, resourceDiscoveryGroupName); // Assert Assert.Equal(HttpStatusCode.OK, response.StatusCode); Assert.True(response.Headers.Contains(HttpHeaders.AgentVersion)); Assert.Equal(ExpectedVersion, response.Headers.GetFirstOrDefaultHeaderValue(HttpHeaders.AgentVersion)); }
public async Task ResourceDiscoveryV1_GetAllPerResourceTypeWithoutFiltersAndSpecificPageSize_ReturnsExpectedAmount() { // Arrange const string resourceDiscoveryGroupName = "logic-apps-unfiltered"; const int expectedTotalAmount = 1018; const int pageSize = 500; var expectedResourceCount = pageSize; var resourceDiscoveryClient = new ResourceDiscoveryClient(Configuration, Logger); // Act var response = await resourceDiscoveryClient.GetDiscoveredResourcesV1WithResponseAsync(resourceDiscoveryGroupName, pageSize : pageSize); // Assert await AssertV1PagedResult(response, expectedResourceCount, pageSize, expectedTotalAmount); }
public async Task ResourceCollection_GetAll_ReturnsValidList() { // Arrange var resourceDiscoveryClient = new ResourceDiscoveryClient(Configuration, Logger); // Act var response = await resourceDiscoveryClient.GetResourceCollectionsAsync(); // Assert Assert.Equal(HttpStatusCode.OK, response.StatusCode); var rawResponseBody = await response.Content.ReadAsStringAsync(); Assert.NotEmpty(rawResponseBody); var resourceCollections = JsonConvert.DeserializeObject <List <ResourceCollection> >(rawResponseBody); Assert.NotNull(resourceCollections); Assert.NotEmpty(resourceCollections); }
public async Task System_GetInfo_ReturnsOk() { // Arrange var expectedVersion = Configuration["Agents:ResourceDiscovery:Expectations:Version"]; var resourceDiscoveryClient = new ResourceDiscoveryClient(Configuration, Logger); // Act var response = await resourceDiscoveryClient.GetSystemInfoAsync(); // Assert Assert.Equal(HttpStatusCode.OK, response.StatusCode); var rawPayload = await response.Content.ReadAsStringAsync(); Assert.NotEmpty(rawPayload); var systemInfo = JsonConvert.DeserializeObject <SystemInfo>(rawPayload); Assert.NotNull(systemInfo); Assert.Equal(expectedVersion, systemInfo.Version); }
public async Task ResourceDiscovery_GetWithFilterOnTwoResourceGroups_ReturnsExpectedAmount() { // Arrange const string resourceCollectionName = "two-resource-group-scenario"; const int expectedResourceCount = 4; var resourceDiscoveryClient = new ResourceDiscoveryClient(Configuration, Logger); // Act var response = await resourceDiscoveryClient.GetDiscoveredResourcesAsync(resourceCollectionName); // Assert Assert.Equal(HttpStatusCode.OK, response.StatusCode); var rawResponseBody = await response.Content.ReadAsStringAsync(); Assert.NotEmpty(rawResponseBody); var resources = JsonConvert.DeserializeObject <List <Resource> >(rawResponseBody); Assert.NotNull(resources); Assert.Equal(expectedResourceCount, resources.Count); }
public async Task ResourceDiscovery_GetAllPerResourceTypeWithoutFilters_ReturnsExpectedAmount() { // Arrange const string resourceDiscoveryGroupName = "logic-apps-unfiltered"; const int expectedResourceCount = 22; var resourceDiscoveryClient = new ResourceDiscoveryClient(Configuration, Logger); // Act var response = await resourceDiscoveryClient.GetDiscoveredResourcesAsync(resourceDiscoveryGroupName); // Assert Assert.Equal(HttpStatusCode.OK, response.StatusCode); var rawResponseBody = await response.Content.ReadAsStringAsync(); Assert.NotEmpty(rawResponseBody); var resources = JsonConvert.DeserializeObject <List <Resource> >(rawResponseBody); Assert.NotNull(resources); Assert.Equal(expectedResourceCount, resources.Count); }
public async Task System_GetInfo_ReturnsOk() { // Arrange var resourceDiscoveryClient = new ResourceDiscoveryClient(Configuration, Logger); // Act var response = await resourceDiscoveryClient.GetSystemInfoAsync(); // Assert Assert.Equal(HttpStatusCode.OK, response.StatusCode); var rawPayload = await response.Content.ReadAsStringAsync(); Assert.NotEmpty(rawPayload); var systemInfo = JsonConvert.DeserializeObject <SystemInfo>(rawPayload); Assert.NotNull(systemInfo); Assert.Equal(ExpectedVersion, systemInfo.Version); Assert.True(response.Headers.Contains(HttpHeaders.AgentVersion)); Assert.Equal(ExpectedVersion, response.Headers.GetFirstOrDefaultHeaderValue(HttpHeaders.AgentVersion)); }
public ResourceDiscoveryHealthCheck(ResourceDiscoveryClient resourceDiscoveryClient) { Guard.NotNull(resourceDiscoveryClient, nameof(resourceDiscoveryClient)); _resourceDiscoveryClient = resourceDiscoveryClient; }