public void AddMongoClientConnection_AddingCommunityContributor_AddsSteeltoeHealthCheckWhenForced() { // Arrange IServiceCollection services = new ServiceCollection(); Environment.SetEnvironmentVariable("VCAP_APPLICATION", TestHelpers.VCAP_APPLICATION); Environment.SetEnvironmentVariable("VCAP_SERVICES", MongoDbTestHelpers.SingleBinding_Enterprise_VCAP); var builder = new ConfigurationBuilder(); builder.AddCloudFoundry(); var config = builder.Build(); var cm = new ConnectionStringManager(config); var ci = cm.Get <MongoDbConnectionInfo>(); services.AddHealthChecks().AddMongoDb(ci.ConnectionString, name: ci.Name); // Act services.AddMongoClient(config, "steeltoe", addSteeltoeHealthChecks: true); var healthContributor = services.BuildServiceProvider().GetService <IHealthContributor>() as MongoDbHealthContributor; // Assert Assert.NotNull(healthContributor); }
public void PostgresConnectionInfoByName() { Environment.SetEnvironmentVariable("VCAP_SERVICES", PostgresTestHelpers.TwoServerVCAP_EDB); var cm = new ConnectionStringManager(new ConfigurationBuilder().AddCloudFoundry().Build()); var connInfo = cm.Get <PostgresConnectionInfo>("myPostgres"); Assert.NotNull(connInfo); Assert.Equal("Postgres-myPostgres", connInfo.Name); }
public void MysqlConnectionInfo() { var cm = new ConnectionStringManager(new ConfigurationBuilder().Build()); var connInfo = cm.Get <MySqlConnectionInfo>(); Assert.NotNull(connInfo); Assert.Equal("Server=localhost;Port=3306;", connInfo.ConnectionString); Assert.Equal("MySql", connInfo.Name); }
public void MongoDbConnectionInfo() { var cm = new ConnectionStringManager(new ConfigurationBuilder().Build()); var connInfo = cm.Get <MongoDbConnectionInfo>(); Assert.NotNull(connInfo); Assert.Equal("mongodb://localhost:27017", connInfo.ConnectionString); Assert.Equal("MongoDb", connInfo.Name); }
public void RabbitMQConnectionInfo() { var cm = new ConnectionStringManager(new ConfigurationBuilder().Build()); var connInfo = cm.Get <RabbitMQConnectionInfo>(); Assert.NotNull(connInfo); Assert.Equal("amqp://127.0.0.1:5672/", connInfo.ConnectionString); Assert.Equal("RabbitMQ", connInfo.Name); }
public void RedisConnectionInfo() { var cm = new ConnectionStringManager(new ConfigurationBuilder().Build()); var connInfo = cm.Get <RedisConnectionInfo>(); Assert.NotNull(connInfo); Assert.Equal("localhost:6379,allowAdmin=false,abortConnect=true,resolveDns=false,ssl=false", connInfo.ConnectionString); Assert.Equal("Redis", connInfo.Name); }
public void PostgresConnectionInfo() { var cm = new ConnectionStringManager(new ConfigurationBuilder().Build()); var connInfo = cm.Get <PostgresConnectionInfo>(); Assert.NotNull(connInfo); Assert.Equal("Host=localhost;Port=5432;", connInfo.ConnectionString); Assert.Equal("Postgres", connInfo.Name); }
public void SqlServerConnectionInfo() { var cm = new ConnectionStringManager(new ConfigurationBuilder().Build()); var connInfo = cm.Get <SqlServerConnectionInfo>(); Assert.NotNull(connInfo); Assert.Equal("Data Source=localhost,1433;", connInfo.ConnectionString); Assert.Equal("SqlServer", connInfo.Name); }
public void RedisConnectionInfoByName() { Environment.SetEnvironmentVariable("VCAP_SERVICES", RedisCacheTestHelpers.TwoServerVCAP); var cm = new ConnectionStringManager(new ConfigurationBuilder().AddCloudFoundry().Build()); var connInfo = cm.Get <RedisConnectionInfo>("myRedisService1"); Assert.NotNull(connInfo); Assert.Equal("Redis-myRedisService1", connInfo.Name); }
public void MongoDbConnectionInfoByName() { Environment.SetEnvironmentVariable("VCAP_SERVICES", MongoDbTestHelpers.DoubleBinding_Enterprise_VCAP); var cm = new ConnectionStringManager(new ConfigurationBuilder().AddCloudFoundry().Build()); var connInfo = cm.Get <MongoDbConnectionInfo>("steeltoe"); Assert.NotNull(connInfo); Assert.Equal("MongoDb-steeltoe", connInfo.Name); }
public void SqlServerConnectionInfo_ByName() { Environment.SetEnvironmentVariable("VCAP_SERVICES", SqlServerTestHelpers.TwoServerVCAP); var cm = new ConnectionStringManager(new ConfigurationBuilder().AddCloudFoundry().Build()); var connInfo = cm.Get <SqlServerConnectionInfo>("mySqlServerService"); Assert.NotNull(connInfo); Assert.Equal("SqlServer-mySqlServerService", connInfo.Name); }
public void MysqlConnectionInfoByName() { Environment.SetEnvironmentVariable("VCAP_SERVICES", MySqlTestHelpers.TwoServerVCAP); var config = new ConfigurationBuilder().AddCloudFoundry().Build(); var cm = new ConnectionStringManager(config); var connInfo = cm.Get <MySqlConnectionInfo>("spring-cloud-broker-db"); Assert.NotNull(connInfo); Assert.Equal("MySql-spring-cloud-broker-db", connInfo.Name); }
public void MongoDbConnectionInfo_FromCosmosVCAP() { Environment.SetEnvironmentVariable("VCAP_APPLICATION", TestHelpers.VCAP_APPLICATION); Environment.SetEnvironmentVariable("VCAP_SERVICES", MongoDbTestHelpers.SingleServer_CosmosDb_VCAP); var cm = new ConnectionStringManager(new ConfigurationBuilder().AddCloudFoundry().Build()); var connInfo = cm.Get <MongoDbConnectionInfo>(); Assert.NotNull(connInfo); Assert.Equal("mongodb://*****:*****@u83bde2c09fd.documents.azure.com:10255/?ssl=true&replicaSet=globaldb", connInfo.ConnectionString); Assert.StartsWith("MongoDb", connInfo.Name); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { // Add microsoft community health checks var cm = new ConnectionStringManager(Configuration); var connectionString = cm.Get <MySqlConnectionInfo>().ConnectionString; services.AddHealthChecks().AddMySql(connectionString); // Add in a MySql connection (this method also adds an IHealthContributor for it) services.AddMySqlConnection(Configuration); //will use microsoft health check instead of steeltoe health check services.AddHealthChecksUI(); // Add framework services. services.AddControllersWithViews(); }
public void AddPosgreSqlConnection_AddsRelationalHealthContributor_WhenCommunityHealthCheckExistsAndForced() { IServiceCollection services = new ServiceCollection(); var builder = new ConfigurationBuilder(); builder.AddCloudFoundry(); var config = builder.Build(); var cm = new ConnectionStringManager(config); var ci = cm.Get <PostgresConnectionInfo>(); services.AddHealthChecks().AddNpgSql(ci.ConnectionString, name: ci.Name); PostgresProviderServiceCollectionExtensions.AddPostgresConnection(services, config, addSteeltoeHealthChecks: true); var healthContributor = services.BuildServiceProvider().GetService <IHealthContributor>() as RelationalDbHealthContributor; Assert.NotNull(healthContributor); }
public void AddMySqlConnection_DoesntAddRelationalHealthContributor_WhenCommunityHealthExists() { IServiceCollection services = new ServiceCollection(); var builder = new ConfigurationBuilder(); builder.AddCloudFoundry(); var config = builder.Build(); var cm = new ConnectionStringManager(config); var ci = cm.Get <MySqlConnectionInfo>(); services.AddHealthChecks().AddMySql(ci.ConnectionString, name: ci.Name); MySqlProviderServiceCollectionExtensions.AddMySqlConnection(services, config); var healthContributor = services.BuildServiceProvider().GetService <IHealthContributor>() as RelationalDbHealthContributor; Assert.Null(healthContributor); }
public void AddDistributedRedisCache_AddsRedisHealthContributor_WhenCommunityHealthCheckExistsAndForced() { IServiceCollection services = new ServiceCollection(); var builder = new ConfigurationBuilder(); builder.AddCloudFoundry(); var config = builder.Build(); var cm = new ConnectionStringManager(config); var ci = cm.Get <RedisConnectionInfo>(); services.AddHealthChecks().AddRedis(ci.ConnectionString, name: ci.Name); RedisCacheServiceCollectionExtensions.AddDistributedRedisCache(services, config, addSteeltoeHealthChecks: true); var healthContributor = services.BuildServiceProvider().GetService <IHealthContributor>() as RedisHealthContributor; Assert.NotNull(healthContributor); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { // Add microsoft community health checks var cm = new ConnectionStringManager(Configuration); var connectionString = cm.Get <MySqlConnectionInfo>().ConnectionString; services.AddHealthChecks().AddMySql(connectionString); // Add in a MySql connection (this method also adds an IHealthContributor for it) services.AddMySqlConnection(Configuration); //will use microsoft health check instead of steelto health check // Add managment endpoint services services.AddCloudFoundryActuators(Configuration); // can check health from microsoft health check on the health actuator services.AddHealthChecksUI(); // Add framework services. services.AddMvc(); }
public void AddRabbitMQConnection_AddsRabbitMQHealthContributor_WhenCommunityHealthCheckExistsAndForced() { // Arrange IServiceCollection services = new ServiceCollection(); ConfigurationBuilder builder = new ConfigurationBuilder(); builder.AddCloudFoundry(); var config = builder.Build(); var cm = new ConnectionStringManager(config); var ci = cm.Get <RabbitMQConnectionInfo>(); services.AddHealthChecks().AddRabbitMQ(ci.ConnectionString, name: ci.Name); // Act RabbitMQProviderServiceCollectionExtensions.AddRabbitMQConnection(services, config, addSteeltoeHealthChecks: true); var healthContributor = services.BuildServiceProvider().GetService <IHealthContributor>() as RabbitMQHealthContributor; // Assert Assert.NotNull(healthContributor); }
public void AddDistributedRedisCache_DoesntAddRedisHealthContributor_WhenCommunityHealthCheckExists() { // Arrange IServiceCollection services = new ServiceCollection(); var builder = new ConfigurationBuilder(); builder.AddCloudFoundry(); var config = builder.Build(); var cm = new ConnectionStringManager(config); var ci = cm.Get <RedisConnectionInfo>(); services.AddHealthChecks().AddRedis(ci.ConnectionString, name: ci.Name); // Act RedisCacheServiceCollectionExtensions.AddDistributedRedisCache(services, config); var healthContributor = services.BuildServiceProvider().GetService <IHealthContributor>() as RedisHealthContributor; // Assert Assert.Null(healthContributor); }
/// <summary> /// Creates a Cosmos DB database and a container with the specified partition key. /// </summary> /// <returns></returns> /// <remarks><see cref="CosmosDbConnectorOptions"/></remarks> private static async Task <CosmosDbService> InitializeCosmosClientInstanceAsync(IConfiguration configuration) { // read settings from "cosmosdb:client" and VCAP:services or services: var configMgr = new ConnectionStringManager(configuration); var cosmosInfo = configMgr.Get <CosmosDbConnectionInfo>(); // these are mapped into the properties dictionary var databaseName = cosmosInfo.Properties["DatabaseId"]; var databaseLink = cosmosInfo.Properties["DatabaseLink"]; // container is not known to be provided by a service binding: var containerName = configuration.GetValue <string>("CosmosDb:Container"); var cosmosClient = new CosmosClient(cosmosInfo.ConnectionString); var cosmosDbService = new CosmosDbService(cosmosClient, databaseName, containerName); var database = await cosmosClient.CreateDatabaseIfNotExistsAsync(databaseName); await database.Database.CreateContainerIfNotExistsAsync(containerName, "/id"); return(cosmosDbService); }
public void AddSqlServerConnection_DoesntAddsRelationalHealthContributor_WhenCommunityHealthCheckExists() { // Arrange IServiceCollection services = new ServiceCollection(); var builder = new ConfigurationBuilder(); builder.AddCloudFoundry(); var config = builder.Build(); var cm = new ConnectionStringManager(config); var ci = cm.Get <SqlServerConnectionInfo>(); services.AddHealthChecks().AddSqlServer(ci.ConnectionString, name: ci.Name); // Act services.AddSqlServerConnection(config); var healthContributor = services.BuildServiceProvider().GetService <IHealthContributor>() as RelationalDbHealthContributor; // Assert Assert.Null(healthContributor); }