From 1779975f865c63a63e87680257bc975955f565fb Mon Sep 17 00:00:00 2001 From: xcang Date: Tue, 23 Oct 2018 11:41:35 -0700 Subject: [PATCH] HBASE-20782 Fix duplication of TestServletFilter.access and other check-style issues --- .../hbase/http/HttpServerFunctionalTest.java | 52 +++++++++++++++++----- .../apache/hadoop/hbase/http/TestGlobalFilter.java | 33 ++------------ .../apache/hadoop/hbase/http/TestPathFilter.java | 34 ++------------ .../hadoop/hbase/http/TestServletFilter.java | 29 ++---------- 4 files changed, 51 insertions(+), 97 deletions(-) diff --git a/hbase-http/src/test/java/org/apache/hadoop/hbase/http/HttpServerFunctionalTest.java b/hbase-http/src/test/java/org/apache/hadoop/hbase/http/HttpServerFunctionalTest.java index 69972a2e12..17fb1631cc 100644 --- a/hbase-http/src/test/java/org/apache/hadoop/hbase/http/HttpServerFunctionalTest.java +++ b/hbase-http/src/test/java/org/apache/hadoop/hbase/http/HttpServerFunctionalTest.java @@ -18,25 +18,32 @@ package org.apache.hadoop.hbase.http; -import org.apache.hadoop.net.NetUtils; -import org.apache.hadoop.security.authorize.AccessControlList; -import org.junit.Assert; -import org.apache.hadoop.conf.Configuration; -import org.apache.hadoop.hbase.http.HttpServer.Builder; - +import java.io.BufferedReader; import java.io.File; import java.io.IOException; import java.io.InputStream; +import java.io.InputStreamReader; +import java.net.MalformedURLException; import java.net.ServerSocket; import java.net.URI; import java.net.URL; -import java.net.MalformedURLException; +import java.net.URLConnection; +import java.nio.charset.StandardCharsets; +import org.apache.hadoop.conf.Configuration; +import org.apache.hadoop.hbase.http.HttpServer.Builder; +import org.apache.hadoop.net.NetUtils; +import org.apache.hadoop.security.authorize.AccessControlList; +import org.junit.Assert; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * This is a base class for functional tests of the {@link HttpServer}. * The methods are static for other classes to import statically. */ public class HttpServerFunctionalTest extends Assert { + private static final Logger LOG = LoggerFactory.getLogger(HttpServerFunctionalTest.class); + /** JVM property for the webapp test dir : {@value} */ public static final String TEST_BUILD_WEBAPPS = "test.build.webapps"; /** expected location of the test.build.webapps dir: {@value} */ @@ -114,9 +121,9 @@ public class HttpServerFunctionalTest extends Assert { File testWebappDir = new File(webapps + File.separatorChar + TEST); try { - if (!testWebappDir.exists()) { - fail("Test webapp dir " + testWebappDir.getCanonicalPath() + " missing"); - } + if (!testWebappDir.exists()) { + fail("Test webapp dir " + testWebappDir.getCanonicalPath() + " missing"); + } } catch (IOException e) { } @@ -158,7 +165,8 @@ public class HttpServerFunctionalTest extends Assert { return localServerBuilder(webapp).setFindPort(true).setConf(conf).build(); } - public static HttpServer createServer(String webapp, Configuration conf, AccessControlList adminsAcl) + public static HttpServer createServer(String webapp, Configuration conf, + AccessControlList adminsAcl) throws IOException { return localServerBuilder(webapp).setFindPort(true).setConf(conf).setACL(adminsAcl).build(); } @@ -178,7 +186,8 @@ public class HttpServerFunctionalTest extends Assert { */ public static HttpServer createServer(String webapp, Configuration conf, String[] pathSpecs) throws IOException { - return localServerBuilder(webapp).setFindPort(true).setConf(conf).setPathSpec(pathSpecs).build(); + return localServerBuilder(webapp).setFindPort(true).setConf(conf).setPathSpec(pathSpecs) + .build(); } /** @@ -269,4 +278,23 @@ public class HttpServerFunctionalTest extends Assert { } } } + + /** + * access a url, ignoring some IOException such as the page does not exist + */ + public static void access(String urlstring) throws IOException { + URL url = new URL(urlstring); + + URLConnection connection = url.openConnection(); + connection.connect(); + + try (BufferedReader in = new BufferedReader(new InputStreamReader( + connection.getInputStream(), StandardCharsets.UTF_8))){ + for(; in.readLine() != null;) { + continue; + } + } catch(IOException ioe) { + LOG.info("Got exception: ", ioe); + } + } } diff --git a/hbase-http/src/test/java/org/apache/hadoop/hbase/http/TestGlobalFilter.java b/hbase-http/src/test/java/org/apache/hadoop/hbase/http/TestGlobalFilter.java index 81902901f8..cfc0c2ca05 100644 --- a/hbase-http/src/test/java/org/apache/hadoop/hbase/http/TestGlobalFilter.java +++ b/hbase-http/src/test/java/org/apache/hadoop/hbase/http/TestGlobalFilter.java @@ -17,11 +17,7 @@ */ package org.apache.hadoop.hbase.http; -import java.io.BufferedReader; import java.io.IOException; -import java.io.InputStreamReader; -import java.net.URL; -import java.net.URLConnection; import java.util.Set; import java.util.TreeSet; import javax.servlet.Filter; @@ -48,7 +44,6 @@ public class TestGlobalFilter extends HttpServerFunctionalTest { @ClassRule public static final HBaseClassTestRule CLASS_RULE = HBaseClassTestRule.forClass(TestGlobalFilter.class); - private static final Logger LOG = LoggerFactory.getLogger(HttpServer.class); static final Set RECORDS = new TreeSet<>(); @@ -69,8 +64,9 @@ public class TestGlobalFilter extends HttpServerFunctionalTest { @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { - if (filterConfig == null) - return; + if (filterConfig == null) { + return; + } String uri = ((HttpServletRequest)request).getRequestURI(); LOG.info("filtering " + uri); @@ -89,27 +85,6 @@ public class TestGlobalFilter extends HttpServerFunctionalTest { } } - - /** access a url, ignoring some IOException such as the page does not exist */ - static void access(String urlstring) throws IOException { - LOG.warn("access " + urlstring); - URL url = new URL(urlstring); - URLConnection connection = url.openConnection(); - connection.connect(); - - try { - BufferedReader in = new BufferedReader(new InputStreamReader( - connection.getInputStream())); - try { - for(; in.readLine() != null; ); - } finally { - in.close(); - } - } catch(IOException ioe) { - LOG.warn("urlstring=" + urlstring, ioe); - } - } - @Test public void testServletFilter() throws Exception { Configuration conf = new Configuration(); @@ -132,7 +107,7 @@ public class TestGlobalFilter extends HttpServerFunctionalTest { final String logURL = "/logs/a.log"; final String[] urls = {fsckURL, stacksURL, ajspURL, listPathsURL, - dataURL, streamFile, rootURL, allURL, outURL, logURL}; + dataURL, streamFile, rootURL, allURL, outURL, logURL}; //access the urls final String prefix = "http://" diff --git a/hbase-http/src/test/java/org/apache/hadoop/hbase/http/TestPathFilter.java b/hbase-http/src/test/java/org/apache/hadoop/hbase/http/TestPathFilter.java index 47e6ea26f1..bbf49aff94 100644 --- a/hbase-http/src/test/java/org/apache/hadoop/hbase/http/TestPathFilter.java +++ b/hbase-http/src/test/java/org/apache/hadoop/hbase/http/TestPathFilter.java @@ -17,11 +17,7 @@ */ package org.apache.hadoop.hbase.http; -import java.io.BufferedReader; import java.io.IOException; -import java.io.InputStreamReader; -import java.net.URL; -import java.net.URLConnection; import java.util.Set; import java.util.TreeSet; import javax.servlet.Filter; @@ -69,8 +65,9 @@ public class TestPathFilter extends HttpServerFunctionalTest { @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { - if (filterConfig == null) - return; + if (filterConfig == null) { + return; + } String uri = ((HttpServletRequest)request).getRequestURI(); LOG.info("filtering " + uri); @@ -89,28 +86,6 @@ public class TestPathFilter extends HttpServerFunctionalTest { } } - - /** access a url, ignoring some IOException such as the page does not exist */ - static void access(String urlstring) throws IOException { - LOG.warn("access " + urlstring); - URL url = new URL(urlstring); - - URLConnection connection = url.openConnection(); - connection.connect(); - - try { - BufferedReader in = new BufferedReader(new InputStreamReader( - connection.getInputStream())); - try { - for(; in.readLine() != null; ); - } finally { - in.close(); - } - } catch(IOException ioe) { - LOG.warn("urlstring=" + urlstring, ioe); - } - } - @Test public void testPathSpecFilters() throws Exception { Configuration conf = new Configuration(); @@ -130,8 +105,7 @@ public class TestPathFilter extends HttpServerFunctionalTest { final String rootURL = "/"; final String allURL = "/*"; - final String[] filteredUrls = {baseURL, baseSlashURL, addedURL, - addedSlashURL, longURL}; + final String[] filteredUrls = {baseURL, baseSlashURL, addedURL, addedSlashURL, longURL}; final String[] notFilteredUrls = {rootURL, allURL}; // access the urls and verify our paths specs got added to the diff --git a/hbase-http/src/test/java/org/apache/hadoop/hbase/http/TestServletFilter.java b/hbase-http/src/test/java/org/apache/hadoop/hbase/http/TestServletFilter.java index 6c70dbc9d8..6e7da2d950 100644 --- a/hbase-http/src/test/java/org/apache/hadoop/hbase/http/TestServletFilter.java +++ b/hbase-http/src/test/java/org/apache/hadoop/hbase/http/TestServletFilter.java @@ -17,11 +17,7 @@ */ package org.apache.hadoop.hbase.http; -import java.io.BufferedReader; import java.io.IOException; -import java.io.InputStreamReader; -import java.net.URL; -import java.net.URLConnection; import java.util.Random; import javax.servlet.Filter; import javax.servlet.FilterChain; @@ -71,8 +67,9 @@ public class TestServletFilter extends HttpServerFunctionalTest { @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { - if (filterConfig == null) - return; + if (filterConfig == null) { + return; + } uri = ((HttpServletRequest)request).getRequestURI(); LOG.info("filtering " + uri); @@ -97,26 +94,6 @@ public class TestServletFilter extends HttpServerFunctionalTest { + StringUtils.stringifyException(t), msg.contains(string)); } - /** access a url, ignoring some IOException such as the page does not exist */ - static void access(String urlstring) throws IOException { - LOG.warn("access " + urlstring); - URL url = new URL(urlstring); - URLConnection connection = url.openConnection(); - connection.connect(); - - try { - BufferedReader in = new BufferedReader(new InputStreamReader( - connection.getInputStream())); - try { - for(; in.readLine() != null; ); - } finally { - in.close(); - } - } catch(IOException ioe) { - LOG.warn("urlstring=" + urlstring, ioe); - } - } - @Test @Ignore //From stack -- 2.15.1 (Apple Git-101)