public void Cache() { var conn = new SolrConnection(solrURL); var response1 = conn.Get("/select/", new Dictionary <string, string> { { "q", "*:*" }, }); var response2 = conn.Get("/select/", new Dictionary <string, string> { { "q", "*:*" }, }); }
public void UndefinedFieldQueryError_ShouldThrow() { var mocks = new MockRepository(); var reqFactory = mocks.StrictMock <IHttpWebRequestFactory>(); var request = mocks.DynamicMock <IHttpWebRequest>(); With.Mocks(mocks).Expecting(delegate { Expect.Call(reqFactory.Create(new UriBuilder().Uri)) .IgnoreArguments() .Repeat.Once() .Return(request); Expect.Call(request.Headers) .Repeat.Any() .Return(new WebHeaderCollection()); var r = new WebResponseStub { StatusCode = HttpStatusCode.BadRequest }; Expect.Call(request.GetResponse()) .Repeat.Once() .Throw(new WebException("(400) Bad Request", new ApplicationException(), WebExceptionStatus.ProtocolError, r)); }).Verify(delegate { var conn = new SolrConnection("https://pepe") { HttpWebRequestFactory = reqFactory }; conn.Get("", new Dictionary <string, string>()); }); }
public void InvalidHostGet_ShouldThrowException() { var mocks = new MockRepository(); var reqFactory = mocks.StrictMock <IHttpWebRequestFactory>(); var request = mocks.DynamicMock <IHttpWebRequest>(); With.Mocks(mocks).Expecting(delegate { Expect.Call(reqFactory.Create(new UriBuilder().Uri)) .IgnoreArguments() .Repeat.Once() .Return(request); Expect.Call(request.Headers) .Repeat.Any() .Return(new WebHeaderCollection()); Expect.Call(request.GetResponse()) .Repeat.Once() .Throw(new WebException()); }).Verify(delegate { var conn = new SolrConnection("http://lalala:12345") { HttpWebRequestFactory = reqFactory }; conn.Get("", new Dictionary <string, string>()); }); }
public void Get() { var mocks = new MockRepository(); var reqFactory = mocks.StrictMock <IHttpWebRequestFactory>(); var request = mocks.DynamicMock <IHttpWebRequest>(); var response = mocks.DynamicMock <IHttpWebResponse>(); With.Mocks(mocks).Expecting(delegate { Expect.Call(reqFactory.Create(new UriBuilder().Uri)) .IgnoreArguments() .Repeat.Once() .Return(request); Expect.Call(request.Headers) .Repeat.Any() .Return(new WebHeaderCollection()); Expect.Call(response.ContentEncoding) .Repeat.Any() .Return(string.Empty); Expect.Call(response.Headers) .Repeat.Any() .Return(new WebHeaderCollection()); Expect.Call(request.GetResponse()) .Repeat.Once() .Return(response); Expect.Call(response.GetResponseStream()) .Repeat.Once() .Return(new MemoryStream()); }).Verify(delegate { var conn = new SolrConnection("https://pepe") { HttpWebRequestFactory = reqFactory }; conn.Get("", new Dictionary <string, string>()); }); }
public void Get_Compressed_Deflate() { var mocks = new MockRepository(); var reqFactory = mocks.StrictMock <IHttpWebRequestFactory>(); var request = mocks.DynamicMock <IHttpWebRequest>(); var response = mocks.DynamicMock <IHttpWebResponse>(); With.Mocks(mocks).Expecting(delegate { Expect.Call(reqFactory.Create(new UriBuilder().Uri)) .IgnoreArguments() .Repeat.Once() .Return(request); Expect.Call(request.Headers) .Repeat.Any() .Return(new WebHeaderCollection()); Expect.Call(response.ContentEncoding) .Repeat.Any() .Return("deflate"); Expect.Call(response.Headers) .Repeat.Any() .Return(new WebHeaderCollection()); Expect.Call(request.GetResponse()) .Repeat.Once() .Return(response); Expect.Call(response.GetResponseStream()) .Repeat.Once() .Return(CompressionUtils.DeflateCompressStream("Testing compression")); }).Verify(delegate { var conn = new SolrConnection("http://localhost") { HttpWebRequestFactory = reqFactory }; Assert.AreEqual("Testing compression", conn.Get("", new Dictionary <string, string>())); }); }
public void Cache_mocked() { var conn = new SolrConnection(solrURL); var cache = MockRepository.GenerateMock <ISolrCache>(); cache.Expect(x => x["http://localhost:8983/solr/select/?q=*:*"]) .Repeat.Once() .Return(null); cache.Expect(x => x.Add(null)).Repeat.Once(); conn.Cache = cache; var response1 = conn.Get("/select/", new Dictionary <string, string> { { "q", "*:*" }, }); var response2 = conn.Get("/select/", new Dictionary <string, string> { { "q", "*:*" }, }); }
public void Cache_mocked() { var cache = new Mocks.MSolrCache(); cache.get += url => { Assert.Equal("http://localhost:8983/solr/select/?q=*:*&version=2.2", url); return(new SolrCacheEntity(url, "", "")); }; cache.add &= x => x.Stub(); var response = new Mocks.HttpWebResponse { dispose = () => {}, headers = () => new WebHeaderCollection { { HttpResponseHeader.ETag, "123" }, }, getResponseStream = () => new MemoryStream(), }; var getResponseCalls = 0; var conn = new SolrConnection(solrURL) { Cache = cache, HttpWebRequestFactory = new Mocks.HttpWebRequestFactory { create = _ => new Mocks.HttpWebRequest { getResponse = () => { getResponseCalls++; if (getResponseCalls == 1) { return(response); } throw new Exception(); }, Headers = new WebHeaderCollection(), }, } }; conn.Get("/select/", new Dictionary <string, string> { { "q", "*:*" }, }); conn.Get("/select/", new Dictionary <string, string> { { "q", "*:*" }, }); }
public void ActualInvalidFieldException() { var conn = new SolrConnection(solrURL); var p = new Dictionary <string, string>(); p["version"] = "2.1"; p["indent"] = "on"; p["q"] = "idq:123"; Console.WriteLine(conn.Get("/select/", p)); }
public void SolrConnection001() { // Arrange var options = new SecurityOptions { AuthenticationType = AuthenticationType.Basic }; var connection = new SolrConnection(); // Act / Assert Assert.Throws <UnsupportedSecuritySystemException>(() => connection.Get(options, string.Empty, string.Empty)); }
public void ActualConnection() { var conn = new SolrConnection(solrURL) { HttpWebRequestFactory = new HttpWebRequestFactory() }; var p = new Dictionary <string, string>(); p["version"] = "2.1"; p["indent"] = "on"; p["q"] = "+video +price:[* TO 400]"; Console.WriteLine(conn.Get("/select/", p)); }
public void InvalidHostGet_ShouldThrowException() { var reqFactory = new Mocks.HttpWebRequestFactory { create = _ => new Mocks.HttpWebRequest { getResponse = () => { throw new WebException(); } } }; var conn = new SolrConnection("http://lalala:12345") { HttpWebRequestFactory = reqFactory }; Assert.Throws <SolrConnectionException>(() => conn.Get("", new Dictionary <string, string>())); }
//增量数据导入 public static void DeltaDataImport() { var conn = new SolrConnection("http://139.198.13.12:7000/solr/PolicyCore"); string relativeUrl = "/dataimport"; var parameters = new List <KeyValuePair <string, string> > { new KeyValuePair <string, string>("command", "delta-import"), new KeyValuePair <string, string>("clean", "false"), new KeyValuePair <string, string>("commit", "true") }; string result = conn.Get(relativeUrl, parameters); Console.WriteLine("结果:{0}", result); }
public void ActualConnectionWithException() { var conn = new SolrConnection(solrURL); var p = new Dictionary <string, string>(); p["version"] = "2.1"; p["indent"] = "on"; p["q"] = "idq:123"; try { conn.Get("/select/", p); Assert.True(false, "Should have thrown"); } catch (SolrConnectionException e) { Console.WriteLine(e); Console.WriteLine(e.Url); } }
public static void FullImport(string core) { string command = "full-import"; string clean = "true"; string commit = "true"; var conn = new SolrConnection(ConfigurationManager.AppSettings["SolrConnString"] + core); var relativeUrl = "/dataimport"; var parameters = new List <KeyValuePair <string, string> > { new KeyValuePair <string, string>("command", command), new KeyValuePair <string, string>("clean", clean), new KeyValuePair <string, string>("commit", commit) }; conn.Get(relativeUrl, parameters); }
public void WithWtJson_Get() { var expected = "https://pepe/?wt=json&version=2.2"; var cache = new Mocks.MSolrCache(); cache.get += url => new SolrCacheEntity(url, "", ""); cache.add &= x => x.Stub(); var headers = new WebHeaderCollection { { HttpResponseHeader.ETag, "etag" }, { HttpResponseHeader.CacheControl, "cache" } }; var response = new Mocks.HttpWebResponse { dispose = () => { }, headers = () => headers, getResponseStream = () => new MemoryStream(Encoding.UTF8.GetBytes("hello json world")), }; var request = new Mocks.HttpWebRequest { getResponse = () => response, Headers = new WebHeaderCollection() }; var reqFactory = new Mocks.HttpWebRequestFactory { create = _ => request }; var conn = new SolrConnection("https://pepe") { HttpWebRequestFactory = reqFactory, Cache = cache }; var r = conn.Get("", new Dictionary <string, string> { { "wt", "json" } }); var actual = conn.Cache[expected]; Assert.Equal("hello json world", r); Assert.Equal(actual.Url, expected); }
public void Get() { var response = new Mocks.HttpWebResponse { dispose = () => {}, headers = () => new WebHeaderCollection(), getResponseStream = () => new MemoryStream(Encoding.UTF8.GetBytes("hello world")), }; var request = new Mocks.HttpWebRequest { getResponse = () => response }; var reqFactory = new Mocks.HttpWebRequestFactory { create = _ => request }; var conn = new SolrConnection("https://pepe") { HttpWebRequestFactory = reqFactory, }; var r = conn.Get("", new Dictionary <string, string>()); Assert.Equal("hello world", r); }
public JsonResult Suggestions(string searchText) { var solr = new SolrConnection(SolrConfig.VehicleInformationIndex); var parameters = new Dictionary <string, string> { { "spellcheck.q", searchText }, { "wt", "json" } }; var response = solr.Get("/suggest", parameters); var suggestion = JsonConvert.DeserializeObject <SuggestionModel>(response); if (suggestion.Spellcheck == null) { return(null); } var details = JsonConvert.DeserializeObject <SuggestionDetailModel>(suggestion.Spellcheck.Suggestions.ToList()[1].ToString()); details.SearchText = searchText; return(Json(details)); }