Example #1
0
        private static Configuration SetupNHibernate()
        {
            var cfg = ConfigurationExtensions.GetEmptyNHConfig();

            cfg.AddXmlString(
                @"<?xml version='1.0' encoding='utf-8' ?>
<hibernate-mapping xmlns='urn:nhibernate-mapping-2.2' default-lazy='false'>

  <class name='NHibernate.SolrNet.Tests.Parent, NHibernate.SolrNet.Tests'>
    <id name='Id'>
      <generator class='assigned'/>
    </id>
    
    <property name='ParentProp1'/>
    <bag name='Children' lazy='true' cascade='none' >
            <key column='parent_id'/>
            <one-to-many class='NHibernate.SolrNet.Tests.Child, NHibernate.SolrNet.Tests'/>
        </bag>
  </class>

  <class name='NHibernate.SolrNet.Tests.Child, NHibernate.SolrNet.Tests'>
    <id name='Id'>
      <generator class='assigned'/>
    </id>
    
    <property name='ChildProp1'/>
    
  </class>


</hibernate-mapping>");
            new SchemaExport(cfg).Execute(false, true, false);
            return(cfg);
        }
Example #2
0
        public void Configure_with_addparameters()
        {
            var nhConfig = ConfigurationExtensions.GetNhConfig();
            var mapper   = new MReadOnlyMappingManager();

            mapper.getRegisteredTypes += () => new[] { typeof(Entity) };
            var solr = new MSolrOperations <Entity>();

            var provider = new MServiceProvider();

            provider.getService += MServiceLocator.Table(new Dictionary <System.Type, object> {
                { typeof(IReadOnlyMappingManager), mapper },
                { typeof(ISolrOperations <Entity>), solr },
            });

            var addParameters = new AddParameters {
                CommitWithin = 4343
            };
            var helper = new CfgHelper(provider);

            helper.Configure(nhConfig, true, addParameters);
            var listener = nhConfig.EventListeners.PostInsertEventListeners[0];

            Assert.IsType <SolrNetListener <Entity> >(listener);
            Assert.Equal(addParameters, ((IListenerSettings)listener).AddParameters);
        }
Example #3
0
        public void Configure_from_servicelocator()
        {
            var mapper = new MReadOnlyMappingManager();

            mapper.getRegisteredTypes += () => new[] { typeof(Entity) };

            var serviceLocator = new MServiceLocator();

            serviceLocator.getInstance += MServiceLocator.One <IReadOnlyMappingManager>(mapper);

            var solr = new MSolrOperations <Entity>();

            serviceLocator.getService += MServiceLocator.One <ISolrOperations <Entity> >(solr);
            ServiceLocator.SetLocatorProvider(() => serviceLocator);
            var nhConfig = ConfigurationExtensions.GetNhConfig();
            var helper   = new CfgHelper();

            helper.Configure(nhConfig, true);
            Assert.True(nhConfig.EventListeners.PostInsertEventListeners.Length > 0);
            Assert.True(nhConfig.EventListeners.PostUpdateEventListeners.Length > 0);
            Assert.True(nhConfig.EventListeners.PostDeleteEventListeners.Length > 0);
            var listener = nhConfig.EventListeners.PostInsertEventListeners[0];

            Assert.IsType <SolrNetListener <Entity> >(listener);
        }
Example #4
0
        public void Configure_from_serviceprovider()
        {
            var nhConfig = ConfigurationExtensions.GetNhConfig();

            var provider = new MServiceProvider();
            var mapper   = new MReadOnlyMappingManager();

            mapper.getRegisteredTypes += () => new[] { typeof(Entity) };

            var solr = new MSolrOperations <Entity>();

            provider.getService += MServiceLocator.Table(new Dictionary <System.Type, object> {
                { typeof(IReadOnlyMappingManager), mapper },
                { typeof(ISolrOperations <Entity>), solr },
            });
            var helper = new CfgHelper(provider);

            helper.Configure(nhConfig, true);
            Assert.True(nhConfig.EventListeners.PostInsertEventListeners.Length > 0);
            Assert.True(nhConfig.EventListeners.PostUpdateEventListeners.Length > 0);
            Assert.True(nhConfig.EventListeners.PostDeleteEventListeners.Length > 0);
            var listener = nhConfig.EventListeners.PostInsertEventListeners[0];

            Assert.IsType <SolrNetListener <Entity> >(listener);
        }
Example #5
0
        public void Does_not_override_existing_listeners()
        {
            var nhConfig = ConfigurationExtensions.GetNhConfig();

            var mockListener = new MPostInsertEventListener();

            nhConfig.SetListener(ListenerType.PostInsert, mockListener);

            var mapper = new MReadOnlyMappingManager();

            mapper.getRegisteredTypes += () => new[] { typeof(Entity) };

            var solr = new MSolrOperations <Entity>();

            var provider = new MServiceProvider();

            provider.getService += MServiceLocator.Table(new Dictionary <System.Type, object> {
                { typeof(IReadOnlyMappingManager), mapper },
                { typeof(ISolrOperations <Entity>), solr },
            });

            var helper = new CfgHelper(provider);

            helper.Configure(nhConfig, true);
            Assert.Equal(2, nhConfig.EventListeners.PostInsertEventListeners.Length);
        }
Example #6
0
        public void FixtureSetup()
        {
            var nhConfig = ConfigurationExtensions.GetNhConfig();

            mockSolr = MockRepository.GenerateMock <ISolrOperations <Entity> >();
            var provider = MockRepository.GenerateMock <IServiceProvider>();
            var mapper   = MockRepository.GenerateMock <IReadOnlyMappingManager>();

            provider.Expect(x => x.GetService(typeof(IReadOnlyMappingManager))).Return(mapper);
            NHHelper.SetListener(nhConfig, GetSolrNetListener(mockSolr));
            new SchemaExport(nhConfig).Execute(false, true, false);
            sessionFactory = nhConfig.BuildSessionFactory();
        }
Example #7
0
        private Configuration SetupNHibernate()
        {
            var cfg = ConfigurationExtensions.GetEmptyNHConfig();

            cfg.AddXmlString(@"<?xml version='1.0' encoding='utf-8' ?>
<hibernate-mapping xmlns='urn:nhibernate-mapping-2.2' default-lazy='false'>
  <class name='NHibernate.SolrNet.Tests.Entity, NHibernate.SolrNet.Tests'>
    <id name='Id'>
      <generator class='assigned'/>
    </id>
    <property name='Description'/>
  </class>
</hibernate-mapping>");
            new SchemaExport(cfg).Execute(false, true, false);
            return(cfg);
        }
Example #8
0
        public void FixtureSetup()
        {
            var nhConfig = ConfigurationExtensions.GetNhConfig();

            mockSolr = new MSolrOperations <Entity>();
            var mapper   = new MReadOnlyMappingManager();
            var provider = new MServiceProvider();

            provider.getService += t => {
                if (t == typeof(IReadOnlyMappingManager))
                {
                    return(mapper);
                }
                throw new ArgumentException("Unexpected");
            };
            NHHelper.SetListener(nhConfig, GetSolrNetListener(mockSolr));
            new SchemaExport(nhConfig).Execute(false, true, false);
            sessionFactory = nhConfig.BuildSessionFactory();
        }
Example #9
0
        public void Does_not_override_existing_listeners()
        {
            var nhConfig     = ConfigurationExtensions.GetNhConfig();
            var mockListener = MockRepository.GenerateMock <IPostInsertEventListener>();

            nhConfig.SetListener(ListenerType.PostInsert, mockListener);

            var provider = MockRepository.GenerateMock <IServiceProvider>();
            var mapper   = MockRepository.GenerateMock <IReadOnlyMappingManager>();

            mapper.Expect(x => x.GetRegisteredTypes()).Return(new[] { typeof(Entity) });
            provider.Expect(x => x.GetService(typeof(IReadOnlyMappingManager))).Return(mapper);
            var solr = MockRepository.GenerateMock <ISolrOperations <Entity> >();

            provider.Expect(x => x.GetService(typeof(ISolrOperations <Entity>))).Return(solr);

            var helper = new CfgHelper(provider);

            helper.Configure(nhConfig, true);
            Assert.AreEqual(2, nhConfig.EventListeners.PostInsertEventListeners.Length);
        }
Example #10
0
        public void Configure_from_serviceprovider()
        {
            var nhConfig = ConfigurationExtensions.GetNhConfig();
            var provider = MockRepository.GenerateMock <IServiceProvider>();
            var mapper   = MockRepository.GenerateMock <IReadOnlyMappingManager>();

            mapper.Expect(x => x.GetRegisteredTypes()).Return(new[] { typeof(Entity) });
            var solr = MockRepository.GenerateMock <ISolrOperations <Entity> >();

            provider.Expect(x => x.GetService(typeof(IReadOnlyMappingManager))).Return(mapper);
            provider.Expect(x => x.GetService(typeof(ISolrOperations <Entity>))).Return(solr);
            var helper = new CfgHelper(provider);

            helper.Configure(nhConfig, true);
            Assert.GreaterThan(nhConfig.EventListeners.PostInsertEventListeners.Length, 0);
            Assert.GreaterThan(nhConfig.EventListeners.PostUpdateEventListeners.Length, 0);
            Assert.GreaterThan(nhConfig.EventListeners.PostDeleteEventListeners.Length, 0);
            var listener = nhConfig.EventListeners.PostInsertEventListeners[0];

            Assert.IsInstanceOfType <SolrNetListener <Entity> >(listener);
        }
Example #11
0
        public void Configure_with_addparameters()
        {
            var nhConfig = ConfigurationExtensions.GetNhConfig();
            var provider = MockRepository.GenerateMock <IServiceProvider>();
            var mapper   = MockRepository.GenerateMock <IReadOnlyMappingManager>();

            mapper.Expect(x => x.GetRegisteredTypes()).Return(new[] { typeof(Entity) });
            var solr = MockRepository.GenerateMock <ISolrOperations <Entity> >();

            provider.Expect(x => x.GetService(typeof(IReadOnlyMappingManager))).Return(mapper);
            provider.Expect(x => x.GetService(typeof(ISolrOperations <Entity>))).Return(solr);
            var addParameters = new AddParameters {
                CommitWithin = 4343
            };
            var helper = new CfgHelper(provider);

            helper.Configure(nhConfig, true, addParameters);
            var listener = nhConfig.EventListeners.PostInsertEventListeners[0];

            Assert.IsInstanceOfType <SolrNetListener <Entity> >(listener);
            Assert.AreEqual(addParameters, ((IListenerSettings)listener).AddParameters);
        }