mirror of
https://github.com/bitwarden/server.git
synced 2025-04-04 20:50:21 -05:00
135 lines
4.9 KiB
C#
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);
|
|
}
|
|
}
|
|
}
|