public RabbitMqMetricsConsumer(
            string path,
            RabbitMetricsConfiguration configuration,
            ILogger <RabbitMqMetricsConsumer> logger,
            IMetricsValueConverter valueConverter,
            IHttpClientFactory clientFactory)
        {
            var scheme  = configuration.UseSSL ? Uri.UriSchemeHttps : Uri.UriSchemeHttp;
            var baseUri = new Uri($"{scheme}://{configuration.RabbitMqHost}:{configuration.RabbitMqPort}");

            this.uri            = new Uri(baseUri, path);
            this.logger         = logger;
            this.valueConverter = valueConverter;
            this.clientFactory  = clientFactory;
        }
        public async Task When_Parsing_All_Values_Should_Be_Read(string resourceFile, IMetricsValueConverter converter)
        {
            var json = await ReadJsonContentAsync("queues.json");

            var queueValueConverter = new QueueValueConverter();
            var result = queueValueConverter.Convert(json);

            foreach (var val in result.Values)
            {
                var label = val.Dimensions[0];
                if (Array.IndexOf(valuesToSkip, label) != -1)
                {
                    continue;
                }

                Assert.IsTrue(NearlyEqual(DefaultValue, val.Value), $"Invalid value for '{val.Dimensions[0]}'");
            }
        }