public IConnectionFactory CreateConnectionFactory(RabbitOutputConfig config) { // TODO: [TESTS] (RabbitFactory.CreateConnectionFactory) Add tests return(new ConnectionFactory { UserName = config.Username, Password = config.Password, VirtualHost = config.VirtualHost, HostName = config.Host, Port = config.Port }); }
// Interface methods public void Configure(RabbitOutputConfig config) { // TODO: [TESTS] (RabbitConnection.Configure) Add tests _config = config; _connectionEnabled = config.Enabled; // Ensure that we are enabled if (!_config.Enabled) { return; } CreateConnectionFactory(); RecreateConnection(); }
public RabbitConnection( ILoggerAdapter <RabbitConnection> logger, IRabbitFactory rabbitFactory, IDateTimeAbstraction dateTime) { // TODO: [TESTS] (RabbitConnection) Add tests _logger = logger; _rabbitFactory = rabbitFactory; _dateTime = dateTime; _config = new RabbitOutputConfig(); _connectionEnabled = _config.Enabled; _disabledUntil = null; _connectionErrorCount = 0; _coolDownRunCount = 0; }
// Configuration related methods private RabbitOutputConfig BindConfiguration(IConfiguration configuration) { // TODO: [TESTS] (RabbitMetricOutput.BindConfiguration) Add tests var boundConfiguration = new RabbitOutputConfig(); var configSection = configuration.GetSection(ConfigKey); if (!configSection.Exists()) { _logger.Warning( "Unable to find configuration section '{key}', using defaults", ConfigKey ); return(boundConfiguration); } configSection.Bind(boundConfiguration); return(boundConfiguration); }
public RabbitMetricOutput( ILoggerAdapter <RabbitMetricOutput> logger, IRabbitConnection connection, IConfiguration configuration) { // TODO: [TESTS] (RabbitMetricOutput) Add tests _logger = logger; _connection = connection; _config = BindConfiguration(configuration); Enabled = _config.Enabled; Name = nameof(RabbitMetricOutput); if (!Enabled) { return; } _connection.Configure(_config); }