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); }
public void QueryAll_with_pagination() { var querySerializer = new MSolrQuerySerializer(); querySerializer.serialize += _ => "id:123456"; var serviceLocator = new MServiceLocator(); serviceLocator.getService = MServiceLocator.Table(new Dictionary <System.Type, object> { { typeof(ISolrReadOnlyOperations <Entity>), mockSolr }, { typeof(ISolrQuerySerializer), querySerializer }, }); ServiceLocator.SetLocatorProvider(() => serviceLocator); mockSolr.queryStringOptions += (s, o) => { Assert.Equal("id:123456", s); Assert.Equal(5, o.Rows); Assert.Equal(3, o.Start); Assert.Equal(1, o.OrderBy.Count); Assert.Equal("pepe asc", o.OrderBy.First().ToString()); return(new SolrQueryResults <Entity>()); }; mockSolr.queryStringOptions &= x => x.Expect(1); using (var session = new SolrSession(sessionFactory.OpenSession())) { var entities = session.CreateSolrQuery(new SolrQueryByField("id", "123456")) .SetMaxResults(5) .SetFirstResult(3) .SetSort(Order.Asc("pepe")) .List <Entity>(); } }
public void QueryAll_with_pagination() { var querySerializer = new MSolrQuerySerializer(); querySerializer.serialize += _ => "id:123456"; var serviceLocator = new MServiceLocator(); serviceLocator.getService = MServiceLocator.Table(new Dictionary<System.Type, object> { {typeof (ISolrReadOnlyOperations<Entity>), mockSolr}, {typeof (ISolrQuerySerializer), querySerializer}, }); ServiceLocator.SetLocatorProvider(() => serviceLocator); mockSolr.queryStringOptions += (s, o) => { Assert.AreEqual("id:123456", s); Assert.AreEqual(5, o.Rows); Assert.AreEqual(3, o.Start); Assert.AreEqual(1, o.OrderBy.Count); Assert.AreEqual("pepe asc", o.OrderBy.First().ToString()); return new SolrQueryResults<Entity>(); }; mockSolr.queryStringOptions &= x => x.Expect(1); using (var session = new SolrSession(sessionFactory.OpenSession())) { var entities = session.CreateSolrQuery(new SolrQueryByField("id", "123456")) .SetMaxResults(5) .SetFirstResult(3) .SetSort(Order.Asc("pepe")) .List<Entity>(); } }
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); }
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); }
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); }
public void QueryAll() { var serviceLocator = new MServiceLocator(); serviceLocator.getService += t => { if (t == typeof (ISolrReadOnlyOperations<Entity>)) return mockSolr; throw new Exception("unexpected type"); }; ServiceLocator.SetLocatorProvider(() => serviceLocator); mockSolr.queryStringOptions += (q, opt) => { Assert.AreEqual("*:*", q); return new SolrQueryResults<Entity>(); }; mockSolr.queryStringOptions &= x => x.Expect(1); using (var session = new SolrSession(sessionFactory.OpenSession())) { var entities = session.CreateSolrQuery("*:*").List<Entity>(); } }
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.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 QueryAll() { var serviceLocator = new MServiceLocator(); serviceLocator.getService += t => { if (t == typeof(ISolrReadOnlyOperations <Entity>)) { return(mockSolr); } throw new Exception("unexpected type"); }; ServiceLocator.SetLocatorProvider(() => serviceLocator); mockSolr.queryStringOptions += (q, opt) => { Assert.Equal("*:*", q); return(new SolrQueryResults <Entity>()); }; mockSolr.queryStringOptions &= x => x.Expect(1); using (var session = new SolrSession(sessionFactory.OpenSession())) { var entities = session.CreateSolrQuery("*:*").List <Entity>(); } }