Preparing PackageExpander unit tests

--HG--
branch : nuget
This commit is contained in:
Sebastien Ros
2010-11-08 13:21:06 -08:00
parent 70848ef2dd
commit 77cc446f99
9 changed files with 82 additions and 5 deletions

View File

@@ -1 +1 @@
e39a3ec1bb6537c3c75a1896b8ecc645a1b6956a external/nuget 299e6c980fd683c0a9dba451dcd07d36b7db537a external/nuget

View File

@@ -127,6 +127,9 @@
<ItemGroup> <ItemGroup>
<Compile Include="CodeGeneration\Commands\CodeGenerationCommandsTests.cs" /> <Compile Include="CodeGeneration\Commands\CodeGenerationCommandsTests.cs" />
<Compile Include="DatabaseEnabledTestsBase.cs" /> <Compile Include="DatabaseEnabledTestsBase.cs" />
<EmbeddedResource Include="Packaging\Migrations.cs.txt" />
<EmbeddedResource Include="Packaging\HelloDriver.cs.txt" />
<Compile Include="Packaging\PackageExpanderTests.cs" />
<Compile Include="Packaging\PackageBuilderTests.cs" /> <Compile Include="Packaging\PackageBuilderTests.cs" />
<Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Roles\Controllers\AdminControllerTests.cs" /> <Compile Include="Roles\Controllers\AdminControllerTests.cs" />

View File

@@ -0,0 +1,9 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Orchard.Tests.Modules.Packaging {
class HelloDriver {
}
}

View File

@@ -0,0 +1,9 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Orchard.Tests.Modules.Packaging {
class Migrations {
}
}

View File

@@ -30,6 +30,7 @@ namespace Orchard.Tests.Modules.Packaging {
Author = "b" Author = "b"
}); });
} }
[Test] [Test]
public void PackageForModuleIsOpcPackage() { public void PackageForModuleIsOpcPackage() {
var packageBuilder = _container.Resolve<IPackageBuilder>(); var packageBuilder = _container.Resolve<IPackageBuilder>();
@@ -51,7 +52,6 @@ namespace Orchard.Tests.Modules.Packaging {
Assert.That(package.PackageProperties.Version, Is.EqualTo("1.0")); Assert.That(package.PackageProperties.Version, Is.EqualTo("1.0"));
} }
[Test] [Test]
public void ProjectFileIsAdded() { public void ProjectFileIsAdded() {
var packageBuilder = _container.Resolve<IPackageBuilder>(); var packageBuilder = _container.Resolve<IPackageBuilder>();

View File

@@ -0,0 +1,38 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.IO.Packaging;
using System.Linq;
using System.Text;
using Autofac;
using NUnit.Framework;
using Orchard.Environment.Extensions;
using Orchard.Environment.Extensions.Models;
using Orchard.FileSystems.VirtualPath;
using Orchard.FileSystems.WebSite;
using Orchard.Packaging.Services;
using Orchard.Services;
using Orchard.Tests.Stubs;
namespace Orchard.Tests.Modules.Packaging {
[TestFixture]
public class PackageExpanderTests : ContainerTestBase {
protected override void Register(Autofac.ContainerBuilder builder) {
builder.RegisterType<PackageBuilder>().As<IPackageBuilder>();
builder.RegisterType<PackageExpander>().As<IPackageExpander>();
builder.RegisterInstance<IVirtualPathProvider>(new StubVirtualPathProvider(new StubFileSystem(new Clock())));
builder.RegisterType<InMemoryWebSiteFolder>().As<IWebSiteFolder>()
.As<InMemoryWebSiteFolder>().InstancePerLifetimeScope();
}
private Stream BuildHelloWorld(IPackageBuilder packageBuilder) {
return packageBuilder.BuildPackage(new ExtensionDescriptor {
ExtensionType = "Module",
Name = "Hello.World",
Version = "1.0",
Description = "a",
Author = "b"
});
}
}
}

View File

@@ -54,12 +54,23 @@ namespace Orchard.Packaging.Commands {
Context.Output.WriteLine(T("File \"{0}\" does not exist.", filename)); Context.Output.WriteLine(T("File \"{0}\" does not exist.", filename));
} }
var packageInfo = _packageManager.Install(filename, GetSolutionFolder()); var solutionFolder = GetSolutionFolder();
if(solutionFolder == null) {
Context.Output.WriteLine(T("The project's location is not supported"));
}
var packageInfo = _packageManager.Install(filename, solutionFolder);
Context.Output.WriteLine(T("Package \"{0}\" successfully installed at \"{1}\"", packageInfo.ExtensionName, packageInfo.ExtensionPath)); Context.Output.WriteLine(T("Package \"{0}\" successfully installed at \"{1}\"", packageInfo.ExtensionName, packageInfo.ExtensionPath));
} }
private string GetSolutionFolder() { private static string GetSolutionFolder() {
return Directory.GetParent(OrchardWebProj).Parent.FullName; var orchardDirectory = Directory.GetParent(OrchardWebProj);
if(orchardDirectory.Parent == null) {
return null;
}
return orchardDirectory.Parent.FullName;
} }
} }
} }

View File

@@ -1,3 +1,4 @@
using System;
using System.IO; using System.IO;
namespace Orchard.Packaging.Services { namespace Orchard.Packaging.Services {
@@ -7,5 +8,6 @@ namespace Orchard.Packaging.Services {
void Push(PackageData packageData, string feedUrl, string login, string password); void Push(PackageData packageData, string feedUrl, string login, string password);
PackageInfo Install(string filename, string destination); PackageInfo Install(string filename, string destination);
PackageInfo Install(Uri uri, string destination);
} }
} }

View File

@@ -93,6 +93,11 @@ namespace Orchard.Packaging.Services {
return _packageExpander.ExpandPackage(packageId, version, location, destination); return _packageExpander.ExpandPackage(packageId, version, location, destination);
} }
public PackageInfo Install(Uri uri, string destination) {
return null;
}
#endregion #endregion
} }
} }