Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,11 @@ public static IConfigurationSection GetConnectionStringOrSetting(this IConfigura
{
if (configuration.GetSection("ConnectionStrings").Exists())
{
return configuration.GetSection("ConnectionStrings").GetSection(connectionName);
IConfigurationSection onConnectionStrings = configuration.GetSection("ConnectionStrings").GetSection(connectionName);
if (onConnectionStrings.Exists())
{
return onConnectionStrings;
}
}

return configuration.GetSection(connectionName);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,63 @@ public void UsesDefaultConnection()
Assert.Equal(options.ApplicationName, client.ClientOptions.ApplicationName);
}

[Fact]
public void UsesDefaultConnection_EvenIfConnectionStringSectionExists()
{
// Arrange
var myConfiguration = new Dictionary<string, string>
{
{ Constants.DefaultConnectionStringName, "AccountEndpoint=https://defaultUri;AccountKey=c29tZV9rZXk=;" },
{ "ConnectionStrings:SomeConnectionString", "NotAValidConnectionString" },
};

var configuration = new ConfigurationBuilder()
.AddInMemoryCollection(myConfiguration)
.Build();

var factory = new DefaultCosmosDBServiceFactory(configuration, Mock.Of<AzureComponentFactory>());
var options = new CosmosClientOptions()
{
ApplicationName = Guid.NewGuid().ToString()
};

// Act
var client = factory.CreateService(null, options);

// Assert
Assert.NotNull(client);
Assert.True(client.Endpoint.ToString().Contains("default"));
Assert.Equal(options.ApplicationName, client.ClientOptions.ApplicationName);
}

[Fact]
public void UsesDefaultConnection_FromConnectionStrings()
{
// Arrange
var myConfiguration = new Dictionary<string, string>
{
{ $"ConnectionStrings:{Constants.DefaultConnectionStringName}", "AccountEndpoint=https://defaultUri;AccountKey=c29tZV9rZXk=;" },
};

var configuration = new ConfigurationBuilder()
.AddInMemoryCollection(myConfiguration)
.Build();

var factory = new DefaultCosmosDBServiceFactory(configuration, Mock.Of<AzureComponentFactory>());
var options = new CosmosClientOptions()
{
ApplicationName = Guid.NewGuid().ToString()
};

// Act
var client = factory.CreateService(null, options);

// Assert
Assert.NotNull(client);
Assert.True(client.Endpoint.ToString().Contains("default"));
Assert.Equal(options.ApplicationName, client.ClientOptions.ApplicationName);
}

[Fact]
public void UsesConfig()
{
Expand Down