package org.jboss.test.capedwarf.testsuite.socket; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.Reader; import java.io.Writer; import java.net.ServerSocket; import java.net.Socket; import org.jboss.arquillian.container.test.api.Deployment; import org.jboss.arquillian.junit.Arquillian; import org.jboss.shrinkwrap.api.spec.WebArchive; import org.jboss.test.capedwarf.common.support.All; import org.jboss.test.capedwarf.common.test.TestBase; import org.jboss.test.capedwarf.common.test.TestContext; import org.junit.Test; import org.junit.experimental.categories.Category; import org.junit.runner.RunWith; import static org.junit.Assert.assertTrue; /** * @author <a href="mailto:mluksa@redhat.com">Marko Luksa</a> */ @RunWith(Arquillian.class) @Category(All.class) public class SocketTest extends TestBase { @Deployment public static WebArchive getDeployment() { return getCapedwarfDeployment(TestContext.withBlackList()); } @Test public void testOutboundSocket() throws Exception { Socket socket = new Socket("whois.internic.net", 43); try { socket.setSoTimeout(10000); Writer out = new OutputStreamWriter(socket.getOutputStream(), "8859_1"); Reader in = new InputStreamReader(socket.getInputStream(), "8859_1"); out.write("=" + "google.com" + "\r\n"); out.flush(); StringBuilder builder = new StringBuilder(); for (int c; (c = in.read()) != -1;) { builder.append((char) c); } assertTrue(builder.length() > 0); } finally { socket.close(); } } @Test(expected = NoClassDefFoundError.class) public void testInboundSocket() throws Exception { new ServerSocket(4123); } }