mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-10-14 19:04:51 +08:00
Preparing PackageExpander unit tests
--HG-- branch : nuget
This commit is contained in:
@@ -1 +1 @@
|
||||
e39a3ec1bb6537c3c75a1896b8ecc645a1b6956a external/nuget
|
||||
299e6c980fd683c0a9dba451dcd07d36b7db537a external/nuget
|
||||
|
@@ -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" />
|
||||
|
9
src/Orchard.Tests.Modules/Packaging/HelloDriver.cs.txt
Normal file
9
src/Orchard.Tests.Modules/Packaging/HelloDriver.cs.txt
Normal file
@@ -0,0 +1,9 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace Orchard.Tests.Modules.Packaging {
|
||||
class HelloDriver {
|
||||
}
|
||||
}
|
9
src/Orchard.Tests.Modules/Packaging/Migrations.cs.txt
Normal file
9
src/Orchard.Tests.Modules/Packaging/Migrations.cs.txt
Normal file
@@ -0,0 +1,9 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace Orchard.Tests.Modules.Packaging {
|
||||
class Migrations {
|
||||
}
|
||||
}
|
@@ -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>();
|
||||
|
38
src/Orchard.Tests.Modules/Packaging/PackageExpanderTests.cs
Normal file
38
src/Orchard.Tests.Modules/Packaging/PackageExpanderTests.cs
Normal 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"
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -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);
|
||||
}
|
||||
}
|
@@ -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
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user