public override AzureResourceDefinition ParseResults(JToken resultRowEntry)
        {
            Guard.NotNull(resultRowEntry, nameof(resultRowEntry));

            var resource = new ContainerInstanceResourceDefinition(resultRowEntry[0]?.ToString(), resultRowEntry[1]?.ToString(), resultRowEntry[3]?.ToString());

            return(resource);
        }
        public void CreateScrapeDefinition_ResourceHasEmptyResourceGroupName_UsesGlobalName()
        {
            // Arrange
            var resource   = new ContainerInstanceResourceDefinition("subscription", string.Empty, "containerGroup");
            var definition = new MetricDefinition(_prometheusMetricDefinition, new Promitor.Core.Scraping.Configuration.Model.Scraping(), new AzureMetricConfiguration(), ResourceType.ContainerInstance, new List <AzureResourceDefinition> {
                resource
            });

            // Act
            var scrapeDefinition = definition.CreateScrapeDefinition(resource, _azureMetadata);

            // Assert
            Assert.Equal(_azureMetadata.ResourceGroupName, scrapeDefinition.ResourceGroupName);
        }
        public void CreateScrapeDefinition_ResourceDoesNotSpecifySubscription_UsesGlobalName()
        {
            // Arrange
            var resource   = new ContainerInstanceResourceDefinition(null, "containerInstanceResourceGroup", "containerGroup");
            var definition = new MetricDefinition(_prometheusMetricDefinition, new Promitor.Core.Scraping.Configuration.Model.Scraping(), new AzureMetricConfiguration(), ResourceType.ContainerInstance, new List <AzureResourceDefinition> {
                resource
            });

            // Act
            var scrapeDefinition = definition.CreateScrapeDefinition(resource, _azureMetadata);

            // Assert
            Assert.Equal(_azureMetadata.SubscriptionId, scrapeDefinition.SubscriptionId);
        }
        public void CreateScrapeDefinition_ResourceOverridesResourceGroupName_UsesOverriddenName()
        {
            // Arrange
            var resource   = new ContainerInstanceResourceDefinition(null, "containerInstanceResourceGroup", "containerGroup");
            var definition = new MetricDefinition(_prometheusMetricDefinition, new Promitor.Core.Scraping.Configuration.Model.Scraping(), new AzureMetricConfiguration(), ResourceType.ContainerInstance, new List <AzureResourceDefinition> {
                resource
            });

            // Act
            var scrapeDefinition = definition.CreateScrapeDefinition(resource, _azureMetadata);

            // Assert
            Assert.Equal(resource.ResourceGroupName, scrapeDefinition.ResourceGroupName);
        }