#17541: Fixing bug when settings where overwritten in multi tenancy

Work Items: 17541

--HG--
branch : 1.x
This commit is contained in:
Sebastien Ros
2011-03-31 18:30:09 -07:00
parent ac381cc126
commit fca6683d18
2 changed files with 15 additions and 1 deletions

View File

@@ -40,6 +40,17 @@ namespace Orchard.Azure.Tests.Environment.Configuration {
Assert.That(settings.DataConnectionString, Is.EqualTo("something else"));
}
[Test]
public void SettingsShouldBeOverwritable() {
ShellSettingsManager.SaveSettings(new ShellSettings { Name = "Default", DataProvider = "SQLCe", DataConnectionString = "something else" });
ShellSettingsManager.SaveSettings(new ShellSettings { Name = "Default", DataProvider = "SQLCe2", DataConnectionString = "something else2" });
var settings = ShellSettingsManager.LoadSettings().Single();
Assert.That(settings, Is.Not.Null);
Assert.That(settings.Name, Is.EqualTo("Default"));
Assert.That(settings.DataProvider, Is.EqualTo("SQLCe2"));
Assert.That(settings.DataConnectionString, Is.EqualTo("something else2"));
}
[Test]
public void MultipleFilesCanBeDetected() {

View File

@@ -33,7 +33,10 @@ namespace Orchard.Azure.Environment.Configuration {
void IShellSettingsManager.SaveSettings(ShellSettings settings) {
var content = ComposeSettings(settings);
var filePath = _fileSystem.Combine(settings.Name, SettingsFilename);
var file = _fileSystem.CreateFile(filePath);
var file = _fileSystem.FileExists(filePath)
? _fileSystem.GetFile(filePath)
: _fileSystem.CreateFile(filePath);
using (var stream = file.OpenWrite()) {
using (var writer = new StreamWriter(stream)) {