Skip to content

Commit

Permalink
Fixed errors where AddParameters were not passed through into operations
Browse files Browse the repository at this point in the history
  • Loading branch information
richtea committed Jan 5, 2011
1 parent f443bcd commit 3fe68bf
Show file tree
Hide file tree
Showing 2 changed files with 128 additions and 3 deletions.
127 changes: 126 additions & 1 deletion SolrNet.Tests/SolrServerTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,130 @@
namespace SolrNet.Tests {
[TestFixture]
public class SolrServerTests {

[Test]
public void Add_single_doc_calls_operations_with_null_add_parameters()
{
var mocks = new MockRepository();
var basicServer = mocks.StrictMock<ISolrBasicOperations<TestDocument>>();
var mapper = mocks.StrictMock<IReadOnlyMappingManager>();
var validationManager = mocks.StrictMock<IMappingValidator>();
With.Mocks(mocks)
.Expecting(() =>
Expect.Call(
basicServer.AddWithBoost(Arg<IEnumerable<KeyValuePair<TestDocument, double?>>>.Is.Anything, Arg<AddParameters>.Is.Null))
.Repeat.Once())
.Verify(() =>
{
var s = new SolrServer<TestDocument>(basicServer, mapper, validationManager);
var t = new TestDocument();
s.Add(t);
});
}

[Test]
public void Add_single_doc_with_add_parameters_calls_operations_with_same_add_parameters()
{
var mocks = new MockRepository();
var basicServer = mocks.StrictMock<ISolrBasicOperations<TestDocument>>();
var mapper = mocks.StrictMock<IReadOnlyMappingManager>();
var validationManager = mocks.StrictMock<IMappingValidator>();
var parameters = new AddParameters { CommitWithin = 4343 };
With.Mocks(mocks)
.Expecting(() =>
Expect.Call(
basicServer.AddWithBoost(Arg<IEnumerable<KeyValuePair<TestDocument, double?>>>.Is.Anything, Arg<AddParameters>.Is.Equal(parameters)))
.Repeat.Once())
.Verify(() =>
{
var s = new SolrServer<TestDocument>(basicServer, mapper, validationManager);
var t = new TestDocument();
s.Add(t, parameters);
});
}

[Test]
public void AddWithBoost_single_doc_calls_operations_with_null_add_parameters()
{
var mocks = new MockRepository();
var basicServer = mocks.StrictMock<ISolrBasicOperations<TestDocument>>();
var mapper = mocks.StrictMock<IReadOnlyMappingManager>();
var validationManager = mocks.StrictMock<IMappingValidator>();
With.Mocks(mocks)
.Expecting(() =>
Expect.Call(
basicServer.AddWithBoost(Arg<IEnumerable<KeyValuePair<TestDocument, double?>>>.Is.Anything, Arg<AddParameters>.Is.Null))
.Repeat.Once())
.Verify(() =>
{
var s = new SolrServer<TestDocument>(basicServer, mapper, validationManager);
var t = new TestDocument();
s.AddWithBoost(t, 2.1);
});
}

[Test]
public void AddWithBoost_single_doc_with_add_parameters_calls_operations_with_same_add_parameters()
{
var mocks = new MockRepository();
var basicServer = mocks.StrictMock<ISolrBasicOperations<TestDocument>>();
var mapper = mocks.StrictMock<IReadOnlyMappingManager>();
var validationManager = mocks.StrictMock<IMappingValidator>();
var parameters = new AddParameters { CommitWithin = 4343 };
With.Mocks(mocks)
.Expecting(() =>
Expect.Call(
basicServer.AddWithBoost(Arg<IEnumerable<KeyValuePair<TestDocument, double?>>>.Is.Anything, Arg<AddParameters>.Is.Equal(parameters)))
.Repeat.Once())
.Verify(() =>
{
var s = new SolrServer<TestDocument>(basicServer, mapper, validationManager);
var t = new TestDocument();
s.AddWithBoost(t, 2.1, parameters);
});
}

[Test]
public void Add_enumerable_calls_operations_with_null_add_parameters()
{
var mocks = new MockRepository();
var basicServer = mocks.StrictMock<ISolrBasicOperations<TestDocument>>();
var mapper = mocks.StrictMock<IReadOnlyMappingManager>();
var validationManager = mocks.StrictMock<IMappingValidator>();
With.Mocks(mocks)
.Expecting(() =>
Expect.Call(
basicServer.AddWithBoost(Arg<IEnumerable<KeyValuePair<TestDocument, double?>>>.Is.Anything, Arg<AddParameters>.Is.Null))
.Repeat.Once())
.Verify(() =>
{
var s = new SolrServer<TestDocument>(basicServer, mapper, validationManager);
var t = new[] { new TestDocument(), new TestDocument() };
s.Add(t);
});
}

[Test]
public void Add_enumerable_with_add_parameters_calls_operations_with_same_add_parameters()
{
var mocks = new MockRepository();
var basicServer = mocks.StrictMock<ISolrBasicOperations<TestDocument>>();
var mapper = mocks.StrictMock<IReadOnlyMappingManager>();
var validationManager = mocks.StrictMock<IMappingValidator>();
var parameters = new AddParameters { CommitWithin = 4343 };
With.Mocks(mocks)
.Expecting(() =>
Expect.Call(
basicServer.AddWithBoost(Arg<IEnumerable<KeyValuePair<TestDocument, double?>>>.Is.Anything, Arg<AddParameters>.Is.Equal(parameters)))
.Repeat.Once())
.Verify(() =>
{
var s = new SolrServer<TestDocument>(basicServer, mapper, validationManager);
var t = new[] { new TestDocument(), new TestDocument() };
s.Add(t, parameters);
});
}

[Test]
public void Ping() {
var mocks = new MockRepository();
Expand Down Expand Up @@ -62,7 +186,8 @@ public void GetSchema() {
.Expecting(() => Expect.Call(basicServer.GetSchema())
.Repeat.Once()
.Return(new SolrSchema()))
.Verify(() => {
.Verify(() =>
{
var s = new SolrServer<TestDocument>(basicServer, mapper, validationManager);
s.GetSchema();
});
Expand Down
4 changes: 2 additions & 2 deletions SolrNet/Impl/SolrServer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ public ResponseHeader AddWithBoost(T doc, double boost) {
}

public ResponseHeader AddWithBoost(T doc, double boost, AddParameters parameters) {
return ((ISolrOperations<T>)this).AddWithBoost(new[] { new KeyValuePair<T, double?>(doc, boost) });
return ((ISolrOperations<T>)this).AddWithBoost(new[] { new KeyValuePair<T, double?>(doc, boost) }, parameters);
}

public ResponseHeader Add(IEnumerable<T> docs) {
Expand Down Expand Up @@ -199,7 +199,7 @@ public ResponseHeader Add(T doc) {
}

public ResponseHeader Add(T doc, AddParameters parameters) {
return Add(new[] { doc });
return Add(new[] { doc }, parameters);
}

public SolrSchema GetSchema() {
Expand Down

0 comments on commit 3fe68bf

Please sign in to comment.