Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
390 changes: 385 additions & 5 deletions src/.editorconfig

Large diffs are not rendered by default.

35 changes: 23 additions & 12 deletions src/Orchard.Azure.Tests/AzureVirtualEnvironmentTest.cs
Original file line number Diff line number Diff line change
@@ -1,18 +1,21 @@
using Microsoft.WindowsAzure.Storage;
using Microsoft.WindowsAzure.Storage;
using Microsoft.WindowsAzure.Storage.Blob;
using NUnit.Framework;
using Orchard.Azure.Services.Environment.Configuration;

namespace Orchard.Azure.Tests {
public abstract class AzureVirtualEnvironmentTest {
namespace Orchard.Azure.Tests
{
public abstract class AzureVirtualEnvironmentTest
{
protected IPlatformConfigurationAccessor PlatformConfigurationAccessor = new DefaultPlatformConfigurationAccessor();
protected abstract string StorageConnectionStringName { get; }
protected CloudStorageAccount DevAccount { get; private set; }

protected abstract void OnInit();

[OneTimeSetUp]
public void FixtureSetup() {
public void FixtureSetup()
{
var connectionString = PlatformConfigurationAccessor.GetSetting(StorageConnectionStringName, "default", "");

CloudStorageAccount.TryParse(connectionString, out CloudStorageAccount devAccount);
Expand All @@ -21,28 +24,36 @@ public void FixtureSetup() {
OnInit();
}

protected void DeleteAllBlobs(string containerName, CloudStorageAccount account) {
protected void DeleteAllBlobs(string containerName, CloudStorageAccount account)
{
var blobClient = account.CreateCloudBlobClient();
var container = blobClient.GetContainerReference(containerName);

foreach (var blob in container.ListBlobs()) {
if (blob is CloudBlob blobLeaf) {
foreach (var blob in container.ListBlobs())
{
if (blob is CloudBlob blobLeaf)
{
blobLeaf.DeleteIfExists();
}

if (blob is CloudBlobDirectory directory) {
if (blob is CloudBlobDirectory directory)
{
DeleteAllBlobs(directory);
}
}
}

private static void DeleteAllBlobs(CloudBlobDirectory cloudBlobDirectory) {
foreach (var blob in cloudBlobDirectory.ListBlobs()) {
if (blob is CloudBlob blobLeaf) {
private static void DeleteAllBlobs(CloudBlobDirectory cloudBlobDirectory)
{
foreach (var blob in cloudBlobDirectory.ListBlobs())
{
if (blob is CloudBlob blobLeaf)
{
blobLeaf.DeleteIfExists();
}

if (blob is CloudBlobDirectory directory) {
if (blob is CloudBlobDirectory directory)
{
DeleteAllBlobs(directory);
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,36 +1,42 @@
using System.Linq;
using System.Linq;
using NUnit.Framework;
using Orchard.Azure.Services.Environment.Configuration;
using Orchard.Environment.Configuration;
using Orchard.FileSystems.Media;

namespace Orchard.Azure.Tests.Environment.Configuration {
namespace Orchard.Azure.Tests.Environment.Configuration
{
[TestFixture]
public class AzureShellSettingsManagerTests : AzureVirtualEnvironmentTest {
public class AzureShellSettingsManagerTests : AzureVirtualEnvironmentTest
{
private IShellSettingsManager _shellSettingsManager;

protected override string StorageConnectionStringName { get; } = Constants.ShellSettingsStorageConnectionStringSettingName;

protected override void OnInit() {
protected override void OnInit()
{
_shellSettingsManager = new AzureBlobShellSettingsManager(
new Moq.Mock<IMimeTypeProvider>().Object,
new Moq.Mock<IShellSettingsManagerEventHandler>().Object);
}

[SetUp]
public void Setup() {
public void Setup()
{
// ensure default container is empty before running any test
DeleteAllBlobs(Constants.ShellSettingsDefaultContainerName, DevAccount);
}

[TearDown]
public void TearDown() {
public void TearDown()
{
// ensure default container is empty after running tests
DeleteAllBlobs(Constants.ShellSettingsDefaultContainerName, DevAccount);
}

[Test]
public void SingleSettingsFileShouldComeBackAsExpected() {
public void SingleSettingsFileShouldComeBackAsExpected()
{

_shellSettingsManager.SaveSettings(new ShellSettings { Name = "Default", DataProvider = "SQLCe", DataConnectionString = "something else" });

Expand All @@ -42,7 +48,8 @@ public void SingleSettingsFileShouldComeBackAsExpected() {
}

[Test]
public void SettingsShouldBeOverwritable() {
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" });

Expand All @@ -54,7 +61,8 @@ public void SettingsShouldBeOverwritable() {
}

[Test]
public void MultipleFilesCanBeDetected() {
public void MultipleFilesCanBeDetected()
{

_shellSettingsManager.SaveSettings(new ShellSettings { Name = "Default", DataProvider = "SQLCe", DataConnectionString = "something else" });
_shellSettingsManager.SaveSettings(new ShellSettings { Name = "Another", DataProvider = "SQLCe2", DataConnectionString = "something else2" });
Expand All @@ -74,7 +82,8 @@ public void MultipleFilesCanBeDetected() {
}

[Test]
public void NewSettingsCanBeStored() {
public void NewSettingsCanBeStored()
{
_shellSettingsManager.SaveSettings(new ShellSettings { Name = "Default", DataProvider = "SQLite", DataConnectionString = "something else" });

var foo = new ShellSettings { Name = "Foo", DataProvider = "Bar", DataConnectionString = "Quux" };
Expand All @@ -90,7 +99,8 @@ public void NewSettingsCanBeStored() {
}

[Test]
public void SettingsCanContainSeparatorChar() {
public void SettingsCanContainSeparatorChar()
{
_shellSettingsManager.SaveSettings(new ShellSettings { Name = "Default", DataProvider = "SQLite", DataConnectionString = "Server=tcp:tjyptm5sfc.database.windows.net;Database=orchard;User ID=foo@bar;Password=foo;Trusted_Connection=False;Encrypt=True;" });

var settings = _shellSettingsManager.LoadSettings().Where(s => s.Name == "Default").Single();
Expand Down
Loading