You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
134 lines
4.9 KiB
134 lines
4.9 KiB
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); |
|
} |
|
} |
|
}
|
|
|