[ https://issues.apache.org/jira/browse/SOLR-1413?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12752312#action_12752312 ]
Lance Norskog commented on SOLR-1413: ------------------------------------- Noble, you and your sensible ideas :) Yes, it's cleaner with a Jetty server and a custom servlet. Version 2 of the patch uses this. BTW, the point of this is that using the SolrJ client with lots of threads might have problems, and this allows direct investigation. > Add MockSolrServer to SolrJ client tests > ---------------------------------------- > > Key: SOLR-1413 > URL: https://issues.apache.org/jira/browse/SOLR-1413 > Project: Solr > Issue Type: Test > Components: clients - java > Environment: Any Solr distribution. Uses only the SolrJ client code, > nothing in the Solr core. > Reporter: Lance Norskog > Priority: Minor > Attachments: SOLR-1413.patch, SOLR-1413.patch > > > The SolrJ unit test suite has no "mock" solr server for HTTP access, and > there are no low-level tests of the Solrj HTTP wire protocols. > This patch includes org.apache.solr.client.solrj.MockHTTPServer.java and > org.apache.solr.client.solrj.TestHTTP_XML_single.java. The mock server does > not parse its input and responds with pre-configured byte streams. The latter > does a few tests in the XML wire format. Most of the tests do one request and > set up success and failure responses. > Unfortunately, there is a bug: I could not get 2 successive requests to work. > The mock server's TCP socket does not work when reading the second request. > If someone who knows the JDK socket classes could look at the mock server, I > would greatly appreciate it. > The alternative is to steal a bunch of files from the apache commons > httpclient test suite. This is a quite sophisticate bunch of code: > http://svn.apache.org/repos/asf/httpcomponents/oac.hc3x/trunk/src/test/org/apache/commons/httpclient/server/ -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.