mirror of https://github.com/apache/lucene.git
tests: convert more jetty/example tests to junit4
git-svn-id: https://svn.apache.org/repos/asf/lucene/dev/trunk@927644 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
cec08f1741
commit
604c7c220e
|
@ -26,20 +26,26 @@ import org.apache.commons.httpclient.Header;
|
||||||
import org.apache.commons.httpclient.HttpMethodBase;
|
import org.apache.commons.httpclient.HttpMethodBase;
|
||||||
import org.apache.commons.httpclient.NameValuePair;
|
import org.apache.commons.httpclient.NameValuePair;
|
||||||
import org.apache.commons.httpclient.util.DateUtil;
|
import org.apache.commons.httpclient.util.DateUtil;
|
||||||
|
import org.junit.BeforeClass;
|
||||||
|
import org.junit.Test;
|
||||||
|
|
||||||
|
import static junit.framework.Assert.*;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A test case for the several HTTP cache headers emitted by Solr
|
* A test case for the several HTTP cache headers emitted by Solr
|
||||||
*/
|
*/
|
||||||
public class CacheHeaderTest extends CacheHeaderTestBase {
|
public class CacheHeaderTest extends CacheHeaderTestBase {
|
||||||
@Override
|
|
||||||
public String getSolrConfigFilename() {
|
@BeforeClass
|
||||||
return "solrconfig.xml";
|
public static void beforeTest() throws Exception {
|
||||||
|
createJetty("solr/", null, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected static final String CHARSET = "UTF-8";
|
protected static final String CHARSET = "UTF-8";
|
||||||
|
|
||||||
protected static final String CONTENTS = "id\n100\n101\n102";
|
protected static final String CONTENTS = "id\n100\n101\n102";
|
||||||
|
|
||||||
|
@Test
|
||||||
public void testCacheVetoHandler() throws Exception {
|
public void testCacheVetoHandler() throws Exception {
|
||||||
File f=makeFile(CONTENTS);
|
File f=makeFile(CONTENTS);
|
||||||
HttpMethodBase m=getUpdateMethod("GET");
|
HttpMethodBase m=getUpdateMethod("GET");
|
||||||
|
@ -49,6 +55,7 @@ public class CacheHeaderTest extends CacheHeaderTestBase {
|
||||||
checkVetoHeaders(m, true);
|
checkVetoHeaders(m, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
public void testCacheVetoException() throws Exception {
|
public void testCacheVetoException() throws Exception {
|
||||||
HttpMethodBase m = getSelectMethod("GET");
|
HttpMethodBase m = getSelectMethod("GET");
|
||||||
// We force an exception from Solr. This should emit "no-cache" HTTP headers
|
// We force an exception from Solr. This should emit "no-cache" HTTP headers
|
||||||
|
@ -59,6 +66,7 @@ public class CacheHeaderTest extends CacheHeaderTestBase {
|
||||||
checkVetoHeaders(m, false);
|
checkVetoHeaders(m, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
protected void checkVetoHeaders(HttpMethodBase m, boolean checkExpires) throws Exception {
|
protected void checkVetoHeaders(HttpMethodBase m, boolean checkExpires) throws Exception {
|
||||||
Header head = m.getResponseHeader("Cache-Control");
|
Header head = m.getResponseHeader("Cache-Control");
|
||||||
assertNotNull("We got no Cache-Control header", head);
|
assertNotNull("We got no Cache-Control header", head);
|
||||||
|
|
|
@ -23,47 +23,16 @@ import org.apache.commons.httpclient.methods.GetMethod;
|
||||||
import org.apache.commons.httpclient.methods.HeadMethod;
|
import org.apache.commons.httpclient.methods.HeadMethod;
|
||||||
import org.apache.commons.httpclient.methods.PostMethod;
|
import org.apache.commons.httpclient.methods.PostMethod;
|
||||||
import org.apache.solr.client.solrj.SolrExampleTestBase;
|
import org.apache.solr.client.solrj.SolrExampleTestBase;
|
||||||
|
import org.apache.solr.client.solrj.SolrJettyTestBase;
|
||||||
import org.apache.solr.client.solrj.SolrServer;
|
import org.apache.solr.client.solrj.SolrServer;
|
||||||
import org.apache.solr.client.solrj.embedded.JettySolrRunner;
|
import org.apache.solr.client.solrj.embedded.JettySolrRunner;
|
||||||
import org.apache.solr.client.solrj.impl.CommonsHttpSolrServer;
|
import org.apache.solr.client.solrj.impl.CommonsHttpSolrServer;
|
||||||
|
import org.junit.Test;
|
||||||
|
|
||||||
public abstract class CacheHeaderTestBase extends SolrExampleTestBase {
|
import static junit.framework.Assert.assertEquals;
|
||||||
@Override public String getSolrHome() { return "solr/"; }
|
import static org.junit.Assert.assertTrue;
|
||||||
|
|
||||||
abstract public String getSolrConfigFilename();
|
|
||||||
|
|
||||||
public String getSolrConfigFile() { return getSolrHome()+"conf/"+getSolrConfigFilename(); }
|
|
||||||
|
|
||||||
CommonsHttpSolrServer server;
|
|
||||||
|
|
||||||
JettySolrRunner jetty;
|
|
||||||
|
|
||||||
int port = 0;
|
|
||||||
|
|
||||||
static final String context = "/example";
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void setUp() throws Exception {
|
|
||||||
super.setUp();
|
|
||||||
|
|
||||||
jetty = new JettySolrRunner(context, 0, getSolrConfigFilename());
|
|
||||||
jetty.start();
|
|
||||||
port = jetty.getLocalPort();
|
|
||||||
|
|
||||||
server = this.createNewSolrServer();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void tearDown() throws Exception {
|
|
||||||
super.tearDown();
|
|
||||||
jetty.stop(); // stop the server
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected SolrServer getSolrServer() {
|
|
||||||
return server;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
public abstract class CacheHeaderTestBase extends SolrJettyTestBase {
|
||||||
@Override
|
@Override
|
||||||
protected CommonsHttpSolrServer createNewSolrServer() {
|
protected CommonsHttpSolrServer createNewSolrServer() {
|
||||||
try {
|
try {
|
||||||
|
@ -80,13 +49,14 @@ public abstract class CacheHeaderTestBase extends SolrExampleTestBase {
|
||||||
}
|
}
|
||||||
|
|
||||||
protected HttpMethodBase getSelectMethod(String method) {
|
protected HttpMethodBase getSelectMethod(String method) {
|
||||||
|
CommonsHttpSolrServer httpserver = (CommonsHttpSolrServer)getSolrServer();
|
||||||
HttpMethodBase m = null;
|
HttpMethodBase m = null;
|
||||||
if ("GET".equals(method)) {
|
if ("GET".equals(method)) {
|
||||||
m = new GetMethod(server.getBaseURL() + "/select");
|
m = new GetMethod(httpserver.getBaseURL() + "/select");
|
||||||
} else if ("HEAD".equals(method)) {
|
} else if ("HEAD".equals(method)) {
|
||||||
m = new HeadMethod(server.getBaseURL() + "/select");
|
m = new HeadMethod(httpserver.getBaseURL() + "/select");
|
||||||
} else if ("POST".equals(method)) {
|
} else if ("POST".equals(method)) {
|
||||||
m = new PostMethod(server.getBaseURL() + "/select");
|
m = new PostMethod(httpserver.getBaseURL() + "/select");
|
||||||
}
|
}
|
||||||
m.setQueryString(new NameValuePair[] { new NameValuePair("q", "solr"),
|
m.setQueryString(new NameValuePair[] { new NameValuePair("q", "solr"),
|
||||||
new NameValuePair("qt", "standard") });
|
new NameValuePair("qt", "standard") });
|
||||||
|
@ -94,21 +64,23 @@ public abstract class CacheHeaderTestBase extends SolrExampleTestBase {
|
||||||
}
|
}
|
||||||
|
|
||||||
protected HttpMethodBase getUpdateMethod(String method) {
|
protected HttpMethodBase getUpdateMethod(String method) {
|
||||||
|
CommonsHttpSolrServer httpserver = (CommonsHttpSolrServer)getSolrServer();
|
||||||
HttpMethodBase m = null;
|
HttpMethodBase m = null;
|
||||||
|
|
||||||
if ("GET".equals(method)) {
|
if ("GET".equals(method)) {
|
||||||
m=new GetMethod(server.getBaseURL()+"/update/csv");
|
m=new GetMethod(httpserver.getBaseURL()+"/update/csv");
|
||||||
} else if ("POST".equals(method)) {
|
} else if ("POST".equals(method)) {
|
||||||
m=new PostMethod(server.getBaseURL()+"/update/csv");
|
m=new PostMethod(httpserver.getBaseURL()+"/update/csv");
|
||||||
} else if ("HEAD".equals(method)) {
|
} else if ("HEAD".equals(method)) {
|
||||||
m=new HeadMethod(server.getBaseURL()+"/update/csv");
|
m=new HeadMethod(httpserver.getBaseURL()+"/update/csv");
|
||||||
}
|
}
|
||||||
|
|
||||||
return m;
|
return m;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected HttpClient getClient() {
|
protected HttpClient getClient() {
|
||||||
return server.getHttpClient();
|
CommonsHttpSolrServer httpserver = (CommonsHttpSolrServer)getSolrServer();
|
||||||
|
return httpserver.getHttpClient();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void checkResponseBody(String method, HttpMethodBase resp)
|
protected void checkResponseBody(String method, HttpMethodBase resp)
|
||||||
|
@ -140,16 +112,19 @@ public abstract class CacheHeaderTestBase extends SolrExampleTestBase {
|
||||||
}
|
}
|
||||||
|
|
||||||
// The tests
|
// The tests
|
||||||
|
@Test
|
||||||
public void testLastModified() throws Exception {
|
public void testLastModified() throws Exception {
|
||||||
doLastModified("GET");
|
doLastModified("GET");
|
||||||
doLastModified("HEAD");
|
doLastModified("HEAD");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
public void testEtag() throws Exception {
|
public void testEtag() throws Exception {
|
||||||
doETag("GET");
|
doETag("GET");
|
||||||
doETag("HEAD");
|
doETag("HEAD");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
public void testCacheControl() throws Exception {
|
public void testCacheControl() throws Exception {
|
||||||
doCacheControl("GET");
|
doCacheControl("GET");
|
||||||
doCacheControl("HEAD");
|
doCacheControl("HEAD");
|
||||||
|
|
|
@ -21,24 +21,35 @@ import java.util.Date;
|
||||||
import org.apache.commons.httpclient.Header;
|
import org.apache.commons.httpclient.Header;
|
||||||
import org.apache.commons.httpclient.HttpMethodBase;
|
import org.apache.commons.httpclient.HttpMethodBase;
|
||||||
import org.apache.commons.httpclient.util.DateUtil;
|
import org.apache.commons.httpclient.util.DateUtil;
|
||||||
|
import org.junit.BeforeClass;
|
||||||
|
import org.junit.Test;
|
||||||
|
|
||||||
|
import static junit.framework.Assert.*;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A test case for the several HTTP cache headers emitted by Solr
|
* A test case for the several HTTP cache headers emitted by Solr
|
||||||
*/
|
*/
|
||||||
public class NoCacheHeaderTest extends CacheHeaderTestBase {
|
public class NoCacheHeaderTest extends CacheHeaderTestBase {
|
||||||
@Override public String getSolrConfigFilename() { return "solrconfig-nocache.xml"; }
|
@BeforeClass
|
||||||
|
public static void beforeTest() throws Exception {
|
||||||
|
createJetty("solr/", "solr/conf/solrconfig-nocache.xml", null);
|
||||||
|
}
|
||||||
|
|
||||||
// The tests
|
// The tests
|
||||||
|
@Test
|
||||||
public void testLastModified() throws Exception {
|
public void testLastModified() throws Exception {
|
||||||
doLastModified("GET");
|
doLastModified("GET");
|
||||||
doLastModified("HEAD");
|
doLastModified("HEAD");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
public void testEtag() throws Exception {
|
public void testEtag() throws Exception {
|
||||||
doETag("GET");
|
doETag("GET");
|
||||||
doETag("HEAD");
|
doETag("HEAD");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
public void testCacheControl() throws Exception {
|
public void testCacheControl() throws Exception {
|
||||||
doCacheControl("GET");
|
doCacheControl("GET");
|
||||||
doCacheControl("HEAD");
|
doCacheControl("HEAD");
|
||||||
|
|
Loading…
Reference in New Issue