Some unit tests require a direct network connection to internet hosts.
Description
After running the unit tests on a system with no direct internet access, there are some unit tests that fail because they cannot establish a direct connection with a host on the internet.
It would be nice to have a run time flag (runExternalTests?) that could be used to enable/disable these from running.
testHttps(org.opennms.netmgt.poller.monitors.PageSequenceMonitorTest) Time elapsed: 25.193 sec <<< FAILURE! java.lang.AssertionError: Expected available but was Down: reason = I/O Error org.apache.http.conn.ConnectTimeoutException: Connect to scgi.ebay.com:443 timed out at org.junit.Assert.fail(Assert.java:93) at org.junit.Assert.assertTrue(Assert.java:43) at org.opennms.netmgt.poller.monitors.PageSequenceMonitorTest.testHttps(PageSequenceMonitorTest.java:137)
testHttpsWithoutHostValidation(org.opennms.netmgt.poller.monitors.PageSequenceMonitorTest) Time elapsed: 8.903 sec <<< FAILURE! java.lang.AssertionError: Expected available but was Down: reason = I/O Error org.apache.http.conn.ConnectTimeoutException: Connect to 66.211.181.50:443 timed out at org.junit.Assert.fail(Assert.java:93) at org.junit.Assert.assertTrue(Assert.java:43) at org.opennms.netmgt.poller.monitors.PageSequenceMonitorTest.testHttpsWithoutHostValidation(PageSequenceMonitorTest.java:169)
testVirtualHost(org.opennms.netmgt.poller.monitors.PageSequenceMonitorTest) Time elapsed: 8.76 sec <<< FAILURE! java.lang.AssertionError: Expected available but was Down: reason = I/O Error org.apache.http.conn.ConnectTimeoutException: Connect to 64.146.64.212:80 timed out at org.junit.Assert.fail(Assert.java:93) at org.junit.Assert.assertTrue(Assert.java:43) at org.opennms.netmgt.poller.monitors.PageSequenceMonitorTest.testVirtualHost(PageSequenceMonitorTest.java:218)
testGet(org.opennms.netmgt.ticketer.jira.JiraTicketerPluginTest) Time elapsed: 510.799 sec <<< ERROR! com.atlassian.jira.rest.client.RestClientException: com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection timed out at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:351) at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:213) at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:200) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366) at java.net.Socket.connect(Socket.java:529) at java.net.Socket.connect(Socket.java:478) at java.net.Socket.<init>(Socket.java:375) at java.net.Socket.<init>(Socket.java:249) at org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory.createSocket(DefaultProtocolSocketFactory.java:80) at org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory.createSocket(DefaultProtocolSocketFactory.java:122) at org.apache.commons.httpclient.HttpConnection.open(HttpConnection.java:707) at org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnectionAdapter.open(MultiThreadedHttpConnectionManager.java:1361) at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:387) at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171) at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397) at com.sun.jersey.client.apache.DefaultApacheHttpMethodExecutor.executeMethod(DefaultApacheHttpMethodExecutor.java:210) at com.sun.jersey.client.apache.ApacheHttpClientHandler.handle(ApacheHttpClientHandler.java:175) at com.sun.jersey.api.client.Client.handle(Client.java:648) at com.sun.jersey.api.client.WebResource.handle(WebResource.java:670) at com.sun.jersey.api.client.WebResource.get(WebResource.java:191) at com.atlassian.jira.rest.client.internal.jersey.AbstractJerseyRestClient$1.call(AbstractJerseyRestClient.java:84) at com.atlassian.jira.rest.client.internal.jersey.AbstractJerseyRestClient.invoke(AbstractJerseyRestClient.java:54) at com.atlassian.jira.rest.client.internal.jersey.AbstractJerseyRestClient.getAndParse(AbstractJerseyRestClient.java:80) at com.atlassian.jira.rest.client.internal.jersey.JerseyIssueRestClient.getIssue(JerseyIssueRestClient.java:146) at com.atlassian.jira.rest.client.internal.jersey.JerseyIssueRestClient.getIssue(JerseyIssueRestClient.java:137) at org.opennms.netmgt.ticketer.jira.JiraTicketerPlugin.get(JiraTicketerPlugin.java:104) at org.opennms.netmgt.ticketer.jira.JiraTicketerPluginTest.testGet(JiraTicketerPluginTest.java:128)
testButtonClick(org.opennms.features.topology.ssh.internal.AuthWindowTest) Time elapsed: 60.914 sec <<< FAILURE! org.junit.ComparisonFailure: expected:<Failed to [log in]> but was:<Failed to [connect to host]> at org.junit.Assert.assertEquals(Assert.java:125) at org.junit.Assert.assertEquals(Assert.java:147) at org.opennms.features.topology.ssh.internal.AuthWindowTest.testButtonClick(AuthWindowTest.java:88)
Tests run: 2, Failures: 2, Errors: 0, Skipped: 0, Time elapsed: 121.049 sec <<< FAILURE! testAttach(org.opennms.features.topology.ssh.internal.SSHWindowTest) Time elapsed: 60.806 sec <<< FAILURE! java.lang.AssertionError: Could not connect to host at org.junit.Assert.fail(Assert.java:93) at org.opennms.features.topology.ssh.internal.SSHWindowTest.setup(SSHWindowTest.java:65)
testClose(org.opennms.features.topology.ssh.internal.SSHWindowTest) Time elapsed: 60.129 sec <<< FAILURE! java.lang.AssertionError: Could not connect to host at org.junit.Assert.fail(Assert.java:93) at org.opennms.features.topology.ssh.internal.SSHWindowTest.setup(SSHWindowTest.java:65)
Tests run: 3, Failures: 3, Errors: 0, Skipped: 0, Time elapsed: 181.411 sec <<< FAILURE! testPaintContent(org.opennms.features.topology.ssh.internal.SSHTerminalTest) Time elapsed: 60.689 sec <<< FAILURE! java.lang.AssertionError: Could not connect to host at org.junit.Assert.fail(Assert.java:93) at org.opennms.features.topology.ssh.internal.SSHTerminalTest.setUp(SSHTerminalTest.java:76)
testChangeVariables(org.opennms.features.topology.ssh.internal.SSHTerminalTest) Time elapsed: 60.314 sec <<< FAILURE! java.lang.AssertionError: Could not connect to host at org.junit.Assert.fail(Assert.java:93) at org.opennms.features.topology.ssh.internal.SSHTerminalTest.setUp(SSHTerminalTest.java:76)
testClose(org.opennms.features.topology.ssh.internal.SSHTerminalTest) Time elapsed: 60.299 sec <<< FAILURE! java.lang.AssertionError: Could not connect to host at org.junit.Assert.fail(Assert.java:93) at org.opennms.features.topology.ssh.internal.SSHTerminalTest.setUp(SSHTerminalTest.java:76)
Acceptance / Success Criteria
None
Lucidchart Diagrams
Activity
Show:
Ron Roskens August 19, 2014 at 10:43 PM
A possible solution to grouping tests is the Suites & Categories that you can use to group unit & integration tests:
opennms-services: DNSResolutionMonitorTest - unit test does DNS lookups which fail when offline. PollerConfigWithPSMTest - unit test does DNS lookups which fail when offline.
opennms-rrd/opennms-rrd-model: RrdConvertUtilsTest,RrdMergeTest,RRDv3Test - unit test fails because it cannot do hostname lookup of oss.oetiker.ch to download the rrdtool.dtd.
Seth Leger November 21, 2013 at 9:49 PM
Thanks a lot for documenting these failures. We should have a profile of some sort in the build that disables them when there is no outgoing internet connection.
After running the unit tests on a system with no direct internet access, there are some unit tests that fail because they cannot establish a direct connection with a host on the internet.
It would be nice to have a run time flag (runExternalTests?) that could be used to enable/disable these from running.
testHttps(org.opennms.netmgt.poller.monitors.PageSequenceMonitorTest) Time elapsed: 25.193 sec <<< FAILURE!
java.lang.AssertionError: Expected available but was Down: reason = I/O Error org.apache.http.conn.ConnectTimeoutException: Connect to scgi.ebay.com:443 timed out
at org.junit.Assert.fail(Assert.java:93)
at org.junit.Assert.assertTrue(Assert.java:43)
at org.opennms.netmgt.poller.monitors.PageSequenceMonitorTest.testHttps(PageSequenceMonitorTest.java:137)
testHttpsWithoutHostValidation(org.opennms.netmgt.poller.monitors.PageSequenceMonitorTest) Time elapsed: 8.903 sec <<< FAILURE!
java.lang.AssertionError: Expected available but was Down: reason = I/O Error org.apache.http.conn.ConnectTimeoutException: Connect to 66.211.181.50:443 timed out
at org.junit.Assert.fail(Assert.java:93)
at org.junit.Assert.assertTrue(Assert.java:43)
at org.opennms.netmgt.poller.monitors.PageSequenceMonitorTest.testHttpsWithoutHostValidation(PageSequenceMonitorTest.java:169)
testVirtualHost(org.opennms.netmgt.poller.monitors.PageSequenceMonitorTest) Time elapsed: 8.76 sec <<< FAILURE!
java.lang.AssertionError: Expected available but was Down: reason = I/O Error org.apache.http.conn.ConnectTimeoutException: Connect to 64.146.64.212:80 timed out
at org.junit.Assert.fail(Assert.java:93)
at org.junit.Assert.assertTrue(Assert.java:43)
at org.opennms.netmgt.poller.monitors.PageSequenceMonitorTest.testVirtualHost(PageSequenceMonitorTest.java:218)
testGet(org.opennms.netmgt.ticketer.jira.JiraTicketerPluginTest) Time elapsed: 510.799 sec <<< ERROR!
com.atlassian.jira.rest.client.RestClientException: com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection timed out
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:351)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:213)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:200)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:529)
at java.net.Socket.connect(Socket.java:478)
at java.net.Socket.<init>(Socket.java:375)
at java.net.Socket.<init>(Socket.java:249)
at org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory.createSocket(DefaultProtocolSocketFactory.java:80)
at org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory.createSocket(DefaultProtocolSocketFactory.java:122)
at org.apache.commons.httpclient.HttpConnection.open(HttpConnection.java:707)
at org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnectionAdapter.open(MultiThreadedHttpConnectionManager.java:1361)
at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:387)
at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
at com.sun.jersey.client.apache.DefaultApacheHttpMethodExecutor.executeMethod(DefaultApacheHttpMethodExecutor.java:210)
at com.sun.jersey.client.apache.ApacheHttpClientHandler.handle(ApacheHttpClientHandler.java:175)
at com.sun.jersey.api.client.Client.handle(Client.java:648)
at com.sun.jersey.api.client.WebResource.handle(WebResource.java:670)
at com.sun.jersey.api.client.WebResource.get(WebResource.java:191)
at com.atlassian.jira.rest.client.internal.jersey.AbstractJerseyRestClient$1.call(AbstractJerseyRestClient.java:84)
at com.atlassian.jira.rest.client.internal.jersey.AbstractJerseyRestClient.invoke(AbstractJerseyRestClient.java:54)
at com.atlassian.jira.rest.client.internal.jersey.AbstractJerseyRestClient.getAndParse(AbstractJerseyRestClient.java:80)
at com.atlassian.jira.rest.client.internal.jersey.JerseyIssueRestClient.getIssue(JerseyIssueRestClient.java:146)
at com.atlassian.jira.rest.client.internal.jersey.JerseyIssueRestClient.getIssue(JerseyIssueRestClient.java:137)
at org.opennms.netmgt.ticketer.jira.JiraTicketerPlugin.get(JiraTicketerPlugin.java:104)
at org.opennms.netmgt.ticketer.jira.JiraTicketerPluginTest.testGet(JiraTicketerPluginTest.java:128)
testButtonClick(org.opennms.features.topology.ssh.internal.AuthWindowTest) Time elapsed: 60.914 sec <<< FAILURE!
org.junit.ComparisonFailure: expected:<Failed to [log in]> but was:<Failed to [connect to host]>
at org.junit.Assert.assertEquals(Assert.java:125)
at org.junit.Assert.assertEquals(Assert.java:147)
at org.opennms.features.topology.ssh.internal.AuthWindowTest.testButtonClick(AuthWindowTest.java:88)
Tests run: 2, Failures: 2, Errors: 0, Skipped: 0, Time elapsed: 121.049 sec <<< FAILURE!
testAttach(org.opennms.features.topology.ssh.internal.SSHWindowTest) Time elapsed: 60.806 sec <<< FAILURE!
java.lang.AssertionError: Could not connect to host
at org.junit.Assert.fail(Assert.java:93)
at org.opennms.features.topology.ssh.internal.SSHWindowTest.setup(SSHWindowTest.java:65)
testClose(org.opennms.features.topology.ssh.internal.SSHWindowTest) Time elapsed: 60.129 sec <<< FAILURE!
java.lang.AssertionError: Could not connect to host
at org.junit.Assert.fail(Assert.java:93)
at org.opennms.features.topology.ssh.internal.SSHWindowTest.setup(SSHWindowTest.java:65)
Tests run: 3, Failures: 3, Errors: 0, Skipped: 0, Time elapsed: 181.411 sec <<< FAILURE!
testPaintContent(org.opennms.features.topology.ssh.internal.SSHTerminalTest) Time elapsed: 60.689 sec <<< FAILURE!
java.lang.AssertionError: Could not connect to host
at org.junit.Assert.fail(Assert.java:93)
at org.opennms.features.topology.ssh.internal.SSHTerminalTest.setUp(SSHTerminalTest.java:76)
testChangeVariables(org.opennms.features.topology.ssh.internal.SSHTerminalTest) Time elapsed: 60.314 sec <<< FAILURE!
java.lang.AssertionError: Could not connect to host
at org.junit.Assert.fail(Assert.java:93)
at org.opennms.features.topology.ssh.internal.SSHTerminalTest.setUp(SSHTerminalTest.java:76)
testClose(org.opennms.features.topology.ssh.internal.SSHTerminalTest) Time elapsed: 60.299 sec <<< FAILURE!
java.lang.AssertionError: Could not connect to host
at org.junit.Assert.fail(Assert.java:93)
at org.opennms.features.topology.ssh.internal.SSHTerminalTest.setUp(SSHTerminalTest.java:76)