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>
|
<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" />
|
||||||
|
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"
|
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>();
|
||||||
|
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));
|
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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
@@ -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
|
||||||
}
|
}
|
||||||
}
|
}
|
Reference in New Issue
Block a user