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>
<Compile Include="CodeGeneration\Commands\CodeGenerationCommandsTests.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="Properties\AssemblyInfo.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"
});
}
[Test]
public void PackageForModuleIsOpcPackage() {
var packageBuilder = _container.Resolve<IPackageBuilder>();
@@ -51,7 +52,6 @@ namespace Orchard.Tests.Modules.Packaging {
Assert.That(package.PackageProperties.Version, Is.EqualTo("1.0"));
}
[Test]
public void ProjectFileIsAdded() {
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));
}
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));
}
private string GetSolutionFolder() {
return Directory.GetParent(OrchardWebProj).Parent.FullName;
private static string GetSolutionFolder() {
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;
namespace Orchard.Packaging.Services {
@@ -7,5 +8,6 @@ namespace Orchard.Packaging.Services {
void Push(PackageData packageData, string feedUrl, string login, string password);
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);
}
public PackageInfo Install(Uri uri, string destination) {
return null;
}
#endregion
}
}