### Question:
GenericURLStreamHandler extends URLStreamHandler { @Override protected URLConnection openConnection(URL u) throws IOException { URLConnection urlConnection = null; try { Constructor<? extends URLConnection> constructor = urlConnectionClass .getConstructor(new Class[]{URL.class}); urlConnection = (URLConnection) constructor .newInstance(new Object[]{u}); } catch (SecurityException e) { e.printStackTrace(); } catch (NoSuchMethodException e) { e.printStackTrace(); } catch (InstantiationException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } catch (IllegalArgumentException e) { e.printStackTrace(); } catch (InvocationTargetException e) { e.printStackTrace(); } return urlConnection; } GenericURLStreamHandler(Class<? extends URLConnection> urlConnectionClass, int defaultPort);  GenericURLStreamHandler(Class<? extends URLConnection> urlConnectionClass);   }### Answer:
@Ignore @Test(expected = NoSuchMethodException.class) public void testFailToCreateURLStreamHandler() { URL testUrl = null; try { testUrl = new URL("http: } catch (MalformedURLException e) { Assert.fail("Test URL in testCreateURLStreamHandler test is incorrect. Error message: " + e.getMessage()); } try { Class<? extends URLConnection> c = org.opennms.core.utils.url.ProtectedStubGenericURLConnection.class; m_generGenericURLStreamHandler = new GenericURLStreamHandler(c); m_generGenericURLStreamHandler.openConnection(testUrl); } catch (IOException e) { Assert.fail("Could not open connection. Error message: " + e.getMessage()); } }
@Test public void testOpenUrlConnection() { try { URL testUrl = new URL("http: Assert.assertNotNull(new GenericURLStreamHandler(m_testClass).openConnection(testUrl)); } catch (MalformedURLException e) { Assert.fail("Test URL in testOpenUrlConnection test is incorrect. Error message: " + e.getMessage()); } catch (IOException e) { Assert.fail("Could open connection in testOpenUrlConnection. Error message: " + e.getMessage()); } }