mirror of
https://github.com/bitwarden/server.git
synced 2025-06-30 07:36:14 -05:00
Incorrect Read only connection string on development self-hosted environment (#5426)
This commit is contained in:
134
test/Core.Test/Settings/GlobalSettingsTests.cs
Normal file
134
test/Core.Test/Settings/GlobalSettingsTests.cs
Normal file
@ -0,0 +1,134 @@
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user