Skip to content

Commit

Permalink
structuremap solr intergration update to standard 2.0
Browse files Browse the repository at this point in the history
  • Loading branch information
Ciprian_Mocanu committed Jan 25, 2018
1 parent caa1a04 commit 5cd850e
Show file tree
Hide file tree
Showing 14 changed files with 116 additions and 164 deletions.
12 changes: 6 additions & 6 deletions Castle.Facilities.SolrNetIntegration/SolrNetFacility.cs
Original file line number Diff line number Diff line change
Expand Up @@ -256,18 +256,18 @@ public ISolrCoreAdmin BuildCoreAdmin(string url)
{
var conn = new SolrConnection(url);
return BuildCoreAdmin(conn);
}

}

/// <summary>
/// Builds an instance of core admin manager with the specified connection
/// </summary>
/// <param name="conn"></param>
/// <returns></returns>
/// <returns></returns>
public ISolrCoreAdmin BuildCoreAdmin(ISolrConnection conn)
{
return new SolrCoreAdmin(conn, Kernel.Resolve<ISolrHeaderResponseParser>(), Kernel.Resolve<ISolrStatusResponseParser>());
}

}

private static void ValidateUrl(string s)
{
try
Expand All @@ -282,4 +282,4 @@ private static void ValidateUrl(string s)

private readonly List<SolrCore> cores = new List<SolrCore>();
}
}
}
13 changes: 0 additions & 13 deletions NHibernate.SolrNet.Tests/packages.config

This file was deleted.

18 changes: 0 additions & 18 deletions SolrNet.Tests.Integration/App.config

This file was deleted.

39 changes: 0 additions & 39 deletions SolrNet.Tests/Properties/AssemblyInfo.cs

This file was deleted.

11 changes: 0 additions & 11 deletions StructureMap.SolrNetIntegration.Tests/App.config

This file was deleted.

18 changes: 12 additions & 6 deletions StructureMap.SolrNetIntegration.Tests/StructureMapFixture.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
using SolrNet.Exceptions;
using SolrNet.Impl;
using System.Reflection;
using Microsoft.Extensions.Configuration;
using StructureMap.SolrNetIntegration.Config;

namespace StructureMap.SolrNetIntegration.Tests
Expand All @@ -17,25 +18,30 @@ public class StructureMapFixture

public StructureMapFixture()
{
var solrConfig = (SolrConfigurationSection)ConfigurationManager.GetSection("solr");
Container= new Container (c => c.IncludeRegistry(new SolrNetRegistry(solrConfig.SolrServers)));
var configuration = new ConfigurationBuilder()
.SetBasePath("D:/repos/SolrNet/StructureMap.SolrNetIntegration.Tests/")
.AddJsonFile("cores.json")
.Build()
.GetSection("solr");

Container = new Container(c => c.IncludeRegistry(new SolrNetRegistry(configuration.Get<SolrServers>())));
}

[Fact]
public void ResolveSolrOperations()
{
var m = Container.GetInstance<ISolrOperations<Entity>>();
var m = Container.GetInstance<ISolrOperations<Entity>>();
Assert.NotNull(m);
}

[Fact]
public void RegistersSolrConnectionWithAppConfigServerUrl()
{
var instanceKey = "entity" + typeof(SolrConnection);
var instanceKey = "entity" + typeof(SolrConnection);

var solrConnection = (SolrConnection)Container.GetInstance<ISolrConnection>(instanceKey);

Assert.Equal("http://localhost:8983/solr/collection0", solrConnection.ServerURL);
Assert.Equal("http://localhost:8983/solr/collection1", solrConnection.ServerURL);
}

[Fact]
Expand Down Expand Up @@ -127,6 +133,6 @@ public void DictionaryDocument_Serializer()




}
}
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
using System;
using System.Collections.Generic;
using System.Configuration;
using Xunit;

using System.IO;
using System.Reflection;
using Microsoft.Extensions.Configuration;
using SolrNet;
using Xunit;

using StructureMap.SolrNetIntegration.Config;

namespace StructureMap.SolrNetIntegration.Tests {
Expand All @@ -14,8 +18,13 @@ public class StructureMapIntegrationFixture {

public StructureMapIntegrationFixture()
{
var solrConfig = (SolrConfigurationSection)ConfigurationManager.GetSection("solr");
Container = new Container (c => c.IncludeRegistry(new SolrNetRegistry(solrConfig.SolrServers)));
var configuration = new ConfigurationBuilder()
.SetBasePath("D:/repos/SolrNet/StructureMap.SolrNetIntegration.Tests/")
.AddJsonFile("cores.json")
.Build()
.GetSection("solr");

Container = new Container(c => c.IncludeRegistry(new SolrNetRegistry(configuration.Get<SolrServers>())));
}


Expand Down Expand Up @@ -59,4 +68,4 @@ public void DictionaryDocument_add()


}
}
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using System.Configuration;
using System.Configuration;
using Microsoft.Extensions.Configuration;
using Xunit;
using SolrNet;
using SolrNet.Impl;
Expand All @@ -14,17 +15,20 @@ public class StructureMapMultiCoreFixture
private readonly IContainer Container;
public StructureMapMultiCoreFixture()
{
var solrConfig = (SolrConfigurationSection)ConfigurationManager.GetSection("solr");

Container = new Container(c=>
var configuration = new ConfigurationBuilder()
.SetBasePath("D:/repos/SolrNet/StructureMap.SolrNetIntegration.Tests/")
.AddJsonFile("cores.json")
.Build()
.GetSection("solr");
Container = new Container(c =>
{
c.Scan(s =>
{
s.Assembly(typeof(SolrNetRegistry).Assembly);
s.Assembly(typeof(SolrConnection).Assembly);
s.WithDefaultConventions();
});
c.AddRegistry(new SolrNetRegistry(solrConfig.SolrServers));
c.AddRegistry(new SolrNetRegistry(configuration.Get<SolrServers>()));
});
}

Expand All @@ -51,4 +55,4 @@ public void Same_document_type_different_core_url()


}
}
}
18 changes: 18 additions & 0 deletions StructureMap.SolrNetIntegration.Tests/app.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
<?xml version="1.0"?>
<configuration>

<configSections>
<section name="solr" type="StructureMap.SolrNetIntegration.Config.SolrConfigurationSection, StructureMap.SolrNetIntegration"/>
</configSections>
<appSettings>
<add key="bla" value="alb"/>
</appSettings>
<solr>
<server id="entity" url="http://localhost:8983/solr/collection1" documentType="StructureMap.SolrNetIntegration.Tests.Entity, StructureMap.SolrNetIntegration.Tests"/>
<server id="entity2" url="http://localhost:8983/solr/core0" documentType="StructureMap.SolrNetIntegration.Tests.Entity2, StructureMap.SolrNetIntegration.Tests"/>
<server id="entity3" url="http://localhost:8983/solr/core1" documentType="StructureMap.SolrNetIntegration.Tests.Entity2, StructureMap.SolrNetIntegration.Tests"/>
</solr>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6"/>
</startup>
</configuration>
21 changes: 21 additions & 0 deletions StructureMap.SolrNetIntegration.Tests/cores.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"solr": {
"SolrServerElements": [
{
"id": "entity",
"url": "http://localhost:8983/solr/collection1",
"documentType": "StructureMap.SolrNetIntegration.Tests.Entity, StructureMap.SolrNetIntegration.Tests"
},
{
"id": "entity2",
"url": "http://localhost:8983/solr/core0",
"documentType": "StructureMap.SolrNetIntegration.Tests.Entity2, StructureMap.SolrNetIntegration.Tests"
},
{
"id": "entity3",
"url": "http://localhost:8983/solr/core1",
"documentType": "StructureMap.SolrNetIntegration.Tests.Entity2, StructureMap.SolrNetIntegration.Tests"
}
]
}
}
12 changes: 0 additions & 12 deletions StructureMap.SolrNetIntegration/Config/SolrConfigurationSection.cs

This file was deleted.

29 changes: 11 additions & 18 deletions StructureMap.SolrNetIntegration/Config/SolrServerElement.cs
Original file line number Diff line number Diff line change
@@ -1,37 +1,30 @@
using System.Configuration;


namespace StructureMap.SolrNetIntegration.Config
{
public class SolrServerElement : ConfigurationElement
public class SolrServerElement
{
private const string ID = "id";
private const string URL = "url";
private const string DOCUMENT_TYPE = "documentType";

[ConfigurationProperty(ID, IsKey = true, IsRequired = true)]
public string Id
{
get { return base[ID].ToString(); }
set { base[ID] = value; }
get;
set;
}

[ConfigurationProperty(URL, IsKey = true, IsRequired = true)]
public string Url
public string Url
{
get { return base[URL].ToString(); }
set { base[URL] = value; }
get;
set;
}

[ConfigurationProperty(DOCUMENT_TYPE, IsKey = true, IsRequired = true)]
public string DocumentType
{
get { return base[DOCUMENT_TYPE].ToString(); }
set { base[DOCUMENT_TYPE] = value; }
get;
set;
}

public override string ToString()
{
return string.Format("Id: {0} Url: {1} DocType: {2}", Id, Url, DocumentType);
return $"Id: {Id} Url: {Url} DocType: {DocumentType}";
}
}
}
}
Loading

0 comments on commit 5cd850e

Please sign in to comment.