diff --git a/src/Orchard.Azure.Tests/Environment/Configuration/AzureShellSettingsManagerTests.cs b/src/Orchard.Azure.Tests/Environment/Configuration/AzureShellSettingsManagerTests.cs index ccd2a82cb..8c63d172c 100644 --- a/src/Orchard.Azure.Tests/Environment/Configuration/AzureShellSettingsManagerTests.cs +++ b/src/Orchard.Azure.Tests/Environment/Configuration/AzureShellSettingsManagerTests.cs @@ -1,5 +1,4 @@ -using System.IO; -using System.Linq; +using System.Linq; using Microsoft.WindowsAzure; using NUnit.Framework; using Orchard.Azure.Environment.Configuration; @@ -15,7 +14,7 @@ namespace Orchard.Azure.Tests.Environment.Configuration { CloudStorageAccount devAccount; CloudStorageAccount.TryParse("UseDevelopmentStorage=true", out devAccount); - Loader = new AzureShellSettingsManager(devAccount); + Loader = new AzureShellSettingsManager(devAccount, new Moq.Mock().Object); } [SetUp] diff --git a/src/Orchard.Azure.Tests/Orchard.Azure.Tests.csproj b/src/Orchard.Azure.Tests/Orchard.Azure.Tests.csproj index 1c50810df..1e1dc42b3 100644 --- a/src/Orchard.Azure.Tests/Orchard.Azure.Tests.csproj +++ b/src/Orchard.Azure.Tests/Orchard.Azure.Tests.csproj @@ -34,6 +34,10 @@ + + False + ..\..\lib\moq\Moq.dll + False ..\..\lib\nunit\nunit.framework.dll diff --git a/src/Orchard.Azure/Environment/Configuration/AzureShellSettingsManager.cs b/src/Orchard.Azure/Environment/Configuration/AzureShellSettingsManager.cs index 9f98c658e..bd14c2a56 100644 --- a/src/Orchard.Azure/Environment/Configuration/AzureShellSettingsManager.cs +++ b/src/Orchard.Azure/Environment/Configuration/AzureShellSettingsManager.cs @@ -13,6 +13,7 @@ namespace Orchard.Azure.Environment.Configuration { public class AzureShellSettingsManager : IShellSettingsManager { public const string ContainerName = "sites"; // container names must be lower cased + private readonly IShellSettingsManagerEventHandler _events; private readonly CloudStorageAccount _storageAccount; public CloudBlobClient BlobClient { get; private set; } @@ -21,14 +22,16 @@ namespace Orchard.Azure.Environment.Configuration { Localizer T { get; [UsedImplicitly] set; } - public AzureShellSettingsManager() : this(CloudStorageAccount.FromConfigurationSetting("DataConnectionString")) + public AzureShellSettingsManager(IShellSettingsManagerEventHandler events) + : this(CloudStorageAccount.FromConfigurationSetting("DataConnectionString"), events) { } - public AzureShellSettingsManager(CloudStorageAccount storageAccount) + public AzureShellSettingsManager(CloudStorageAccount storageAccount, IShellSettingsManagerEventHandler events) { // Setup the connection to custom storage accountm, e.g. Development Storage _storageAccount = storageAccount; + _events = events; BlobClient = _storageAccount.CreateCloudBlobClient(); @@ -54,6 +57,8 @@ namespace Orchard.Azure.Environment.Configuration { var filePath =String.Concat(settings.Name, "/", "Settings.txt"); var blob = Container.GetBlockBlobReference(filePath); blob.UploadText(ComposeSettings(settings)); + + _events.Saved(settings); } IEnumerable LoadSettings() {