private static IEnumerable <IHealthContributor> GetHealthContributors(IConfiguration configuration)
        {
            var healthContributors = new List <IHealthContributor>
            {
                new DiskSpaceContributor(),
                RelationalHealthContributor.GetMySqlContributor(configuration)
            };

            return(healthContributors);
        }
Beispiel #2
0
        public void PostgreSql_Is_Connected_Returns_Up_Status()
        {
            // arrange
            Type implementationType = PostgreSqlTypeLocator.NpgsqlConnection;
            var  sqlConfig          = new PostgresProviderConnectorOptions();
            var  sInfo       = new PostgresServiceInfo("MyId", "postgres://*****:*****@localhost:5432/postgres");
            var  logrFactory = new LoggerFactory();
            var  connFactory = new PostgresProviderConnectorFactory(sInfo, sqlConfig, implementationType);
            var  h           = new RelationalHealthContributor((IDbConnection)connFactory.Create(null), logrFactory.CreateLogger <RelationalHealthContributor>());

            // act
            var status = h.Health();

            // assert
            Assert.Equal(HealthStatus.UP, status.Status);
        }
Beispiel #3
0
        public void Sql_Is_Connected_Returns_Up_Status()
        {
            // arrange
            Type implementationType = SqlServerTypeLocator.SqlConnection;
            var  sqlConfig          = new SqlServerProviderConnectorOptions();
            var  sInfo       = new SqlServerServiceInfo("MyId", "jdbc:sqlserver://localhost:1433;databaseName=master", "steeltoe", "steeltoe");
            var  logrFactory = new LoggerFactory();
            var  connFactory = new SqlServerProviderConnectorFactory(sInfo, sqlConfig, implementationType);
            var  h           = new RelationalHealthContributor((IDbConnection)connFactory.Create(null), logrFactory.CreateLogger <RelationalHealthContributor>());

            // act
            var status = h.Health();

            // assert
            Assert.Equal(HealthStatus.UP, status.Status);
        }
Beispiel #4
0
        public void Oracle_Is_Connected_Returns_Up_Status()
        {
            // arrange
            var implementationType = OracleTypeLocator.OracleConnection;
            var sqlConfig          = new OracleProviderConnectorOptions();
            var sInfo       = new OracleServiceInfo("MyId", "oracle://*****:*****@localhost:1521/orclpdb1");
            var logrFactory = new LoggerFactory();
            var connFactory = new OracleProviderConnectorFactory(sInfo, sqlConfig, implementationType);
            var h           = new RelationalHealthContributor((IDbConnection)connFactory.Create(null), logrFactory.CreateLogger <RelationalHealthContributor>());

            // act
            var status = h.Health();

            // assert
            Assert.Equal(HealthStatus.UP, status.Status);
        }
Beispiel #5
0
        public void PostgreSql_Not_Connected_Returns_Down_Status()
        {
            // arrange
            Type implementationType = PostgreSqlTypeLocator.NpgsqlConnection;
            var  sqlConfig          = new PostgresProviderConnectorOptions();
            var  sInfo       = new PostgresServiceInfo("MyId", "postgres://localhost:5432/cf_b4f8d2fa_a3ea_4e3a_a0e8_2cd040790355");
            var  logrFactory = new LoggerFactory();
            var  connFactory = new PostgresProviderConnectorFactory(sInfo, sqlConfig, implementationType);
            var  h           = new RelationalHealthContributor((IDbConnection)connFactory.Create(null), logrFactory.CreateLogger <RelationalHealthContributor>());

            // act
            var status = h.Health();

            // assert
            Assert.Equal(HealthStatus.DOWN, status.Status);
            Assert.Contains(status.Details.Keys, k => k == "error");
        }
Beispiel #6
0
        public void Oracle_Not_Connected_Returns_Down_Status()
        {
            // arrange
            var implementationType = OracleTypeLocator.OracleConnection;
            var sqlConfig          = new OracleProviderConnectorOptions();
            var sInfo       = new OracleServiceInfo("MyId", "oracle://*****:*****@localhost:1521/someService");
            var logrFactory = new LoggerFactory();
            var connFactory = new OracleProviderConnectorFactory(sInfo, sqlConfig, implementationType);
            var h           = new RelationalHealthContributor((IDbConnection)connFactory.Create(null), logrFactory.CreateLogger <RelationalHealthContributor>());

            // act
            var status = h.Health();

            // assert
            Assert.Equal(HealthStatus.DOWN, status.Status);
            Assert.Contains(status.Details.Keys, k => k == "error");
        }
Beispiel #7
0
        public void MySql_Is_Connected_Returns_Up_Status()
        {
            // arrange
            var implementationType = MySqlTypeLocator.MySqlConnection;
            var sqlConfig          = new MySqlProviderConnectorOptions()
            {
                ConnectionTimeout = 1
            };
            var sInfo       = new MySqlServiceInfo("MyId", "mysql://*****:*****@localhost:3306");
            var logrFactory = new LoggerFactory();
            var connFactory = new MySqlProviderConnectorFactory(sInfo, sqlConfig, implementationType);
            var h           = new RelationalHealthContributor((IDbConnection)connFactory.Create(null), logrFactory.CreateLogger <RelationalHealthContributor>());

            // act
            var status = h.Health();

            // assert
            Assert.Equal(HealthStatus.UP, status.Status);
        }
Beispiel #8
0
        public void Sql_Is_Connected_Returns_Up_Status()
        {
            // arrange
            var implementationType = SqlServerTypeLocator.SqlConnection;
            var sqlConfig          = new SqlServerProviderConnectorOptions()
            {
                Timeout = 1, ConnectionString = "Server=(localdb)\\MSSQLLocalDB;Integrated Security=true"
            };
            var sInfo       = new SqlServerServiceInfo("MyId", string.Empty);
            var logrFactory = new LoggerFactory();
            var connFactory = new SqlServerProviderConnectorFactory(sInfo, sqlConfig, implementationType);
            var h           = new RelationalHealthContributor((IDbConnection)connFactory.Create(null), logrFactory.CreateLogger <RelationalHealthContributor>());

            // act
            var status = h.Health();

            // assert
            Assert.Equal(HealthStatus.UP, status.Status);
        }
Beispiel #9
0
        public void MySql_Not_Connected_Returns_Down_Status()
        {
            // arrange
            Type implementationType = MySqlTypeLocator.MySqlConnection;
            var  sqlConfig          = new MySqlProviderConnectorOptions()
            {
                ConnectionTimeout = 1
            };
            var sInfo       = new MySqlServiceInfo("MyId", "mysql://localhost:80;databaseName=invalidDatabaseName");
            var logrFactory = new LoggerFactory();
            var connFactory = new MySqlProviderConnectorFactory(sInfo, sqlConfig, implementationType);
            var h           = new RelationalHealthContributor((IDbConnection)connFactory.Create(null), logrFactory.CreateLogger <RelationalHealthContributor>());

            // act
            var status = h.Health();

            // assert
            Assert.Equal(HealthStatus.DOWN, status.Status);
            Assert.Contains(status.Details.Keys, k => k == "error");
        }
Beispiel #10
0
        public void Sql_Not_Connected_Returns_Down_Status()
        {
            // arrange
            Type implementationType = SqlServerTypeLocator.SqlConnection;
            var  sqlConfig          = new SqlServerProviderConnectorOptions()
            {
                Timeout = 1
            };
            var sInfo       = new SqlServerServiceInfo("MyId", "jdbc:sqlserver://localhost:1433/databaseName=invalidDatabaseName", "Dd6O1BPXUHdrmzbP", "7E1LxXnlH2hhlPVt");
            var logrFactory = new LoggerFactory();
            var connFactory = new SqlServerProviderConnectorFactory(sInfo, sqlConfig, implementationType);
            var h           = new RelationalHealthContributor((IDbConnection)connFactory.Create(null), logrFactory.CreateLogger <RelationalHealthContributor>());

            // act
            var status = h.Health();

            // assert
            Assert.Equal(HealthStatus.DOWN, status.Status);
            Assert.Contains(status.Details.Keys, k => k == "error");
        }
Beispiel #11
0
        public void GetPostgreSqlContributor_ReturnsContributor()
        {
            var appsettings = new Dictionary <string, string>()
            {
                ["postgres:client:host"]     = "localhost",
                ["postgres:client:port"]     = "1234",
                ["postgres:client:password"] = "******",
                ["postgres:client:username"] = "******"
            };

            ConfigurationBuilder configurationBuilder = new ConfigurationBuilder();

            configurationBuilder.AddInMemoryCollection(appsettings);
            var config  = configurationBuilder.Build();
            var contrib = RelationalHealthContributor.GetPostgreSqlContributor(config);

            Assert.NotNull(contrib);
            var status = contrib.Health();

            Assert.Equal(HealthStatus.DOWN, status.Status);
        }
Beispiel #12
0
        public void GetSqlServerContributor_ReturnsContributor()
        {
            var appsettings = new Dictionary <string, string>()
            {
                ["sqlserver:credentials:uid"] = "username",
                ["sqlserver:credentials:uri"] = "jdbc:sqlserver://servername:1433;databaseName=de5aa3a747c134b3d8780f8cc80be519e",
                ["sqlserver:credentials:db"]  = "de5aa3a747c134b3d8780f8cc80be519e",
                ["sqlserver:credentials:pw"]  = "password"
            };

            ConfigurationBuilder configurationBuilder = new ConfigurationBuilder();

            configurationBuilder.AddInMemoryCollection(appsettings);
            var config  = configurationBuilder.Build();
            var contrib = RelationalHealthContributor.GetSqlServerContributor(config);

            Assert.NotNull(contrib);
            var status = contrib.Health();

            Assert.Equal(HealthStatus.DOWN, status.Status);
        }
Beispiel #13
0
        public void GetOracleContributor_ReturnsContributor()
        {
            var appsettings = new Dictionary <string, string>()
            {
                ["oracle:client:server"] = "localhost",
                ["oracle:client:port"]   = "1234",
                ["oracle:client:PersistSecurityInfo"] = "true",
                ["oracle:client:password"]            = "******",
                ["oracle:client:username"]            = "******"
            };

            var configurationBuilder = new ConfigurationBuilder();

            configurationBuilder.AddInMemoryCollection(appsettings);
            var config  = configurationBuilder.Build();
            var contrib = RelationalHealthContributor.GetOracleContributor(config);

            Assert.NotNull(contrib);
            var status = contrib.Health();

            Assert.Equal(HealthStatus.DOWN, status.Status);
        }