mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-10-15 03:25:23 +08:00
Corrected SessionFactoryBuilder tests
--HG-- branch : dev
This commit is contained in:
@@ -2,8 +2,10 @@
|
|||||||
using System.Data.SqlClient;
|
using System.Data.SqlClient;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using Autofac.Features.Metadata;
|
using Autofac.Features.Metadata;
|
||||||
|
using NHibernate.Tool.hbm2ddl;
|
||||||
using NUnit.Framework;
|
using NUnit.Framework;
|
||||||
using Orchard.Data.Providers;
|
using Orchard.Data.Providers;
|
||||||
|
using Orchard.Environment.Configuration;
|
||||||
using Orchard.Environment.Descriptor;
|
using Orchard.Environment.Descriptor;
|
||||||
using Orchard.Environment.Descriptor.Models;
|
using Orchard.Environment.Descriptor.Models;
|
||||||
using Orchard.Environment.ShellBuilders.Models;
|
using Orchard.Environment.ShellBuilders.Models;
|
||||||
@@ -51,29 +53,35 @@ namespace Orchard.Tests.Data.Builders {
|
|||||||
|
|
||||||
[Test, Ignore("Fix pending")]
|
[Test, Ignore("Fix pending")]
|
||||||
public void SqlCeSchemaShouldBeGeneratedAndUsable() {
|
public void SqlCeSchemaShouldBeGeneratedAndUsable() {
|
||||||
|
|
||||||
var recordDescriptors = new[] {
|
var recordDescriptors = new[] {
|
||||||
new RecordBlueprint {TableName = "Hello", Type = typeof (FooRecord)}
|
new RecordBlueprint {TableName = "Hello", Type = typeof (FooRecord)}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
var parameters = new SessionFactoryParameters {
|
||||||
|
Provider = "SqlCe",
|
||||||
|
DataFolder = _tempDataFolder,
|
||||||
|
RecordDescriptors = recordDescriptors
|
||||||
|
};
|
||||||
|
|
||||||
var manager = (IDataServicesProviderFactory) new DataServicesProviderFactory(new[] {
|
var manager = (IDataServicesProviderFactory) new DataServicesProviderFactory(new[] {
|
||||||
new Meta<CreateDataServicesProvider>(
|
new Meta<CreateDataServicesProvider>(
|
||||||
(dataFolder, connectionString) => new SqlCeDataServicesProvider(dataFolder, connectionString),
|
(dataFolder, connectionString) => new SqlCeDataServicesProvider(dataFolder, connectionString),
|
||||||
new Dictionary<string, object> {{"ProviderName", "SqlCe"}})
|
new Dictionary<string, object> {{"ProviderName", "SqlCe"}})
|
||||||
});
|
});
|
||||||
|
|
||||||
var parameters = new SessionFactoryParameters {
|
var configuration = manager
|
||||||
Provider = "SqlCe",
|
|
||||||
DataFolder = _tempDataFolder,
|
|
||||||
RecordDescriptors = recordDescriptors
|
|
||||||
};
|
|
||||||
var sessionFactory = manager
|
|
||||||
.CreateProvider(parameters)
|
.CreateProvider(parameters)
|
||||||
.BuildConfiguration(parameters)
|
.BuildConfiguration(parameters);
|
||||||
.BuildSessionFactory();
|
|
||||||
|
configuration.SetProperty("connection.release_mode", "on_close");
|
||||||
|
|
||||||
|
new SchemaExport(configuration).Execute(false, true, false);
|
||||||
|
|
||||||
|
var sessionFactory = configuration.BuildSessionFactory();
|
||||||
|
|
||||||
var session = sessionFactory.OpenSession();
|
var session = sessionFactory.OpenSession();
|
||||||
var foo = new FooRecord {Name = "hi there"};
|
var foo = new FooRecord {Name = "hi there", Id = 1};
|
||||||
session.Save(foo);
|
session.Save(foo);
|
||||||
session.Flush();
|
session.Flush();
|
||||||
session.Close();
|
session.Close();
|
||||||
@@ -104,12 +112,14 @@ namespace Orchard.Tests.Data.Builders {
|
|||||||
ConnectionString = "Data Source=.\\SQLEXPRESS;AttachDbFileName=" + databasePath + ";Integrated Security=True;User Instance=True;",
|
ConnectionString = "Data Source=.\\SQLEXPRESS;AttachDbFileName=" + databasePath + ";Integrated Security=True;User Instance=True;",
|
||||||
RecordDescriptors = recordDescriptors,
|
RecordDescriptors = recordDescriptors,
|
||||||
};
|
};
|
||||||
var sessionFactory = manager
|
|
||||||
|
var configuration = manager
|
||||||
.CreateProvider(parameters)
|
.CreateProvider(parameters)
|
||||||
.BuildConfiguration(parameters)
|
.BuildConfiguration(parameters);
|
||||||
.BuildSessionFactory();
|
|
||||||
|
|
||||||
|
new SchemaExport(configuration).Execute(false, true, false);
|
||||||
|
|
||||||
|
var sessionFactory = configuration.BuildSessionFactory();
|
||||||
|
|
||||||
var session = sessionFactory.OpenSession();
|
var session = sessionFactory.OpenSession();
|
||||||
var foo = new FooRecord { Name = "hi there" };
|
var foo = new FooRecord { Name = "hi there" };
|
||||||
|
Reference in New Issue
Block a user