Skip to content

Commit e4412be

Browse files
authored
fix(integ-test): Fix Integ test issue after making Apache5 as default (#6974)
* fix(dynamodb): Add TCP keep-alive permissions to SecurityManager test policy for Apache 5 compatibility. Apache 5.6 sets TCP_KEEPIDLE/INTERVAL/COUNT by default which requires jdk.net.NetworkPermission. * Fix ResponseInputStreamTimeoutIntegrationTest to update it to Apache5 exception assertion * Remove apache5-client test scope from s3/pom.xml to restore runtime transitivity. The test scope override prevented downstream modules like s3-transfer-manager from discovering the HTTP client via SPI * Dumy commit to trigger integ test * because we use org.apache.hc.core5.http.ConnectionRequestTimeoutException in ResponseInputStreamTimeoutIntegrationTest * Removing Apache5 specific execption from ResponseInputStreamTimeoutIntegrationTest and asserting just on error message * remove apache 5 as test dependency since it present as runtime
1 parent 6cd3046 commit e4412be

3 files changed

Lines changed: 6 additions & 9 deletions

File tree

services/dynamodb/src/test/resources/software/amazon/awssdk/services/dynamodb/security-manager-integ-test.policy

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,11 @@ grant {
66
permission "javax.net.ssl.SSLPermission" "setDefaultSSLContext";
77
permission "java.net.SocketPermission" "*", "connect,resolve";
88

9+
// Needed for Apache5 HTTP Client TCP keep-alive socket options
10+
permission jdk.net.NetworkPermission "setOption.TCP_KEEPIDLE";
11+
permission jdk.net.NetworkPermission "setOption.TCP_KEEPINTERVAL";
12+
permission jdk.net.NetworkPermission "setOption.TCP_KEEPCOUNT";
13+
914
// Needed for test to remove the security manager
1015
permission java.lang.RuntimePermission "setSecurityManager";
1116

services/s3/pom.xml

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -209,12 +209,6 @@
209209
<version>${awsjavasdk.version}</version>
210210
<scope>test</scope>
211211
</dependency>
212-
<dependency>
213-
<groupId>software.amazon.awssdk</groupId>
214-
<artifactId>apache5-client</artifactId>
215-
<version>${awsjavasdk.version}</version>
216-
<scope>test</scope>
217-
</dependency>
218212
<dependency>
219213
<groupId>io.netty</groupId>
220214
<artifactId>netty-transport</artifactId>

services/s3/src/it/java/software/amazon/awssdk/services/s3/ResponseInputStreamTimeoutIntegrationTest.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121

2222
import java.io.IOException;
2323
import java.time.Duration;
24-
import org.apache.http.conn.ConnectionPoolTimeoutException;
2524
import org.junit.AfterClass;
2625
import org.junit.Before;
2726
import org.junit.BeforeClass;
@@ -74,8 +73,7 @@ public void defaultTimeout_firstStreamNotConsumed_secondRequestTimesOut() {
7473
s3Client.getObject(getObjectRequest);
7574

7675
assertThatThrownBy(() -> s3Client.getObject(getObjectRequest))
77-
.hasRootCauseInstanceOf(ConnectionPoolTimeoutException.class)
78-
.hasMessageContaining("Timeout waiting for connection from pool");
76+
.hasMessageContaining("Timeout deadline");
7977
}
8078

8179
@Test

0 commit comments

Comments
 (0)