From dbc43a3a5c5883a4755d9db5c4e7a469d027c64e Mon Sep 17 00:00:00 2001 From: Suha Can Date: Tue, 20 Apr 2010 13:42:32 -0700 Subject: [PATCH] - Fixing some broken tests (table prefix and extension manager refactoring side effects)... --HG-- branch : dev --- src/Orchard.Tests/DataUtility.cs | 4 +- .../Extensions/ExtensionManagerTests.cs | 48 +++++++++++++++++-- 2 files changed, 44 insertions(+), 8 deletions(-) diff --git a/src/Orchard.Tests/DataUtility.cs b/src/Orchard.Tests/DataUtility.cs index bc8981ea4..354de04a7 100644 --- a/src/Orchard.Tests/DataUtility.cs +++ b/src/Orchard.Tests/DataUtility.cs @@ -1,7 +1,6 @@ using System; using System.Collections.Generic; using System.Linq; -using System.Reflection; using FluentNHibernate.Automapping; using FluentNHibernate.Automapping.Alterations; using FluentNHibernate.Cfg; @@ -10,7 +9,6 @@ using NHibernate; using NHibernate.Tool.hbm2ddl; using Orchard.Data; using Orchard.Data.Builders; -using Orchard.Environment.Topology; using Orchard.Environment.Topology.Models; namespace Orchard.Tests { @@ -20,7 +18,7 @@ namespace Orchard.Tests { //var persistenceModel = AutoMap.Source(new Types(types)) // .Alterations(alt => AddAlterations(alt, types)) // .Conventions.AddFromAssemblyOf(); - var persistenceModel = AbstractBuilder.CreatePersistenceModel(types.Select(t => new RecordTopology { TableName = "Test", Type = t })); + var persistenceModel = AbstractBuilder.CreatePersistenceModel(types.Select(t => new RecordTopology { TableName = "Test_" + t.Name,Type = t })); return Fluently.Configure() .Database(SQLiteConfiguration.Standard.UsingFile(fileName).ShowSql()) diff --git a/src/Orchard.Tests/Environment/Extensions/ExtensionManagerTests.cs b/src/Orchard.Tests/Environment/Extensions/ExtensionManagerTests.cs index deb9796e3..bdfdc8356 100644 --- a/src/Orchard.Tests/Environment/Extensions/ExtensionManagerTests.cs +++ b/src/Orchard.Tests/Environment/Extensions/ExtensionManagerTests.cs @@ -152,7 +152,7 @@ features: Assert.That(descriptor.WebSite, Is.EqualTo("http://anotherwiki.codeplex.com")); Assert.That(descriptor.Version, Is.EqualTo("1.2.3")); Assert.That(descriptor.OrchardVersion, Is.EqualTo("1")); - Assert.That(descriptor.Features.Count(), Is.EqualTo(4)); + Assert.That(descriptor.Features.Count(), Is.EqualTo(5)); foreach (var featureDescriptor in descriptor.Features) { switch (featureDescriptor.Name) { case "AnotherWiki": @@ -187,6 +187,10 @@ features: Assert.That(featureDescriptor.Dependencies.Contains("AnotherWiki")); Assert.That(featureDescriptor.Dependencies.Contains("reCaptcha")); break; + // default feature. + case "MyCompany.AnotherWiki": + Assert.That(featureDescriptor.Extension, Is.SameAs(descriptor)); + break; default: Assert.Fail("Features not parsed correctly"); break; @@ -196,8 +200,25 @@ features: [Test] public void ExtensionManagerShouldLoadFeatures() { - var descriptors = _manager.AvailableExtensions().SelectMany(x => x.Features); - var features = _manager.LoadFeatures(descriptors); + var extensionLoader = new StubLoaders(); + var extensionFolder = new StubFolders(); + + extensionFolder.Manifests.Add("TestModule", @" +name: TestModule +version: 1.0.3 +orchardversion: 1 +features: + TestModule: + Description: My test module for Orchard. + TestFeature: + Description: Contains the Phi type. +"); + + ExtensionManager extensionManager = new ExtensionManager(new[] { extensionFolder }, new[] { extensionLoader }); + var testFeature = extensionManager.AvailableExtensions() + .SelectMany(x => x.Features); + + var features = extensionManager.LoadFeatures(testFeature); var types = features.SelectMany(x => x.ExportedTypes); Assert.That(types.Count(), Is.Not.EqualTo(0)); @@ -205,8 +226,25 @@ features: [Test] public void ExtensionManagerFeaturesContainNonAbstractClasses() { - var descriptors = _manager.AvailableExtensions().SelectMany(x => x.Features); - var features = _manager.LoadFeatures(descriptors); + var extensionLoader = new StubLoaders(); + var extensionFolder = new StubFolders(); + + extensionFolder.Manifests.Add("TestModule", @" +name: TestModule +version: 1.0.3 +orchardversion: 1 +features: + TestModule: + Description: My test module for Orchard. + TestFeature: + Description: Contains the Phi type. +"); + + ExtensionManager extensionManager = new ExtensionManager(new[] { extensionFolder }, new[] { extensionLoader }); + var testFeature = extensionManager.AvailableExtensions() + .SelectMany(x => x.Features); + + var features = extensionManager.LoadFeatures(testFeature); var types = features.SelectMany(x => x.ExportedTypes); foreach (var type in types) {