1
0
mirror of https://github.com/bitwarden/server.git synced 2025-04-04 20:50:21 -05:00
bitwarden/test/Core.Test/Settings/GlobalSettingsTests.cs

135 lines
4.9 KiB
C#

using Bit.Core.Settings;
using Xunit;
namespace Bit.Core.Test.Settings;
public class GlobalSettingsTests
{
public class SqlSettingsTests
{
private const string _testingConnectionString =
"Server=server;Database=database;User Id=user;Password=password;";
private const string _testingReadOnlyConnectionString =
"Server=server_read;Database=database_read;User Id=user_read;Password=password_read;";
[Fact]
public void ConnectionString_ValueInDoubleQuotes_Stripped()
{
var settings = new GlobalSettings.SqlSettings { ConnectionString = $"\"{_testingConnectionString}\"", };
Assert.Equal(_testingConnectionString, settings.ConnectionString);
}
[Fact]
public void ConnectionString_ValueWithoutDoubleQuotes_TheSameValue()
{
var settings = new GlobalSettings.SqlSettings { ConnectionString = _testingConnectionString };
Assert.Equal(_testingConnectionString, settings.ConnectionString);
}
[Fact]
public void ConnectionString_SetTwice_ReturnsSecondConnectionString()
{
var settings = new GlobalSettings.SqlSettings { ConnectionString = _testingConnectionString };
Assert.Equal(_testingConnectionString, settings.ConnectionString);
var newConnectionString = $"{_testingConnectionString}_new";
settings.ConnectionString = newConnectionString;
Assert.Equal(newConnectionString, settings.ConnectionString);
}
[Fact]
public void ReadOnlyConnectionString_ValueInDoubleQuotes_Stripped()
{
var settings = new GlobalSettings.SqlSettings
{
ReadOnlyConnectionString = $"\"{_testingReadOnlyConnectionString}\"",
};
Assert.Equal(_testingReadOnlyConnectionString, settings.ReadOnlyConnectionString);
}
[Fact]
public void ReadOnlyConnectionString_ValueWithoutDoubleQuotes_TheSameValue()
{
var settings = new GlobalSettings.SqlSettings
{
ReadOnlyConnectionString = _testingReadOnlyConnectionString
};
Assert.Equal(_testingReadOnlyConnectionString, settings.ReadOnlyConnectionString);
}
[Fact]
public void ReadOnlyConnectionString_NotSet_DefaultsToConnectionString()
{
var settings = new GlobalSettings.SqlSettings { ConnectionString = _testingConnectionString };
Assert.Equal(_testingConnectionString, settings.ReadOnlyConnectionString);
}
[Fact]
public void ReadOnlyConnectionString_Set_ReturnsReadOnlyConnectionString()
{
var settings = new GlobalSettings.SqlSettings
{
ConnectionString = _testingConnectionString,
ReadOnlyConnectionString = _testingReadOnlyConnectionString
};
Assert.Equal(_testingReadOnlyConnectionString, settings.ReadOnlyConnectionString);
}
[Fact]
public void ReadOnlyConnectionString_SetTwice_ReturnsSecondReadOnlyConnectionString()
{
var settings = new GlobalSettings.SqlSettings
{
ConnectionString = _testingConnectionString,
ReadOnlyConnectionString = _testingReadOnlyConnectionString
};
Assert.Equal(_testingReadOnlyConnectionString, settings.ReadOnlyConnectionString);
var newReadOnlyConnectionString = $"{_testingReadOnlyConnectionString}_new";
settings.ReadOnlyConnectionString = newReadOnlyConnectionString;
Assert.Equal(newReadOnlyConnectionString, settings.ReadOnlyConnectionString);
}
[Fact]
public void ReadOnlyConnectionString_NotSetAndConnectionStringSetTwice_ReturnsSecondConnectionString()
{
var settings = new GlobalSettings.SqlSettings { ConnectionString = _testingConnectionString };
Assert.Equal(_testingConnectionString, settings.ReadOnlyConnectionString);
var newConnectionString = $"{_testingConnectionString}_new";
settings.ConnectionString = newConnectionString;
Assert.Equal(newConnectionString, settings.ReadOnlyConnectionString);
}
[Fact]
public void ReadOnlyConnectionString_SetAndConnectionStringSetTwice_ReturnsReadOnlyConnectionString()
{
var settings = new GlobalSettings.SqlSettings
{
ConnectionString = _testingConnectionString,
ReadOnlyConnectionString = _testingReadOnlyConnectionString
};
Assert.Equal(_testingReadOnlyConnectionString, settings.ReadOnlyConnectionString);
var newConnectionString = $"{_testingConnectionString}_new";
settings.ConnectionString = newConnectionString;
Assert.Equal(_testingReadOnlyConnectionString, settings.ReadOnlyConnectionString);
}
}
}