Set connection & read timeout in HTTP data source contract tests

This timeout can be very low in these tests because we are always
trying to connect to an in-process `MockWebServer`. With the default
timeout value any 'resource not found' tests which use a domain that
can't be connected to take the max timeout (between 8s and 16s depending
on the HTTP stack).

PiperOrigin-RevId: 736466854
This commit is contained in:
ibaker 2025-03-13 05:14:55 -07:00 committed by Copybara-Service
parent 6d00fe58b5
commit aa6d8a7666
3 changed files with 15 additions and 3 deletions

View File

@ -31,7 +31,11 @@ public class DefaultHttpDataSourceContractTest extends DataSourceContractTest {
@Override
protected DataSource createDataSource() {
return new DefaultHttpDataSource.Factory().createDataSource();
return new DefaultHttpDataSource.Factory()
// Ensure that 'resource not found' tests fail fast (b/403179253).
.setConnectTimeoutMs(400)
.setReadTimeoutMs(400)
.createDataSource();
}
@Override

View File

@ -61,7 +61,11 @@ public class HttpEngineDataSourceContractTest extends DataSourceContractTest {
protected DataSource createDataSource() {
HttpEngine httpEngine =
new HttpEngine.Builder(ApplicationProvider.getApplicationContext()).build();
return new HttpEngineDataSource.Factory(httpEngine, executorService).createDataSource();
return new HttpEngineDataSource.Factory(httpEngine, executorService)
// Ensure that 'resource not found' tests fail fast (b/403179253).
.setConnectionTimeoutMs(400)
.setReadTimeoutMs(400)
.createDataSource();
}
@Override

View File

@ -54,7 +54,11 @@ public class CronetDataSourceContractTest extends DataSourceContractTest {
}
CronetEngine cronetEngine = provider.createBuilder().setUserAgent("test-agent").build();
dataSources.add(
new CronetDataSource.Factory(cronetEngine, executorService).createDataSource());
new CronetDataSource.Factory(cronetEngine, executorService)
// Ensure that 'resource not found' tests fail fast (b/403179253).
.setConnectionTimeoutMs(400)
.setReadTimeoutMs(400)
.createDataSource());
}
return dataSources.build();
}