コード例 #1
0
		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\">&lt;quote\"</field><field name=\"Flower\">0</field></doc>", fs);
		}
コード例 #2
0
ファイル: SolrOperationsTests.cs プロジェクト: Cort01/SolrNet
 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);
         });
 }
コード例 #3
0
		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);
		}
コード例 #4
0
		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);
		}
コード例 #5
0
ファイル: SolrOperationsTests.cs プロジェクト: vblain/SolrNet
        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);
            });
        }
コード例 #6
0
 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();
 }
コード例 #7
0
ファイル: AddCommandTests.cs プロジェクト: lovaex/SolrNet
        public void RemoveControlCharacters()
        {
            var valueToCheck = (char)1;
            var xml          = SolrDocumentSerializer <object> .RemoveControlCharacters("control " + valueToCheck);

            Assert.That(xml.IndexOfAny(new[] { valueToCheck }), Is.EqualTo(-1));
        }
コード例 #8
0
		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);
		}
コード例 #9
0
ファイル: SolrOperationsTests.cs プロジェクト: vblain/SolrNet
        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);
            });
        }
コード例 #10
0
		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);
		}
コード例 #11
0
ファイル: SolrOperationsTests.cs プロジェクト: vblain/SolrNet
        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);
            });
        }
コード例 #12
0
        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);
        }
コード例 #13
0
        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);
        }
コード例 #14
0
 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);
 }
コード例 #15
0
        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);
        }
コード例 #16
0
        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();
        }
コード例 #17
0
 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);
 }
コード例 #18
0
 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);
 }
コード例 #19
0
        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);
        }
コード例 #20
0
        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);
        }
コード例 #21
0
 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);
 }
コード例 #22
0
 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\">&lt;quote\"</field><field name=\"Flower\">0</field></doc>", fs);
 }
コード例 #23
0
        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);
        }
コード例 #24
0
        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);
        }
コード例 #25
0
        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);
        }
コード例 #26
0
        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);
        }
コード例 #27
0
        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);
        }
コード例 #28
0
        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\">&lt;quote\"</field><field name=\"Flower\">0</field></doc>", fs);
        }
コード例 #29
0
        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);
        }
コード例 #30
0
        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);
        }
コード例 #31
0
        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);
        }
コード例 #32
0
        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);
        }
コード例 #33
0
        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);
        }
コード例 #34
0
 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);
 }
コード例 #35
0
        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);
        }
コード例 #36
0
        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);
        }
コード例 #37
0
        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);
        }
コード例 #38
0
ファイル: AddCommandTests.cs プロジェクト: xtzaferis/SolrNet
        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);
        }
コード例 #39
0
        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);
        }
コード例 #40
0
 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);
 }
コード例 #41
0
        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);
        }
コード例 #42
0
 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);
 }
コード例 #43
0
        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);
        }
コード例 #44
0
        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);
        }
コード例 #45
0
        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);
        }
コード例 #46
0
 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),});
         });
 }
コード例 #47
0
 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);
 }
コード例 #48
0
ファイル: AddCommandTests.cs プロジェクト: FilipVV/SolrNet
		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);
        }
コード例 #49
0
        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);
        }
コード例 #50
0
        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();
        }
コード例 #51
0
 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);
     });
 }
コード例 #52
0
ファイル: AddCommandTests.cs プロジェクト: osdezwart/SolrNet
 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);
     });
 }
コード例 #53
0
ファイル: SolrOperationsTests.cs プロジェクト: Cort01/SolrNet
 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);
         });
 }
コード例 #54
0
ファイル: SolrOperationsTests.cs プロジェクト: Cort01/SolrNet
 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);
         });
 }
コード例 #55
0
 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);
 }
コード例 #56
0
 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, "&#x7;");
     Assert.DoesNotContain(xml, "&#x1;");
     Assert.DoesNotContain(xml, "&#x1F;");
     Assert.DoesNotContain(xml, "&#xFFFE;");
 }
コード例 #57
0
 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);
 }
コード例 #58
0
 public void PropertyWithoutGetter() {
     var mapper = new AttributesMappingManager();
     var ser = new SolrDocumentSerializer<TestDocWithoutGetter>(mapper, new DefaultFieldSerializer());
     string fs = ser.Serialize(new TestDocWithoutGetter(), null).ToString();
 }
コード例 #59
0
 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);
 }
コード例 #60
0
 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);
 }