Fix a few data migration unit tests

--HG--
branch : dev
This commit is contained in:
Renaud Paquay
2010-07-13 23:39:27 -07:00
parent ea462577ba
commit c602dab0b2
4 changed files with 38 additions and 9 deletions

View File

@@ -1,13 +1,20 @@
using System.Data; using System.Data;
using System.Linq;
using Autofac; using Autofac;
using NHibernate; using NHibernate;
using NUnit.Framework; using NUnit.Framework;
using Orchard.Data; using Orchard.Data;
using Orchard.Data.Migration.Interpreters; using Orchard.Data.Migration.Interpreters;
using Orchard.Data.Migration.Schema; using Orchard.Data.Migration.Schema;
using Orchard.Data.Providers;
using Orchard.Environment.Configuration; using Orchard.Environment.Configuration;
using Orchard.Environment.ShellBuilders.Models;
using Orchard.FileSystems.AppData;
using Orchard.Reports.Services;
using Orchard.Tests.ContentManagement; using Orchard.Tests.ContentManagement;
using System.IO; using System.IO;
using Orchard.Tests.FileSystems.AppData;
using Orchard.Tests.Stubs;
namespace Orchard.Tests.DataMigration { namespace Orchard.Tests.DataMigration {
[TestFixture] [TestFixture]
@@ -15,24 +22,35 @@ namespace Orchard.Tests.DataMigration {
private IContainer _container; private IContainer _container;
private ISessionFactory _sessionFactory; private ISessionFactory _sessionFactory;
private string _databaseFileName; private string _databaseFileName;
private string _tempFolder;
private SchemaBuilder _schemaBuilder; private SchemaBuilder _schemaBuilder;
private DefaultDataMigrationInterpreter _interpreter; private DefaultDataMigrationInterpreter _interpreter;
[SetUp] [SetUp]
public void Setup() { public void Setup() {
_databaseFileName = Path.GetTempFileName(); _databaseFileName = Path.GetTempFileName();
_sessionFactory = DataUtility.CreateSessionFactory( _sessionFactory = DataUtility.CreateSessionFactory(_databaseFileName);
_databaseFileName);
_tempFolder = Path.GetTempFileName();
File.Delete(_tempFolder);
var appDataFolder = AppDataFolderTests.CreateAppDataFolder(_tempFolder);
var builder = new ContainerBuilder(); var builder = new ContainerBuilder();
builder.RegisterInstance(new ShellSettings { DataTablePrefix = "TEST_", DataProvider = "SqlCe" }); builder.RegisterInstance(new ShellSettings { DataTablePrefix = "TEST_", DataProvider = "SqlCe" });
var session = _sessionFactory.OpenSession(); var session = _sessionFactory.OpenSession();
builder.RegisterInstance(appDataFolder).As<IAppDataFolder>();
builder.RegisterType<SqlCeDataServicesProvider>().As<IDataServicesProvider>();
builder.RegisterType<DataServicesProviderFactory>().As<IDataServicesProviderFactory>();
builder.RegisterType<StubReportsCoordinator>().As<IReportsCoordinator>();
builder.RegisterType<DefaultDataMigrationInterpreter>().As<IDataMigrationInterpreter>(); builder.RegisterType<DefaultDataMigrationInterpreter>().As<IDataMigrationInterpreter>();
builder.RegisterType<SessionFactoryHolder>().As<ISessionFactoryHolder>();
builder.RegisterInstance(new DefaultContentManagerTests.TestSessionLocator(session)).As<ISessionLocator>(); builder.RegisterInstance(new DefaultContentManagerTests.TestSessionLocator(session)).As<ISessionLocator>();
builder.RegisterInstance(new ShellSettings { DataProvider = "SqlCe", DataTablePrefix = "TEST_" }).As<ShellSettings>(); builder.RegisterInstance(new ShellBlueprint { Records = Enumerable.Empty<RecordBlueprint>() }).As<ShellBlueprint>();
builder.RegisterInstance(new ShellSettings { Name = "temp", DataProvider = "SqlCe", DataTablePrefix = "TEST_" }).As<ShellSettings>();
builder.RegisterType<SqlCeCommandInterpreter>().As<ICommandInterpreter>(); builder.RegisterType<SqlCeCommandInterpreter>().As<ICommandInterpreter>();
builder.RegisterModule(new DataModule());
_container = builder.Build(); _container = builder.Build();
_interpreter = _container.Resolve<IDataMigrationInterpreter>() as DefaultDataMigrationInterpreter; _interpreter = _container.Resolve<IDataMigrationInterpreter>() as DefaultDataMigrationInterpreter;
@@ -71,7 +89,7 @@ namespace Orchard.Tests.DataMigration {
[Test] [Test]
public void CreateCommandShouldBeHandled() { public void CreateCommandShouldBeHandled() {
_schemaBuilder _schemaBuilder
.CreateTable("User", table => table .CreateTable("User", table => table
.Column("Id", DbType.Int32, column => column.PrimaryKey().Identity()) .Column("Id", DbType.Int32, column => column.PrimaryKey().Identity())

View File

@@ -208,6 +208,7 @@
<Compile Include="Mvc\Html\HtmlHelperExtensionsTests.cs" /> <Compile Include="Mvc\Html\HtmlHelperExtensionsTests.cs" />
<Compile Include="Mvc\Routes\ShellRouteTests.cs" /> <Compile Include="Mvc\Routes\ShellRouteTests.cs" />
<Compile Include="Mvc\Routes\UrlPrefixTests.cs" /> <Compile Include="Mvc\Routes\UrlPrefixTests.cs" />
<Compile Include="Stubs\StubReportsCoordinator.cs" />
<Compile Include="Stubs\StubVirtualPathProvider.cs" /> <Compile Include="Stubs\StubVirtualPathProvider.cs" />
<Compile Include="Stubs\StubFileSystem.cs" /> <Compile Include="Stubs\StubFileSystem.cs" />
<Compile Include="Stubs\StubAppDataFolder.cs" /> <Compile Include="Stubs\StubAppDataFolder.cs" />

View File

@@ -0,0 +1,14 @@
using Orchard.Reports;
using Orchard.Reports.Services;
namespace Orchard.Tests.Stubs {
public class StubReportsCoordinator : IReportsCoordinator {
public void Add(string reportKey, ReportEntryType type, string message) {
}
public void Register(string reportKey, string activityName, string title) {
}
}
}

View File

@@ -21,20 +21,16 @@ namespace Orchard.Data.Migration {
private readonly IRepository<DataMigrationRecord> _dataMigrationRepository; private readonly IRepository<DataMigrationRecord> _dataMigrationRepository;
private readonly IExtensionManager _extensionManager; private readonly IExtensionManager _extensionManager;
private readonly IDataMigrationInterpreter _interpreter; private readonly IDataMigrationInterpreter _interpreter;
private readonly IReportsCoordinator _reportsCoordinator;
public DataMigrationManager( public DataMigrationManager(
IEnumerable<IDataMigration> dataMigrations, IEnumerable<IDataMigration> dataMigrations,
IRepository<DataMigrationRecord> dataMigrationRepository, IRepository<DataMigrationRecord> dataMigrationRepository,
IExtensionManager extensionManager, IExtensionManager extensionManager,
IDataMigrationInterpreter interpreter, IDataMigrationInterpreter interpreter) {
IReportsCoordinator reportsCoordinator
) {
_dataMigrations = dataMigrations; _dataMigrations = dataMigrations;
_dataMigrationRepository = dataMigrationRepository; _dataMigrationRepository = dataMigrationRepository;
_extensionManager = extensionManager; _extensionManager = extensionManager;
_interpreter = interpreter; _interpreter = interpreter;
_reportsCoordinator = reportsCoordinator;
Logger = NullLogger.Instance; Logger = NullLogger.Instance;
} }