Run CronetDataSource contract test for all Cronet providers
The data source may behave differently, depending on the provider, so we can extend the contract test to check all available providers. PiperOrigin-RevId: 658457650
This commit is contained in:
parent
a98a37aa75
commit
56c419c1b3
@ -15,10 +15,7 @@
|
|||||||
*/
|
*/
|
||||||
package androidx.media3.datasource.cronet;
|
package androidx.media3.datasource.cronet;
|
||||||
|
|
||||||
import static com.google.common.truth.Truth.assertThat;
|
|
||||||
|
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import androidx.annotation.Nullable;
|
|
||||||
import androidx.media3.datasource.DataSource;
|
import androidx.media3.datasource.DataSource;
|
||||||
import androidx.media3.test.utils.DataSourceContractTest;
|
import androidx.media3.test.utils.DataSourceContractTest;
|
||||||
import androidx.media3.test.utils.HttpDataSourceTestEnv;
|
import androidx.media3.test.utils.HttpDataSourceTestEnv;
|
||||||
@ -29,6 +26,7 @@ import java.util.List;
|
|||||||
import java.util.concurrent.ExecutorService;
|
import java.util.concurrent.ExecutorService;
|
||||||
import java.util.concurrent.Executors;
|
import java.util.concurrent.Executors;
|
||||||
import org.chromium.net.CronetEngine;
|
import org.chromium.net.CronetEngine;
|
||||||
|
import org.chromium.net.CronetProvider;
|
||||||
import org.junit.After;
|
import org.junit.After;
|
||||||
import org.junit.Rule;
|
import org.junit.Rule;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
@ -47,16 +45,20 @@ public class CronetDataSourceContractTest extends DataSourceContractTest {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected List<DataSource> createDataSources() {
|
protected List<DataSource> createDataSources() {
|
||||||
@Nullable
|
List<CronetProvider> cronetProviders =
|
||||||
CronetEngine cronetEngine =
|
CronetProvider.getAllProviders(ApplicationProvider.getApplicationContext());
|
||||||
CronetUtil.buildCronetEngine(
|
ImmutableList.Builder<DataSource> dataSources = ImmutableList.builder();
|
||||||
ApplicationProvider.getApplicationContext(),
|
for (int i = 0; i < cronetProviders.size(); i++) {
|
||||||
/* userAgent= */ "test-agent",
|
CronetProvider provider = cronetProviders.get(i);
|
||||||
/* preferGooglePlayServices= */ false);
|
if (!provider.isEnabled()) {
|
||||||
assertThat(cronetEngine).isNotNull();
|
continue;
|
||||||
return ImmutableList.of(
|
}
|
||||||
|
CronetEngine cronetEngine = provider.createBuilder().setUserAgent("test-agent").build();
|
||||||
|
dataSources.add(
|
||||||
new CronetDataSource.Factory(cronetEngine, executorService).createDataSource());
|
new CronetDataSource.Factory(cronetEngine, executorService).createDataSource());
|
||||||
}
|
}
|
||||||
|
return dataSources.build();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected ImmutableList<TestResource> getTestResources() {
|
protected ImmutableList<TestResource> getTestResources() {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user