private static IHibernateConfiguration GetTestAssemblyHibernateConfiguration(string assemblyPath)
        {
            var configuration = ConfigurationManager.OpenExeConfiguration(assemblyPath);
            var section       = configuration.GetSection(CfgXmlHelper.CfgSectionName);

            return(HibernateConfiguration.FromAppConfig(section.SectionInformation.GetRawXml()));
        }
        public override IHibernateConfiguration GetConfiguration()
        {
            ConfigurationSection configurationSection = _configuration.GetSection(CfgXmlHelper.CfgSectionName);
            var xml = configurationSection?.SectionInformation.GetRawXml();

            return(xml == null ? null : HibernateConfiguration.FromAppConfig(xml));
        }
Пример #3
0
        public static IHibernateConfiguration GetTestAssemblyHibernateConfiguration()
        {
            var assemblyPath =
                Path.Combine(TestContext.CurrentContext.TestDirectory, Path.GetFileName(typeof(TestsContext).Assembly.Location));
            var configuration = ConfigurationManager.OpenExeConfiguration(assemblyPath);
            var section       = configuration.GetSection(CfgXmlHelper.CfgSectionName);

            return(HibernateConfiguration.FromAppConfig(section.SectionInformation.GetRawXml()));
        }
Пример #4
0
        internal static string GetConnectionString()
        {
            HibernateConfiguration hc = System.Configuration.ConfigurationManager.GetSection(CfgXmlHelper.CfgSectionName) as HibernateConfiguration;

            if (hc != null && hc.SessionFactory != null)
            {
                return(hc.SessionFactory.Properties[Environment.ConnectionString]);
            }
            return(null);
        }
Пример #5
0
        public IHibernateConfiguration Build()
        {
            var configuration = new HibernateConfiguration(this.databaseProvider);

#if DEBUG
            configuration.Properties.Add("generate_statistics", "true");
#endif

            return(configuration);
        }
Пример #6
0
        /// <summary>
        /// Whether or not the DB we're using is MySql
        /// </summary>
        /// <returns></returns>
        internal static bool IsMySqlDatabase()
        {
            HibernateConfiguration hc = System.Configuration.ConfigurationManager.GetSection(CfgXmlHelper.CfgSectionName) as HibernateConfiguration;

            if (hc != null && hc.SessionFactory != null)
            {
                var driver = hc.SessionFactory.Properties[Environment.ConnectionDriver];
                return(!string.IsNullOrWhiteSpace(driver) && driver.EndsWith("MySqlDataDriver"));
            }
            return(false);
        }
Пример #7
0
 protected void OpenSession()
 {
     if (_session == null)
     {
         _session = HibernateConfiguration.GetSession();
     }
     else if (!_session.IsOpen)
     {
         _session = HibernateConfiguration.GetSession();
     }
 }
Пример #8
0
        public void FactoryName()
        {
            string xml =
                @"<?xml version='1.0' encoding='utf-8' ?>
<hibernate-configuration xmlns='urn:nhibernate-configuration-2.2'>
	<session-factory name='MyFactoryName'>
	</session-factory>
</hibernate-configuration>";

            XmlTextReader          xtr = new XmlTextReader(xml, XmlNodeType.Document, null);
            HibernateConfiguration hc  = new HibernateConfiguration(xtr);

            Assert.AreEqual("MyFactoryName", hc.SessionFactory.Name);
        }
Пример #9
0
        public void ByteCodeProvider()
        {
            var xml =
                @"<?xml version='1.0' encoding='utf-8' ?>
<hibernate-configuration xmlns='urn:nhibernate-configuration-2.2'>
	<bytecode-provider type='test'/>
	<session-factory>
	</session-factory>
</hibernate-configuration>";

            var hc = HibernateConfiguration.FromAppConfig(xml);

            Assert.That(hc.ByteCodeProviderType, Is.EqualTo("test"));
        }
Пример #10
0
 public void TestDbAccess()
 {
     using (var session = HibernateConfiguration.GetSession())
     {
         var d    = new Discipline();
         var repo = new DisciplineRepository();
         d.Name = "Football";
         if (!repo.ContainsName(d.Name))
         {
             repo.SaveOrUpdate(d);
         }
         var result = repo.GetAll();
         Assert.IsTrue(result.Count > 0);
     }
 }
Пример #11
0
        public void Listeners()
        {
            string xml =
                @"<?xml version='1.0' encoding='utf-8' ?>
<hibernate-configuration xmlns='urn:nhibernate-configuration-2.2'>
	<session-factory>
		<listener class='AClass' type='auto-flush'/>
	</session-factory>
</hibernate-configuration>";

            XmlTextReader          xtr = new XmlTextReader(xml, XmlNodeType.Document, null);
            HibernateConfiguration hc  = new HibernateConfiguration(xtr);

            Assert.AreEqual(1, hc.SessionFactory.Listeners.Count);
            Assert.AreEqual("AClass", hc.SessionFactory.Listeners[0].Class);
            Assert.AreEqual(ListenerType.Autoflush, hc.SessionFactory.Listeners[0].Type);
        }
Пример #12
0
        public void CollectionsCache()
        {
            string xml =
                @"<?xml version='1.0' encoding='utf-8' ?>
<hibernate-configuration xmlns='urn:nhibernate-configuration-2.2'>
	<session-factory>
		<collection-cache collection='Collection1' usage='nonstrict-read-write' region='ARegion'/>
	</session-factory>
</hibernate-configuration>";

            XmlTextReader          xtr = new XmlTextReader(xml, XmlNodeType.Document, null);
            HibernateConfiguration hc  = new HibernateConfiguration(xtr);

            Assert.AreEqual(1, hc.SessionFactory.CollectionsCache.Count);
            Assert.AreEqual("Collection1", hc.SessionFactory.CollectionsCache[0].Collection);
            Assert.AreEqual(EntityCacheUsage.NonStrictReadWrite, hc.SessionFactory.CollectionsCache[0].Usage);
            Assert.AreEqual("ARegion", hc.SessionFactory.CollectionsCache[0].Region);
        }
Пример #13
0
        public void IgnoreSystemOutOfAppConfig()
        {
            IHibernateConfiguration hc = ConfigurationProvider.Current.GetConfiguration();
            string xml =
                @"<?xml version='1.0' encoding='utf-8' ?>
<hibernate-configuration xmlns='urn:nhibernate-configuration-2.2'>
		<bytecode-provider type='lcg'/>
		<reflection-optimizer use='false'/>
		<session-factory name='MyFactoryName'>
		</session-factory>
</hibernate-configuration>";

            XmlTextReader          xtr   = new XmlTextReader(xml, XmlNodeType.Document, null);
            HibernateConfiguration newhc = new HibernateConfiguration(xtr);

            Assert.AreEqual(hc.ByteCodeProviderType, newhc.ByteCodeProviderType);
            Assert.AreEqual(hc.UseReflectionOptimizer, newhc.UseReflectionOptimizer);
        }
Пример #14
0
        public void ClassesCache()
        {
            string xml =
                @"<?xml version='1.0' encoding='utf-8' ?>
<hibernate-configuration xmlns='urn:nhibernate-configuration-2.2'>
	<session-factory>
		<class-cache class='Class1' usage='read-only' include='non-lazy' region='ARegion'/>
	</session-factory>
</hibernate-configuration>";

            XmlTextReader          xtr = new XmlTextReader(xml, XmlNodeType.Document, null);
            HibernateConfiguration hc  = new HibernateConfiguration(xtr);

            Assert.AreEqual(1, hc.SessionFactory.ClassesCache.Count);
            Assert.AreEqual("Class1", hc.SessionFactory.ClassesCache[0].Class);
            Assert.AreEqual(EntityCacheUsage.Readonly, hc.SessionFactory.ClassesCache[0].Usage);
            Assert.AreEqual(ClassCacheInclude.NonLazy, hc.SessionFactory.ClassesCache[0].Include);
            Assert.AreEqual("ARegion", hc.SessionFactory.ClassesCache[0].Region);
        }
Пример #15
0
        public void Properties()
        {
            string xml =
                @"<?xml version='1.0' encoding='utf-8' ?>
<hibernate-configuration xmlns='urn:nhibernate-configuration-2.2'>
	<session-factory>
		<property name='connection.provider'>Value of connection.provider</property>
		<property name='default_schema'>Value of default_schema</property>
	</session-factory>
</hibernate-configuration>";

            XmlTextReader          xtr = new XmlTextReader(xml, XmlNodeType.Document, null);
            HibernateConfiguration hc  = new HibernateConfiguration(xtr);

            Assert.AreEqual(2, hc.SessionFactory.Properties.Count);
            Assert.IsTrue(hc.SessionFactory.Properties.ContainsKey("connection.provider"));
            Assert.IsTrue(hc.SessionFactory.Properties.ContainsKey("default_schema"));
            Assert.AreEqual("Value of connection.provider", hc.SessionFactory.Properties["connection.provider"]);
            Assert.AreEqual("Value of default_schema", hc.SessionFactory.Properties["default_schema"]);
        }
Пример #16
0
        public void IgnoreSystemOutOfAppConfig()
        {
            Assume.That(TestsContext.ExecutingWithVsTest, Is.False);

            IHibernateConfiguration hc = ConfigurationManager.GetSection("hibernate-configuration") as IHibernateConfiguration;
            string xml =
                @"<?xml version='1.0' encoding='utf-8' ?>
<hibernate-configuration xmlns='urn:nhibernate-configuration-2.2'>
		<bytecode-provider type='lcg'/>
		<reflection-optimizer use='false'/>
		<session-factory name='MyFactoryName'>
		</session-factory>
</hibernate-configuration>";

            XmlTextReader          xtr   = new XmlTextReader(xml, XmlNodeType.Document, null);
            HibernateConfiguration newhc = new HibernateConfiguration(xtr);

            Assert.AreEqual(hc.ByteCodeProviderType, newhc.ByteCodeProviderType);
            Assert.AreEqual(hc.UseReflectionOptimizer, newhc.UseReflectionOptimizer);
        }
Пример #17
0
        public void ObjectsFactory()
        {
            var xml =
                @"<?xml version='1.0' encoding='utf-8' ?>
<hibernate-configuration xmlns='urn:nhibernate-configuration-2.2'>
		<objects-factory type='test'/>
		<session-factory>
		</session-factory>
</hibernate-configuration>";

            HibernateConfiguration hc;

            using (var xtr = new XmlTextReader(xml, XmlNodeType.Document, null))
            {
                hc = new HibernateConfiguration(xtr);
                Assert.That(hc.ObjectsFactoryType, Is.Null);
            }

            hc = HibernateConfiguration.FromAppConfig(xml);
            Assert.That(hc.ObjectsFactoryType, Is.EqualTo("test"));
        }
Пример #18
0
        public void Mappings()
        {
            string xml =
                @"<?xml version='1.0' encoding='utf-8' ?>
<hibernate-configuration xmlns='urn:nhibernate-configuration-2.2'>
	<session-factory>
		<mapping file='AFile'/>
		<mapping assembly='AAssembly'/>
		<mapping assembly='AAssemblyWithResource' resource='AResource'/>
		<mapping assembly='AAssemblyWithResource' resource='AnotherResource'/>
	</session-factory>
</hibernate-configuration>";

            XmlTextReader          xtr = new XmlTextReader(xml, XmlNodeType.Document, null);
            HibernateConfiguration hc  = new HibernateConfiguration(xtr);

            Assert.AreEqual(4, hc.SessionFactory.Mappings.Count);
            Assert.IsTrue(hc.SessionFactory.Mappings.Contains(new MappingConfiguration("AFile")));
            Assert.IsTrue(hc.SessionFactory.Mappings.Contains(new MappingConfiguration("AAssembly", null)));
            Assert.IsTrue(hc.SessionFactory.Mappings.Contains(new MappingConfiguration("AAssemblyWithResource", "AResource")));
            Assert.IsTrue(hc.SessionFactory.Mappings.Contains(new MappingConfiguration("AAssemblyWithResource", "AnotherResource")));
        }
 object IConfigurationSectionHandler.Create(object parent, object configContext, XmlNode section)
 {
     return(HibernateConfiguration.FromAppConfig(section));
 }