Skip to content

Commit 1c027f9

Browse files
committed
+ Moved Netty specific provider config content out of base class and into the provider specific test classes.
1 parent b8f3624 commit 1c027f9

File tree

6 files changed

+68
-13
lines changed

6 files changed

+68
-13
lines changed

src/test/java/com/ning/http/client/async/AsyncProvidersBasicTest.java

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1403,8 +1403,7 @@ public void onThrowable(Throwable t) {
14031403

14041404
@Test(groups = {"online", "default_provider", "async"})
14051405
public void asyncDoGetNestedTest() throws Throwable {
1406-
AsyncHttpProviderConfig<String, Object> pc = new NettyAsyncHttpProviderConfig();
1407-
final AsyncHttpClient client = getAsyncHttpClient(new Builder().setAsyncHttpClientProviderConfig(pc).build());
1406+
final AsyncHttpClient client = getAsyncHttpClient(new Builder().build());
14081407

14091408
// Use a l in case the assert fail
14101409
final CountDownLatch l = new CountDownLatch(2);
@@ -1488,15 +1487,10 @@ public void testAwsS3() throws Exception {
14881487
c.close();
14891488
}
14901489

1491-
// TODO Netty only
14921490
@Test(groups = {"online", "default_provider"})
14931491
public void testAsyncHttpProviderConfig() throws Exception {
14941492

1495-
NettyAsyncHttpProviderConfig pc = new NettyAsyncHttpProviderConfig();
1496-
pc.addProperty("tcpNoDelay", true);
1497-
1498-
// Just make sure Netty still works.
1499-
final AsyncHttpClient c = getAsyncHttpClient(new Builder().setAsyncHttpClientProviderConfig(pc).build());
1493+
final AsyncHttpClient c = getAsyncHttpClient(new Builder().setAsyncHttpClientProviderConfig(getProviderConfig()).build());
15001494
Response response = c.prepareGet("http://test.s3.amazonaws.com/").execute().get();
15011495
if (response.getResponseBody() == null || response.getResponseBody().equals("")) {
15021496
fail("No response Body");
@@ -1624,4 +1618,6 @@ public void mirrorByteTest() throws Throwable {
16241618

16251619
client.close();
16261620
}
1621+
1622+
protected abstract AsyncHttpProviderConfig getProviderConfig();
16271623
}

src/test/java/com/ning/http/client/async/RedirectConnectionUsageTest.java

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717

1818
import com.ning.http.client.AsyncHttpClient;
1919
import com.ning.http.client.AsyncHttpClientConfig;
20+
import com.ning.http.client.AsyncHttpProviderConfig;
2021
import com.ning.http.client.ListenableFuture;
2122
import com.ning.http.client.RequestBuilder;
2223
import com.ning.http.client.Response;
@@ -115,11 +116,6 @@ public void testGetRedirectFinalUrl() {
115116
bc.setRequestTimeoutInMs(1000);
116117
bc.setFollowRedirects(true);
117118

118-
NettyAsyncHttpProviderConfig config = new NettyAsyncHttpProviderConfig();
119-
if (System.getProperty("blockingio") != null)
120-
config.addProperty(NettyAsyncHttpProviderConfig.USE_BLOCKING_IO, "true");
121-
//config.addProperty(NettyAsyncHttpProviderConfig.REUSE_ADDRESS, "true");
122-
bc.setAsyncHttpClientProviderConfig(config);
123119
c = getAsyncHttpClient(bc.build());
124120

125121
RequestBuilder builder = new RequestBuilder("GET");
@@ -152,6 +148,8 @@ public void testGetRedirectFinalUrl() {
152148

153149
}
154150

151+
protected abstract AsyncHttpProviderConfig getProviderConfig();
152+
155153

156154
class MockRedirectHttpServlet extends HttpServlet {
157155
public void service(HttpServletRequest req, HttpServletResponse res)

src/test/java/com/ning/http/client/async/grizzly/GrizzlyAsyncProviderBasicTest.java

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,15 @@
1515

1616
import com.ning.http.client.AsyncHttpClient;
1717
import com.ning.http.client.AsyncHttpClientConfig;
18+
import com.ning.http.client.AsyncHttpProviderConfig;
1819
import com.ning.http.client.async.AsyncProvidersBasicTest;
1920
import com.ning.http.client.providers.grizzly.GrizzlyAsyncHttpProvider;
21+
import com.ning.http.client.providers.grizzly.GrizzlyAsyncHttpProviderConfig;
22+
import com.ning.http.client.providers.grizzly.TransportCustomizer;
23+
import org.glassfish.grizzly.nio.transport.TCPNIOTransport;
24+
import org.glassfish.grizzly.strategies.SameThreadIOStrategy;
25+
26+
import static com.ning.http.client.providers.grizzly.GrizzlyAsyncHttpProviderConfig.Property.TRANSPORT_CUSTOMIZER;
2027

2128
public class GrizzlyAsyncProviderBasicTest extends AsyncProvidersBasicTest {
2229

@@ -29,4 +36,16 @@ public AsyncHttpClient getAsyncHttpClient(AsyncHttpClientConfig config) {
2936
return new AsyncHttpClient(new GrizzlyAsyncHttpProvider(config), config);
3037
}
3138

39+
@Override
40+
protected AsyncHttpProviderConfig getProviderConfig() {
41+
final GrizzlyAsyncHttpProviderConfig config = new GrizzlyAsyncHttpProviderConfig();
42+
config.addProperty(TRANSPORT_CUSTOMIZER, new TransportCustomizer() {
43+
@Override
44+
public void customize(TCPNIOTransport transport) {
45+
transport.setTcpNoDelay(true);
46+
transport.setIOStrategy(SameThreadIOStrategy.getInstance());
47+
}
48+
});
49+
return config;
50+
}
3251
}

src/test/java/com/ning/http/client/async/grizzly/GrizzlyRedirectConnectionUsageTest.java

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,15 @@
1515

1616
import com.ning.http.client.AsyncHttpClient;
1717
import com.ning.http.client.AsyncHttpClientConfig;
18+
import com.ning.http.client.AsyncHttpProviderConfig;
1819
import com.ning.http.client.async.RedirectConnectionUsageTest;
1920
import com.ning.http.client.providers.grizzly.GrizzlyAsyncHttpProvider;
21+
import com.ning.http.client.providers.grizzly.GrizzlyAsyncHttpProviderConfig;
22+
import com.ning.http.client.providers.grizzly.TransportCustomizer;
23+
import org.glassfish.grizzly.nio.transport.TCPNIOTransport;
24+
import org.glassfish.grizzly.strategies.SameThreadIOStrategy;
25+
26+
import static com.ning.http.client.providers.grizzly.GrizzlyAsyncHttpProviderConfig.Property.TRANSPORT_CUSTOMIZER;
2027

2128
public class GrizzlyRedirectConnectionUsageTest extends RedirectConnectionUsageTest {
2229

@@ -28,4 +35,18 @@ public AsyncHttpClient getAsyncHttpClient(AsyncHttpClientConfig config) {
2835
return new AsyncHttpClient(new GrizzlyAsyncHttpProvider(config), config);
2936
}
3037

38+
@Override
39+
protected AsyncHttpProviderConfig getProviderConfig() {
40+
final GrizzlyAsyncHttpProviderConfig config = new GrizzlyAsyncHttpProviderConfig();
41+
config.addProperty(TRANSPORT_CUSTOMIZER, new TransportCustomizer() {
42+
@Override
43+
public void customize(TCPNIOTransport transport) {
44+
if (System.getProperty("blockingio") != null) {
45+
transport.configureBlocking(true);
46+
}
47+
transport.setIOStrategy(SameThreadIOStrategy.getInstance());
48+
}
49+
});
50+
return config;
51+
}
3152
}

src/test/java/com/ning/http/client/async/netty/NettyAsyncProviderBasicTest.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,10 @@
1414

1515
import com.ning.http.client.AsyncHttpClient;
1616
import com.ning.http.client.AsyncHttpClientConfig;
17+
import com.ning.http.client.AsyncHttpProviderConfig;
1718
import com.ning.http.client.async.AsyncProvidersBasicTest;
1819
import com.ning.http.client.async.ProviderUtil;
20+
import com.ning.http.client.providers.netty.NettyAsyncHttpProviderConfig;
1921

2022
public class NettyAsyncProviderBasicTest extends AsyncProvidersBasicTest {
2123

@@ -24,4 +26,11 @@ public AsyncHttpClient getAsyncHttpClient(AsyncHttpClientConfig config) {
2426
return ProviderUtil.nettyProvider(config);
2527
}
2628

29+
@Override
30+
protected AsyncHttpProviderConfig getProviderConfig() {
31+
final NettyAsyncHttpProviderConfig config =
32+
new NettyAsyncHttpProviderConfig();
33+
config.addProperty("tcpNoDelay", true);
34+
return config;
35+
}
2736
}

src/test/java/com/ning/http/client/async/netty/NettyRedirectConnectionUsageTest.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,24 @@
1414

1515
import com.ning.http.client.AsyncHttpClient;
1616
import com.ning.http.client.AsyncHttpClientConfig;
17+
import com.ning.http.client.AsyncHttpProviderConfig;
1718
import com.ning.http.client.async.ProviderUtil;
1819
import com.ning.http.client.async.RedirectConnectionUsageTest;
20+
import com.ning.http.client.providers.netty.NettyAsyncHttpProviderConfig;
1921

2022
public class NettyRedirectConnectionUsageTest extends RedirectConnectionUsageTest {
2123
@Override
2224
public AsyncHttpClient getAsyncHttpClient(AsyncHttpClientConfig config) {
2325
return ProviderUtil.nettyProvider(config);
2426
}
27+
28+
@Override
29+
protected AsyncHttpProviderConfig getProviderConfig() {
30+
final NettyAsyncHttpProviderConfig config =
31+
new NettyAsyncHttpProviderConfig();
32+
if (System.getProperty("blockingio") != null) {
33+
config.addProperty(NettyAsyncHttpProviderConfig.USE_BLOCKING_IO, "true");
34+
}
35+
return config;
36+
}
2537
}

0 commit comments

Comments
 (0)