public void EscapesStrings() { var mapper = new AttributesMappingManager(); var ser = new SolrDocumentSerializer<SampleDoc>(mapper, new DefaultFieldSerializer()); var doc = new SampleDoc {Id = "<quote\""}; string fs = ser.Serialize(doc, null).ToString(SaveOptions.DisableFormatting); Assert.AreEqual("<doc><field name=\"Id\"><quote\"</field><field name=\"Flower\">0</field></doc>", fs); }
public void Add() { var mocks = new MockRepository(); var connection = mocks.StrictMock<ISolrConnection>(); var executer = mocks.StrictMock<ISolrQueryExecuter<TestDocumentWithoutUniqueKey>>(); var headerParser = mocks.StrictMock<ISolrHeaderResponseParser>(); var docSerializer = new SolrDocumentSerializer<TestDocumentWithoutUniqueKey>(new AttributesMappingManager(), new DefaultFieldSerializer()); With.Mocks(mocks) .Expecting(() => { Expect.On(connection) .Call(connection.Post("/update", "<add><doc /></add>")) .Repeat.Once() .Return(EmbeddedResource.GetEmbeddedString(GetType(), "Resources.response.xml")); Expect.On(headerParser) .Call(headerParser.Parse(null)) .IgnoreArguments() .Return(new ResponseHeader()); }) .Verify(() => { var ops = new SolrBasicServer<TestDocumentWithoutUniqueKey>(connection, executer, docSerializer, null, headerParser, null, null, null); ops.AddWithBoost(new[] { new KeyValuePair<TestDocumentWithoutUniqueKey, double?>(new TestDocumentWithoutUniqueKey(), null), }, null); }); }
public void AcceptsSparseCollections() { var mapper = new AttributesMappingManager(); var ser = new SolrDocumentSerializer<TestDocWithCollections>(mapper, new DefaultFieldSerializer()); var doc = new TestDocWithCollections { coll = new[] { "one", null, "two" } }; string fs = ser.Serialize(doc, null).ToString(SaveOptions.DisableFormatting); Assert.AreEqual("<doc><field name=\"coll\">one</field><field name=\"coll\">two</field></doc>", fs); }
public void SupportsBoolTrue() { var mapper = new AttributesMappingManager(); var ser = new SolrDocumentSerializer<TestDocWithBool>(mapper, new DefaultFieldSerializer()); var doc = new TestDocWithBool {B = true}; string fs = ser.Serialize(doc, null).ToString(SaveOptions.DisableFormatting); Assert.AreEqual("<doc><field name=\"B\">true</field></doc>", fs); }
public void NullableDateTime() { var mocks = new MockRepository(); var connection = mocks.StrictMock <ISolrConnection>(); var responseParser = mocks.DynamicMock <ISolrHeaderResponseParser>(); var resultParser = mocks.StrictMock <ISolrQueryResultParser <TestDocWithNullable> >(); var queryExecuter = new SolrQueryExecuter <TestDocWithNullable>(resultParser, connection, null, null); var mapper = new AttributesMappingManager(); var docSerializer = new SolrDocumentSerializer <TestDocWithNullable>(mapper, new DefaultFieldSerializer()); var validationManager = mocks.StrictMock <IMappingValidator>(); var basicSolr = new SolrBasicServer <TestDocWithNullable>(connection, queryExecuter, docSerializer, null, responseParser, null, null, null); var solr = new SolrServer <TestDocWithNullable>(basicSolr, mapper, validationManager); string xml = null; With.Mocks(mocks) .Expecting(() => { Expect.On(connection) .Call(connection.Post(null, null)) .IgnoreArguments() .Do(new Writer(delegate(string u, string s) { Console.WriteLine(s); xml = s; return(EmbeddedResource.GetEmbeddedString(GetType(), "Resources.response.xml")); })); }) .Verify(() => { solr.Add(new TestDocWithNullable()); Assert.AreEqual("<add><doc /></add>", xml); }); }
public void AcceptsNullObjects() { var mapper = new AttributesMappingManager(); var ser = new SolrDocumentSerializer<SampleDoc>(mapper, new DefaultFieldSerializer()); var doc = new SampleDoc {Id = null}; ser.Serialize(doc, null).ToString(); }
public void RemoveControlCharacters() { var valueToCheck = (char)1; var xml = SolrDocumentSerializer <object> .RemoveControlCharacters("control " + valueToCheck); Assert.That(xml.IndexOfAny(new[] { valueToCheck }), Is.EqualTo(-1)); }
public void AcceptsEmptyCollections() { var mapper = new AttributesMappingManager(); var ser = new SolrDocumentSerializer<TestDocWithCollections>(mapper, new DefaultFieldSerializer()); var doc = new TestDocWithCollections { coll = new string[] { null, null } }; string fs = ser.Serialize(doc, null).ToString(SaveOptions.DisableFormatting); Assert.AreEqual("<doc />", fs); }
public void AddWithParameters() { var mocks = new MockRepository(); var connection = mocks.StrictMock <ISolrConnection>(); var executer = mocks.StrictMock <ISolrQueryExecuter <TestDocumentWithoutUniqueKey> >(); var headerParser = mocks.StrictMock <ISolrHeaderResponseParser>(); var docSerializer = new SolrDocumentSerializer <TestDocumentWithoutUniqueKey>(new AttributesMappingManager(), new DefaultFieldSerializer()); With.Mocks(mocks) .Expecting(() => { Expect.On(connection) .Call(connection.Post("/update", "<add commitWithin=\"4343\" overwrite=\"false\"><doc /></add>")) .Repeat.Once() .Return(EmbeddedResource.GetEmbeddedString(GetType(), "Resources.response.xml")); Expect.On(headerParser) .Call(headerParser.Parse(null)) .IgnoreArguments() .Return(new ResponseHeader()); }) .Verify(() => { var ops = new SolrBasicServer <TestDocumentWithoutUniqueKey>(connection, executer, docSerializer, null, headerParser, null, null, null); var parameters = new AddParameters { CommitWithin = 4343, Overwrite = false }; ops.AddWithBoost(new[] { new KeyValuePair <TestDocumentWithoutUniqueKey, double?>(new TestDocumentWithoutUniqueKey(), null), }, parameters); }); }
public void SupportsDateTime() { var mapper = new AttributesMappingManager(); var ser = new SolrDocumentSerializer<TestDocWithDate>(mapper, new DefaultFieldSerializer()); var doc = new TestDocWithDate {Date = new DateTime(2001, 1, 2, 3, 4, 5)}; string fs = ser.Serialize(doc, null).ToString(SaveOptions.DisableFormatting); Assert.AreEqual("<doc><field name=\"Date\">2001-01-02T03:04:05Z</field></doc>", fs); }
public void Extract() { var mocks = new MockRepository(); var connection = mocks.StrictMock <ISolrConnection>(); var executer = mocks.StrictMock <ISolrQueryExecuter <TestDocumentWithoutUniqueKey> >(); var headerParser = mocks.StrictMock <ISolrHeaderResponseParser>(); var extractResponseParser = mocks.StrictMock <ISolrExtractResponseParser>(); var docSerializer = new SolrDocumentSerializer <TestDocumentWithoutUniqueKey>(new AttributesMappingManager(), new DefaultFieldSerializer()); var parameters = new ExtractParameters(null, "1", "test.doc"); With.Mocks(mocks) .Expecting(() => { Expect.On(connection) .Call(connection.PostStream("/update/extract", null, parameters.Content, new List <KeyValuePair <string, string> > { new KeyValuePair <string, string>("literal.id", parameters.Id), new KeyValuePair <string, string>("resource.name", parameters.ResourceName), })) .Repeat.Once() .Return(EmbeddedResource.GetEmbeddedString(GetType(), "Resources.responseWithExtractContent.xml")); Expect.On(extractResponseParser) .Call(extractResponseParser.Parse(null)) .IgnoreArguments() .Return(new ExtractResponse(null)); }) .Verify(() => { var ops = new SolrBasicServer <TestDocumentWithoutUniqueKey>(connection, executer, docSerializer, null, headerParser, null, null, extractResponseParser); ops.Extract(parameters); }); }
public void SupportsNullableDateTime() { var mapper = new AttributesMappingManager(); var ser = new SolrDocumentSerializer <TestDocWithNullableDate>(mapper, new DefaultFieldSerializer()); var doc = new TestDocWithNullableDate(); string fs = ser.Serialize(doc, null).ToString(SaveOptions.DisableFormatting); Assert.Equal("<doc />", fs); }
public void SupportsCollections() { var mapper = new AttributesMappingManager(); var ser = new SolrDocumentSerializer <TestDocWithCollections>(mapper, new DefaultFieldSerializer()); var doc = new TestDocWithCollections(); string fs = ser.Serialize(doc, null).ToString(SaveOptions.DisableFormatting); Assert.Equal("<doc><field name=\"coll\">one</field><field name=\"coll\">two</field></doc>", fs); }
public void Serializes() { var mapper = new AttributesMappingManager(); var ser = new SolrDocumentSerializer<SampleDoc>(mapper, new DefaultFieldSerializer()); var doc = new SampleDoc {Id = "id", Dd = 23.5m}; string fs = ser.Serialize(doc, null).OuterXml; var xml = new XmlDocument(); xml.LoadXml(fs); Assert.AreEqual("<doc><field name=\"Id\">id</field><field name=\"Flower\">23.5</field></doc>", fs); }
public void PropertyWithoutGetter() { var mapper = new AttributesMappingManager(); var ser = new SolrDocumentSerializer <TestDocWithoutGetter>(mapper, new DefaultFieldSerializer()); string fs = ser.Serialize(new TestDocWithoutGetter(), null).OuterXml; var xml = new XmlDocument(); xml.LoadXml(fs); Console.WriteLine(fs); }
public void AcceptsNullObjects() { var mapper = new AttributesMappingManager(); var ser = new SolrDocumentSerializer <SampleDoc>(mapper, new DefaultFieldSerializer()); var doc = new SampleDoc { Id = null }; ser.Serialize(doc, null).ToString(); }
public void FieldBoost() { var mapper = new AttributesMappingManager(); ISolrDocumentSerializer<TestDocWithBoostedString> ser = new SolrDocumentSerializer<TestDocWithBoostedString>(mapper, new DefaultFieldSerializer()); var doc = new TestDocWithBoostedString { Desc = "hello" }; string fs = ser.Serialize(doc, null).ToString(SaveOptions.DisableFormatting); Assert.AreEqual(@"<doc><field name=""Desc"" boost=""1.45"">hello</field></doc>", fs); }
public void AcceptsNullObjects() { var mapper = new AttributesMappingManager(); var ser = new SolrDocumentSerializer<SampleDoc>(mapper, new DefaultFieldSerializer()); var doc = new SampleDoc {Id = null}; string fs = ser.Serialize(doc, null).OuterXml; Console.WriteLine(fs); var xml = new XmlDocument(); xml.LoadXml(fs); }
public void AcceptsSparseCollections() { var mapper = new AttributesMappingManager(); var ser = new SolrDocumentSerializer <TestDocWithCollections>(mapper, new DefaultFieldSerializer()); var doc = new TestDocWithCollections { coll = new[] { "one", null, "two" } }; var fs = ser.Serialize(doc, null).ToString(SaveOptions.DisableFormatting); Assert.AreEqual("<doc><field name=\"coll\">one</field><field name=\"coll\">two</field></doc>", fs); }
public void ShouldntAlterOriginalServerUrl() { var mocks = new MockRepository(); var conn = mocks.StrictMock <ISolrConnection>(); var docSerializer = new SolrDocumentSerializer <SampleDoc>(new AttributesMappingManager(), new DefaultFieldSerializer()); var cmd = new AddCommand <SampleDoc>(new[] { new KeyValuePair <SampleDoc, double?>(new SampleDoc(), null), }, docSerializer, null); cmd.Execute(conn); }
public void Inheritance() { var mapper = new AttributesMappingManager(); var ser = new SolrDocumentSerializer<TestDocWithString>(mapper, new DefaultFieldSerializer()); var doc = new InheritedDoc { Desc = "Description", Desc1 = "Description1" }; string fs = ser.Serialize(doc, null).ToString(SaveOptions.DisableFormatting); Assert.AreEqual(@"<doc><field name=""Desc1"">Description1</field><field name=""Desc"">Description</field></doc>", fs); }
public void EscapesStrings() { var mapper = new AttributesMappingManager(); var ser = new SolrDocumentSerializer<SampleDoc>(mapper, new DefaultFieldSerializer()); var doc = new SampleDoc {Id = "<quote\""}; string fs = ser.Serialize(doc, null).OuterXml; Console.WriteLine(fs); var xml = new XmlDocument(); xml.LoadXml(fs); Assert.AreEqual("<doc><field name=\"Id\"><quote\"</field><field name=\"Flower\">0</field></doc>", fs); }
public void SupportsCollections() { var mapper = new AttributesMappingManager(); var ser = new SolrDocumentSerializer <TestDocWithCollections>(mapper, new DefaultFieldSerializer()); var doc = new TestDocWithCollections(); string fs = ser.Serialize(doc, null).OuterXml; var xml = new XmlDocument(); xml.LoadXml(fs); Assert.AreEqual("<doc><field name=\"coll\">one</field><field name=\"coll\">two</field></doc>", fs); }
public void Serializes() { var mapper = new AttributesMappingManager(); var ser = new SolrDocumentSerializer <SampleDoc>(mapper, new DefaultFieldSerializer()); var doc = new SampleDoc { Id = "id", Dd = 23.5m }; string fs = ser.Serialize(doc, null).ToString(SaveOptions.DisableFormatting); Assert.Equal("<doc><field name=\"Id\">id</field><field name=\"Flower\">23.5</field></doc>", fs); }
public void UTF_XML() { var mapper = new AttributesMappingManager(); var ser = new SolrDocumentSerializer <TestDocWithString>(mapper, new DefaultFieldSerializer()); var doc = new TestDocWithString { Desc = @"ÚóÁ⌠╒""" }; string fs = ser.Serialize(doc, null).ToString(SaveOptions.DisableFormatting); Assert.Equal(@"<doc><field name=""Desc"">ÚóÁ⌠╒""</field></doc>", fs); }
public void Location() { var mapper = new AttributesMappingManager(); var ser = new SolrDocumentSerializer <TestDocWithLocation>(mapper, new DefaultFieldSerializer()); var testDoc = new TestDocWithLocation { Loc = new Location(12.2, -12.3) }; string fs = ser.Serialize(testDoc, null).ToString(SaveOptions.DisableFormatting); Assert.Equal(@"<doc><field name=""location"">12.2,-12.3</field></doc>", fs); }
public void AcceptsEmptyCollections() { var mapper = new AttributesMappingManager(); var ser = new SolrDocumentSerializer <TestDocWithCollections>(mapper, new DefaultFieldSerializer()); var doc = new TestDocWithCollections { coll = new string[] { null, null } }; string fs = ser.Serialize(doc, null).ToString(SaveOptions.DisableFormatting); Assert.Equal("<doc />", fs); }
public void EscapesStrings() { var mapper = new AttributesMappingManager(); var ser = new SolrDocumentSerializer <SampleDoc>(mapper, new DefaultFieldSerializer()); var doc = new SampleDoc { Id = "<quote\"" }; string fs = ser.Serialize(doc, null).ToString(SaveOptions.DisableFormatting); Assert.Equal("<doc><field name=\"Id\"><quote\"</field><field name=\"Flower\">0</field></doc>", fs); }
public void SupportsDateTime() { var mapper = new AttributesMappingManager(); var ser = new SolrDocumentSerializer <TestDocWithDate>(mapper, new DefaultFieldSerializer()); var doc = new TestDocWithDate { Date = new DateTime(2001, 1, 2, 3, 4, 5) }; string fs = ser.Serialize(doc, null).ToString(SaveOptions.DisableFormatting); Assert.Equal("<doc><field name=\"Date\">2001-01-02T03:04:05Z</field></doc>", fs); }
public void SupportsGuid() { var mapper = new AttributesMappingManager(); var ser = new SolrDocumentSerializer <TestDocWithGuid>(mapper, new DefaultFieldSerializer()); var doc = new TestDocWithGuid { Key = Guid.NewGuid() }; string fs = ser.Serialize(doc, null).ToString(SaveOptions.DisableFormatting); Assert.Equal("<doc><field name=\"Key\">" + doc.Key + "</field></doc>", fs); }
public void FieldBoost() { var mapper = new AttributesMappingManager(); ISolrDocumentSerializer <TestDocWithBoostedString> ser = new SolrDocumentSerializer <TestDocWithBoostedString>(mapper, new DefaultFieldSerializer()); var doc = new TestDocWithBoostedString { Desc = "hello" }; string fs = ser.Serialize(doc, null).ToString(SaveOptions.DisableFormatting); Assert.Equal(@"<doc><field name=""Desc"" boost=""1.45"">hello</field></doc>", fs); }
public void SupportsBoolFalse() { var mapper = new AttributesMappingManager(); var ser = new SolrDocumentSerializer <TestDocWithBool>(mapper, new DefaultFieldSerializer()); var doc = new TestDocWithBool { B = false }; string fs = ser.Serialize(doc, null).ToString(SaveOptions.DisableFormatting); Assert.Equal("<doc><field name=\"B\">false</field></doc>", fs); }
public void Inheritance() { var mapper = new AttributesMappingManager(); var ser = new SolrDocumentSerializer <TestDocWithString>(mapper, new DefaultFieldSerializer()); var doc = new InheritedDoc { Desc = "Description", Desc1 = "Description1" }; string fs = ser.Serialize(doc, null).ToString(SaveOptions.DisableFormatting); Assert.Equal(@"<doc><field name=""Desc1"">Description1</field><field name=""Desc"">Description</field></doc>", fs); }
public void DocumentAddParametersOverwriteSpecifiedTrue() { var docSerializer = new SolrDocumentSerializer<TestDocWithString>(new AttributesMappingManager(), new DefaultFieldSerializer()); var conn = new Mocks.MSolrConnection(); conn.post = conn.post .Args("/update", "<add overwrite=\"true\"><doc boost=\"2.1\" /></add>"); var docs = new[] { new KeyValuePair<TestDocWithString, double?>(new TestDocWithString(), 2.1) }; var parameters = new AddParameters { Overwrite = true }; var cmd = new AddCommand<TestDocWithString>(docs, docSerializer, parameters); cmd.Execute(conn); Assert.AreEqual(1, conn.post.Calls); }
public void SupportsGenericDictionary_empty() { var mapper = new AttributesMappingManager(); var ser = new SolrDocumentSerializer <TestDocWithGenDict>(mapper, new DefaultFieldSerializer()); var doc = new TestDocWithGenDict { Id = 5, Dict = new Dictionary <string, string>(), }; string fs = ser.Serialize(doc, null).ToString(SaveOptions.DisableFormatting); Assert.Equal("<doc><field name=\"Id\">" + doc.Id + "</field></doc>", fs); }
public void SupportsNullableDateTime() { var mapper = new AttributesMappingManager(); var ser = new SolrDocumentSerializer <TestDocWithNullableDate>(mapper, new DefaultFieldSerializer()); var doc = new TestDocWithNullableDate(); string fs = ser.Serialize(doc, null).OuterXml; var xml = new XmlDocument(); xml.LoadXml(fs); Console.WriteLine(fs); Assert.AreEqual("<doc />", fs); }
public void SupportsDateTime() { var mapper = new AttributesMappingManager(); var ser = new SolrDocumentSerializer <TestDocWithDate>(mapper, new DefaultFieldSerializer()); var doc = new TestDocWithDate { Date = new DateTime(2001, 1, 2, 3, 4, 5) }; string fs = ser.Serialize(doc, null).OuterXml; var xml = new XmlDocument(); xml.LoadXml(fs); Assert.AreEqual("<doc><field name=\"Date\">2001-01-02T03:04:05Z</field></doc>", fs); }
public void FieldBoost() { var docSerializer = new SolrDocumentSerializer <TestDocWithFieldBoost>(new AttributesMappingManager(), new DefaultFieldSerializer()); var conn = new Mocks.MSolrConnection(); conn.post = conn.post .Args("/update", "<add><doc><field name=\"SimpleBoost\" boost=\"20\">simple</field><field name=\"nameandboost\" boost=\"20\">boost</field></doc></add>"); var docs = new[] { new KeyValuePair <TestDocWithFieldBoost, double?>(new TestDocWithFieldBoost(), null) }; var cmd = new AddCommand <TestDocWithFieldBoost>(docs, docSerializer, null); cmd.Execute(conn); Assert.AreEqual(1, conn.post.Calls); }
public void Serializes() { var mapper = new AttributesMappingManager(); var ser = new SolrDocumentSerializer <SampleDoc>(mapper, new DefaultFieldSerializer()); var doc = new SampleDoc { Id = "id", Dd = 23.5m }; string fs = ser.Serialize(doc, null).OuterXml; var xml = new XmlDocument(); xml.LoadXml(fs); Assert.AreEqual("<doc><field name=\"Id\">id</field><field name=\"Flower\">23.5</field></doc>", fs); }
public void DocumentBoost() { var mapper = new AttributesMappingManager(); ISolrDocumentSerializer<TestDocWithString> ser = new SolrDocumentSerializer<TestDocWithString>(mapper, new DefaultFieldSerializer()); var doc = new TestDocWithString { Desc = "hello" }; string fs = ser.Serialize(doc, 2.1).OuterXml; var xml = new XmlDocument(); xml.LoadXml(fs); Console.WriteLine(fs); Assert.AreEqual(@"<doc boost=""2.1""><field name=""Desc"">hello</field></doc>", fs); }
public void SupportsBoolFalse() { var mapper = new AttributesMappingManager(); var ser = new SolrDocumentSerializer <TestDocWithBool>(mapper, new DefaultFieldSerializer()); var doc = new TestDocWithBool { B = false }; string fs = ser.Serialize(doc, null).OuterXml; var xml = new XmlDocument(); xml.LoadXml(fs); Assert.AreEqual("<doc><field name=\"B\">false</field></doc>", fs); }
public void Inheritance() { var mapper = new AttributesMappingManager(); var ser = new SolrDocumentSerializer<TestDocWithString>(mapper, new DefaultFieldSerializer()); var doc = new InheritedDoc { Desc = "Description", Desc1 = "Description1" }; string fs = ser.Serialize(doc, null).OuterXml; var xml = new XmlDocument(); xml.LoadXml(fs); Console.WriteLine(fs); Assert.AreEqual(@"<doc><field name=""Desc1"">Description1</field><field name=""Desc"">Description</field></doc>", fs); }
public void UTF_XML() { var mapper = new AttributesMappingManager(); var ser = new SolrDocumentSerializer <TestDocWithString>(mapper, new DefaultFieldSerializer()); var doc = new TestDocWithString { Desc = @"ÚóÁ⌠╒""" }; string fs = ser.Serialize(doc, null).OuterXml; var xml = new XmlDocument(); xml.LoadXml(fs); Console.WriteLine(fs); Assert.AreEqual(@"<doc><field name=""Desc"">ÚóÁ⌠╒""</field></doc>", fs); }
public void DocumentBoost() { var mapper = new AttributesMappingManager(); ISolrDocumentSerializer <TestDocWithString> ser = new SolrDocumentSerializer <TestDocWithString>(mapper, new DefaultFieldSerializer()); var doc = new TestDocWithString { Desc = "hello" }; string fs = ser.Serialize(doc, 2.1).OuterXml; var xml = new XmlDocument(); xml.LoadXml(fs); Console.WriteLine(fs); Assert.AreEqual(@"<doc boost=""2.1""><field name=""Desc"">hello</field></doc>", fs); }
public void AcceptsNullObjects() { var mapper = new AttributesMappingManager(); var ser = new SolrDocumentSerializer <SampleDoc>(mapper, new DefaultFieldSerializer()); var doc = new SampleDoc { Id = null }; string fs = ser.Serialize(doc, null).OuterXml; Console.WriteLine(fs); var xml = new XmlDocument(); xml.LoadXml(fs); }
public void AddWithBoost() { var mocks = new MockRepository(); var connection = mocks.CreateMock<ISolrConnection>(); var executer = mocks.CreateMock<ISolrQueryExecuter<TestDocumentWithoutUniqueKey>>(); var docSerializer = new SolrDocumentSerializer<TestDocumentWithoutUniqueKey>(new AttributesMappingManager(), new DefaultFieldSerializer()); With.Mocks(mocks) .Expecting(() => Expect.Call(connection.Post("/update", "<add><doc boost=\"2.1\" /></add>")) .Repeat.Once() .Return(null)) .Verify(() => { var ops = new SolrBasicServer<TestDocumentWithoutUniqueKey>(connection, executer, docSerializer); ops.AddWithBoost(new[] {new KeyValuePair<TestDocumentWithoutUniqueKey, double?>(new TestDocumentWithoutUniqueKey(), 2.1),}); }); }
public void AddWithParameters() { var xml = EmbeddedResource.GetEmbeddedString(GetType(), "Resources.response.xml"); var connection = new MSolrConnection(); connection.post += (url, content) => { Assert.AreEqual("/update", url); Assert.AreEqual("<add commitWithin=\"4343\" overwrite=\"false\"><doc /></add>", content); return xml; }; var docSerializer = new SolrDocumentSerializer<TestDocumentWithoutUniqueKey>(new AttributesMappingManager(), new DefaultFieldSerializer()); var headerParser = new MSolrHeaderResponseParser(); headerParser.parse = headerParser.parse.Return(null); var ops = new SolrBasicServer<TestDocumentWithoutUniqueKey>(connection, null, docSerializer, null, headerParser, null, null, null); var parameters = new AddParameters { CommitWithin = 4343, Overwrite = false }; ops.AddWithBoost(new[] { new KeyValuePair<TestDocumentWithoutUniqueKey, double?>(new TestDocumentWithoutUniqueKey(), null), }, parameters); Assert.AreEqual(1, connection.post.Calls); }
public void Execute() { var conn = new Mocks.MSolrConnection(); conn.post += (url, content) => { Assert.AreEqual("/update", url); Assert.AreEqual("<add><doc><field name=\"Id\">id</field><field name=\"Flower\">23.5</field></doc></add>", content); Console.WriteLine(content); return null; }; var docSerializer = new SolrDocumentSerializer<SampleDoc>(new AttributesMappingManager(), new DefaultFieldSerializer()); var docs = new[] { new KeyValuePair<SampleDoc, double?>(new SampleDoc(), null), }; var cmd = new AddCommand<SampleDoc>(docs, docSerializer, null); cmd.Execute(conn); Assert.AreEqual(1, conn.post.Calls); }
public void AddWithBoost() { var connection = new MSolrConnection(); connection.post += (url, content) => { Assert.AreEqual("/update", url); Assert.AreEqual("<add><doc boost=\"2.1\" /></add>", content); return EmbeddedResource.GetEmbeddedString(GetType(), "Resources.response.xml"); }; var docSerializer = new SolrDocumentSerializer<TestDocumentWithoutUniqueKey>(new AttributesMappingManager(), new DefaultFieldSerializer()); var headerParser = new MSolrHeaderResponseParser(); headerParser.parse = headerParser.parse.Return(null); var ops = new SolrBasicServer<TestDocumentWithoutUniqueKey>(connection, null, docSerializer, null, headerParser, null, null, null); ops.AddWithBoost(new[] { new KeyValuePair<TestDocumentWithoutUniqueKey, double?>(new TestDocumentWithoutUniqueKey(), 2.1), }, null); Assert.AreEqual(1, connection.post.Calls); }
public void Add() { var xml = EmbeddedResource.GetEmbeddedString(GetType(), "Resources.response.xml"); var connection = new MSolrConnection(); connection.post = connection.post .Expect(1) .Args("/update", "<add><doc /></add>") .Return(xml); var headerParser = new MSolrHeaderResponseParser(); headerParser.parse = headerParser.parse.Return(null); var docSerializer = new SolrDocumentSerializer<TestDocumentWithoutUniqueKey>(new AttributesMappingManager(), new DefaultFieldSerializer()); var ops = new SolrBasicServer<TestDocumentWithoutUniqueKey>(connection, null, docSerializer, null, headerParser, null, null, null); ops.AddWithBoost(new[] { new KeyValuePair<TestDocumentWithoutUniqueKey, double?>(new TestDocumentWithoutUniqueKey(), null), }, null); connection.post.Verify(); }
public void DocumentBoost() { var mocks = new MockRepository(); var conn = mocks.StrictMock<ISolrConnection>(); var docSerializer = new SolrDocumentSerializer<TestDocWithString>(new AttributesMappingManager(), new DefaultFieldSerializer()); With.Mocks(mocks).Expecting(() => { conn.Post("/update", "<add><doc boost=\"2.1\" /></add>"); LastCall.On(conn).Repeat.Once().Do(new Writer(delegate(string ignored, string s) { Console.WriteLine(s); return null; })); }).Verify(() => { var docs = new[] { new KeyValuePair<TestDocWithString, double?>(new TestDocWithString(), 2.1) }; var cmd = new AddCommand<TestDocWithString>(docs, docSerializer); cmd.Execute(conn); }); }
public void Execute() { var mocks = new MockRepository(); var conn = mocks.CreateMock<ISolrConnection>(); var docSerializer = new SolrDocumentSerializer<SampleDoc>(new AttributesMappingManager(), new DefaultFieldSerializer()); With.Mocks(mocks).Expecting(() => { conn.Post("/update", "<add><doc><field name=\"Id\">id</field><field name=\"Flower\">23.5</field></doc></add>"); LastCall.On(conn).Repeat.Once().Do(new Writer(delegate(string ignored, string s) { Console.WriteLine(s); return null; })); SetupResult.For(conn.ServerURL).Return(""); }).Verify(() => { var docs = new[] {new SampleDoc()}; var cmd = new AddCommand<SampleDoc>(docs, docSerializer); cmd.Execute(conn); }); }
public void NullableDateTime() { var mocks = new MockRepository(); var connection = mocks.StrictMock<ISolrConnection>(); var responseParser = mocks.DynamicMock<ISolrHeaderResponseParser>(); var resultParser = mocks.StrictMock<ISolrQueryResultParser<TestDocWithNullable>>(); var queryExecuter = new SolrQueryExecuter<TestDocWithNullable>(resultParser, connection, null, null); var mapper = new AttributesMappingManager(); var docSerializer = new SolrDocumentSerializer<TestDocWithNullable>(mapper, new DefaultFieldSerializer()); var validationManager = mocks.StrictMock<IMappingValidator>(); var basicSolr = new SolrBasicServer<TestDocWithNullable>(connection, queryExecuter, docSerializer, null, responseParser, null, null, null); var solr = new SolrServer<TestDocWithNullable>(basicSolr, mapper, validationManager); string xml = null; With.Mocks(mocks) .Expecting(() => { Expect.On(connection) .Call(connection.Post(null, null)) .IgnoreArguments() .Do(new Writer(delegate(string u, string s) { Console.WriteLine(s); xml = s; return EmbeddedResource.GetEmbeddedString(GetType(), "Resources.response.xml"); })); }) .Verify(() => { solr.Add(new TestDocWithNullable()); Assert.AreEqual("<add><doc /></add>", xml); }); }
public void Extract() { var mocks = new MockRepository(); var connection = mocks.StrictMock<ISolrConnection>(); var executer = mocks.StrictMock<ISolrQueryExecuter<TestDocumentWithoutUniqueKey>>(); var headerParser = mocks.StrictMock<ISolrHeaderResponseParser>(); var extractResponseParser = mocks.StrictMock<ISolrExtractResponseParser>(); var docSerializer = new SolrDocumentSerializer<TestDocumentWithoutUniqueKey>(new AttributesMappingManager(), new DefaultFieldSerializer()); var parameters = new ExtractParameters(null, "1", "test.doc"); With.Mocks(mocks) .Expecting(() => { Expect.On(connection) .Call(connection.PostStream("/update/extract", null, parameters.Content, new List<KeyValuePair<string, string>> { new KeyValuePair<string, string>("literal.id", parameters.Id), new KeyValuePair<string, string>("resource.name", parameters.ResourceName), })) .Repeat.Once() .Return(EmbeddedResource.GetEmbeddedString(GetType(), "Resources.responseWithExtractContent.xml")); Expect.On(extractResponseParser) .Call(extractResponseParser.Parse(null)) .IgnoreArguments() .Return(new ExtractResponse(null)); }) .Verify(() => { var ops = new SolrBasicServer<TestDocumentWithoutUniqueKey>(connection, executer, docSerializer, null, headerParser, null, null, extractResponseParser); ops.Extract(parameters); }); }
public void ShouldntAlterOriginalServerUrl() { var mocks = new MockRepository(); var conn = mocks.StrictMock<ISolrConnection>(); var docSerializer = new SolrDocumentSerializer<SampleDoc>(new AttributesMappingManager(), new DefaultFieldSerializer()); var cmd = new AddCommand<SampleDoc>(new[] { new KeyValuePair<SampleDoc, double?>(new SampleDoc(), null), }, docSerializer); cmd.Execute(conn); }
public void RemovesControlCharactersFromXML() { var docSerializer = new SolrDocumentSerializer<TestDocWithString>(new AttributesMappingManager(), new DefaultFieldSerializer()); var doc = new TestDocWithString { Desc = "control" + (char)0x7 + (char)0x1F + (char)0xFFFE + (char)0xFFFF + (char)0xFFF4 }; var docs = new[] {new KeyValuePair<TestDocWithString, double?>(doc, null), }; var cmd = new AddCommand<TestDocWithString>(docs, docSerializer); var xml = cmd.ConvertToXml(); xml = cmd.RemoveControlCharacters(xml); Console.WriteLine(xml); Assert.DoesNotContain(xml, ""); Assert.DoesNotContain(xml, ""); Assert.DoesNotContain(xml, ""); Assert.DoesNotContain(xml, ""); }
public void UTF_XML() { var mapper = new AttributesMappingManager(); var ser = new SolrDocumentSerializer<TestDocWithString>(mapper, new DefaultFieldSerializer()); var doc = new TestDocWithString { Desc = @"ÚóÁ⌠╒""" }; string fs = ser.Serialize(doc, null).ToString(SaveOptions.DisableFormatting); Assert.AreEqual(@"<doc><field name=""Desc"">ÚóÁ⌠╒""</field></doc>", fs); }
public void PropertyWithoutGetter() { var mapper = new AttributesMappingManager(); var ser = new SolrDocumentSerializer<TestDocWithoutGetter>(mapper, new DefaultFieldSerializer()); string fs = ser.Serialize(new TestDocWithoutGetter(), null).ToString(); }
public void Location() { var mapper = new AttributesMappingManager(); var ser = new SolrDocumentSerializer<TestDocWithLocation>(mapper, new DefaultFieldSerializer()); var testDoc = new TestDocWithLocation { Loc = new Location(12.2, -12.3) }; string fs = ser.Serialize(testDoc, null).ToString(SaveOptions.DisableFormatting); Assert.AreEqual(@"<doc><field name=""location"">12.2,-12.3</field></doc>", fs); }
public void SupportsGuid() { var mapper = new AttributesMappingManager(); var ser = new SolrDocumentSerializer<TestDocWithGuid>(mapper, new DefaultFieldSerializer()); var doc = new TestDocWithGuid {Key = Guid.NewGuid()}; string fs = ser.Serialize(doc, null).ToString(SaveOptions.DisableFormatting); Assert.AreEqual("<doc><field name=\"Key\">"+doc.Key+"</field></doc>", fs); }