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(); }
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.IsInstanceOfType<SolrNetListener<Entity>>(listener); Assert.AreEqual(addParameters, ((IListenerSettings)listener).AddParameters); }
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.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); }
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.AreEqual(2, nhConfig.EventListeners.PostInsertEventListeners.Length); }