mirror of
https://github.com/androidx/media.git
synced 2025-05-08 08:00:49 +08:00
Move MockitoUtils to testutils and use it for all Mockito set-ups.
In particular this allows to have the workaround for https://code.google.com/p/dexmaker/issues/detail?id=2 in one place only. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=176340526
This commit is contained in:
parent
82d0a27fd9
commit
3f6b4d18a9
@ -40,6 +40,7 @@ dependencies {
|
|||||||
compile files('libs/cronet_impl_common_java.jar')
|
compile files('libs/cronet_impl_common_java.jar')
|
||||||
compile files('libs/cronet_impl_native_java.jar')
|
compile files('libs/cronet_impl_native_java.jar')
|
||||||
androidTestCompile project(modulePrefix + 'library')
|
androidTestCompile project(modulePrefix + 'library')
|
||||||
|
androidTestCompile project(modulePrefix + 'testutils')
|
||||||
androidTestCompile 'com.google.dexmaker:dexmaker:' + dexmakerVersion
|
androidTestCompile 'com.google.dexmaker:dexmaker:' + dexmakerVersion
|
||||||
androidTestCompile 'com.google.dexmaker:dexmaker-mockito:' + dexmakerVersion
|
androidTestCompile 'com.google.dexmaker:dexmaker-mockito:' + dexmakerVersion
|
||||||
androidTestCompile 'org.mockito:mockito-core:' + mockitoVersion
|
androidTestCompile 'org.mockito:mockito-core:' + mockitoVersion
|
||||||
|
@ -19,10 +19,10 @@ import static org.junit.Assert.assertArrayEquals;
|
|||||||
import static org.junit.Assert.assertEquals;
|
import static org.junit.Assert.assertEquals;
|
||||||
import static org.mockito.Mockito.times;
|
import static org.mockito.Mockito.times;
|
||||||
import static org.mockito.Mockito.verify;
|
import static org.mockito.Mockito.verify;
|
||||||
import static org.mockito.MockitoAnnotations.initMocks;
|
|
||||||
|
|
||||||
import android.support.test.InstrumentationRegistry;
|
import android.support.test.InstrumentationRegistry;
|
||||||
import android.support.test.runner.AndroidJUnit4;
|
import android.support.test.runner.AndroidJUnit4;
|
||||||
|
import com.google.android.exoplayer2.testutil.MockitoUtil;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.nio.ByteBuffer;
|
import java.nio.ByteBuffer;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
@ -46,9 +46,7 @@ public final class ByteArrayUploadDataProviderTest {
|
|||||||
|
|
||||||
@Before
|
@Before
|
||||||
public void setUp() {
|
public void setUp() {
|
||||||
System.setProperty("dexmaker.dexcache",
|
MockitoUtil.setUpMockito(InstrumentationRegistry.getTargetContext(), this);
|
||||||
InstrumentationRegistry.getTargetContext().getCacheDir().getPath());
|
|
||||||
initMocks(this);
|
|
||||||
byteBuffer = ByteBuffer.allocate(TEST_DATA.length);
|
byteBuffer = ByteBuffer.allocate(TEST_DATA.length);
|
||||||
byteArrayUploadDataProvider = new ByteArrayUploadDataProvider(TEST_DATA);
|
byteArrayUploadDataProvider = new ByteArrayUploadDataProvider(TEST_DATA);
|
||||||
}
|
}
|
||||||
|
@ -31,13 +31,13 @@ import static org.mockito.Mockito.spy;
|
|||||||
import static org.mockito.Mockito.times;
|
import static org.mockito.Mockito.times;
|
||||||
import static org.mockito.Mockito.verify;
|
import static org.mockito.Mockito.verify;
|
||||||
import static org.mockito.Mockito.when;
|
import static org.mockito.Mockito.when;
|
||||||
import static org.mockito.MockitoAnnotations.initMocks;
|
|
||||||
|
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.ConditionVariable;
|
import android.os.ConditionVariable;
|
||||||
import android.support.test.InstrumentationRegistry;
|
import android.support.test.InstrumentationRegistry;
|
||||||
import android.support.test.runner.AndroidJUnit4;
|
import android.support.test.runner.AndroidJUnit4;
|
||||||
import com.google.android.exoplayer2.C;
|
import com.google.android.exoplayer2.C;
|
||||||
|
import com.google.android.exoplayer2.testutil.MockitoUtil;
|
||||||
import com.google.android.exoplayer2.upstream.DataSpec;
|
import com.google.android.exoplayer2.upstream.DataSpec;
|
||||||
import com.google.android.exoplayer2.upstream.HttpDataSource;
|
import com.google.android.exoplayer2.upstream.HttpDataSource;
|
||||||
import com.google.android.exoplayer2.upstream.HttpDataSource.HttpDataSourceException;
|
import com.google.android.exoplayer2.upstream.HttpDataSource.HttpDataSourceException;
|
||||||
@ -107,9 +107,7 @@ public final class CronetDataSourceTest {
|
|||||||
|
|
||||||
@Before
|
@Before
|
||||||
public void setUp() throws Exception {
|
public void setUp() throws Exception {
|
||||||
System.setProperty("dexmaker.dexcache",
|
MockitoUtil.setUpMockito(InstrumentationRegistry.getTargetContext(), this);
|
||||||
InstrumentationRegistry.getTargetContext().getCacheDir().getPath());
|
|
||||||
initMocks(this);
|
|
||||||
dataSourceUnderTest = spy(
|
dataSourceUnderTest = spy(
|
||||||
new CronetDataSource(
|
new CronetDataSource(
|
||||||
mockCronetEngine,
|
mockCronetEngine,
|
||||||
|
@ -23,9 +23,9 @@ import android.test.MoreAsserts;
|
|||||||
import android.util.Pair;
|
import android.util.Pair;
|
||||||
import com.google.android.exoplayer2.C;
|
import com.google.android.exoplayer2.C;
|
||||||
import com.google.android.exoplayer2.drm.DrmInitData.SchemeData;
|
import com.google.android.exoplayer2.drm.DrmInitData.SchemeData;
|
||||||
|
import com.google.android.exoplayer2.testutil.MockitoUtil;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import org.mockito.Mock;
|
import org.mockito.Mock;
|
||||||
import org.mockito.MockitoAnnotations;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tests {@link OfflineLicenseHelper}.
|
* Tests {@link OfflineLicenseHelper}.
|
||||||
@ -38,7 +38,7 @@ public class OfflineLicenseHelperTest extends InstrumentationTestCase {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void setUp() throws Exception {
|
protected void setUp() throws Exception {
|
||||||
setUpMockito(this);
|
MockitoUtil.setUpMockito(this);
|
||||||
when(mediaDrm.openSession()).thenReturn(new byte[] {1, 2, 3});
|
when(mediaDrm.openSession()).thenReturn(new byte[] {1, 2, 3});
|
||||||
offlineLicenseHelper = new OfflineLicenseHelper<>(C.WIDEVINE_UUID, mediaDrm, mediaDrmCallback,
|
offlineLicenseHelper = new OfflineLicenseHelper<>(C.WIDEVINE_UUID, mediaDrm, mediaDrmCallback,
|
||||||
null);
|
null);
|
||||||
@ -156,14 +156,4 @@ public class OfflineLicenseHelperTest extends InstrumentationTestCase {
|
|||||||
new byte[] {1, 4, 7, 0, 3, 6}));
|
new byte[] {1, 4, 7, 0, 3, 6}));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets up Mockito for an instrumentation test.
|
|
||||||
*/
|
|
||||||
private static void setUpMockito(InstrumentationTestCase instrumentationTestCase) {
|
|
||||||
// Workaround for https://code.google.com/p/dexmaker/issues/detail?id=2.
|
|
||||||
System.setProperty("dexmaker.dexcache",
|
|
||||||
instrumentationTestCase.getInstrumentation().getTargetContext().getCacheDir().getPath());
|
|
||||||
MockitoAnnotations.initMocks(instrumentationTestCase);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -17,11 +17,11 @@ package com.google.android.exoplayer2.upstream.cache;
|
|||||||
|
|
||||||
import android.test.InstrumentationTestCase;
|
import android.test.InstrumentationTestCase;
|
||||||
import com.google.android.exoplayer2.extractor.ChunkIndex;
|
import com.google.android.exoplayer2.extractor.ChunkIndex;
|
||||||
|
import com.google.android.exoplayer2.testutil.MockitoUtil;
|
||||||
import com.google.android.exoplayer2.util.Util;
|
import com.google.android.exoplayer2.util.Util;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import org.mockito.Mock;
|
import org.mockito.Mock;
|
||||||
import org.mockito.MockitoAnnotations;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tests for {@link CachedRegionTracker}.
|
* Tests for {@link CachedRegionTracker}.
|
||||||
@ -46,7 +46,7 @@ public final class CachedRegionTrackerTest extends InstrumentationTestCase {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void setUp() throws Exception {
|
protected void setUp() throws Exception {
|
||||||
setUpMockito(this);
|
MockitoUtil.setUpMockito(this);
|
||||||
|
|
||||||
tracker = new CachedRegionTracker(cache, CACHE_KEY, CHUNK_INDEX);
|
tracker = new CachedRegionTracker(cache, CACHE_KEY, CHUNK_INDEX);
|
||||||
cacheDir = Util.createTempDirectory(getInstrumentation().getContext(), "ExoPlayerTest");
|
cacheDir = Util.createTempDirectory(getInstrumentation().getContext(), "ExoPlayerTest");
|
||||||
@ -123,14 +123,4 @@ public final class CachedRegionTrackerTest extends InstrumentationTestCase {
|
|||||||
return SimpleCacheSpanTest.createCacheSpan(index, cacheDir, CACHE_KEY, position, length, 0);
|
return SimpleCacheSpanTest.createCacheSpan(index, cacheDir, CACHE_KEY, position, length, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets up Mockito for an instrumentation test.
|
|
||||||
*/
|
|
||||||
private static void setUpMockito(InstrumentationTestCase instrumentationTestCase) {
|
|
||||||
// Workaround for https://code.google.com/p/dexmaker/issues/detail?id=2.
|
|
||||||
System.setProperty("dexmaker.dexcache",
|
|
||||||
instrumentationTestCase.getInstrumentation().getTargetContext().getCacheDir().getPath());
|
|
||||||
MockitoAnnotations.initMocks(instrumentationTestCase);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -27,12 +27,12 @@ import com.google.android.exoplayer2.C;
|
|||||||
import com.google.android.exoplayer2.offline.DownloadException;
|
import com.google.android.exoplayer2.offline.DownloadException;
|
||||||
import com.google.android.exoplayer2.offline.Downloader.ProgressListener;
|
import com.google.android.exoplayer2.offline.Downloader.ProgressListener;
|
||||||
import com.google.android.exoplayer2.offline.DownloaderConstructorHelper;
|
import com.google.android.exoplayer2.offline.DownloaderConstructorHelper;
|
||||||
import com.google.android.exoplayer2.source.dash.MockitoUtil;
|
|
||||||
import com.google.android.exoplayer2.source.dash.manifest.DashManifest;
|
import com.google.android.exoplayer2.source.dash.manifest.DashManifest;
|
||||||
import com.google.android.exoplayer2.source.dash.manifest.RepresentationKey;
|
import com.google.android.exoplayer2.source.dash.manifest.RepresentationKey;
|
||||||
import com.google.android.exoplayer2.testutil.FakeDataSet;
|
import com.google.android.exoplayer2.testutil.FakeDataSet;
|
||||||
import com.google.android.exoplayer2.testutil.FakeDataSource;
|
import com.google.android.exoplayer2.testutil.FakeDataSource;
|
||||||
import com.google.android.exoplayer2.testutil.FakeDataSource.Factory;
|
import com.google.android.exoplayer2.testutil.FakeDataSource.Factory;
|
||||||
|
import com.google.android.exoplayer2.testutil.MockitoUtil;
|
||||||
import com.google.android.exoplayer2.testutil.TestUtil;
|
import com.google.android.exoplayer2.testutil.TestUtil;
|
||||||
import com.google.android.exoplayer2.upstream.DataSpec;
|
import com.google.android.exoplayer2.upstream.DataSpec;
|
||||||
import com.google.android.exoplayer2.upstream.cache.NoOpCacheEvictor;
|
import com.google.android.exoplayer2.upstream.cache.NoOpCacheEvictor;
|
||||||
|
@ -13,8 +13,9 @@
|
|||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
package com.google.android.exoplayer2.source.dash;
|
package com.google.android.exoplayer2.testutil;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
import android.test.InstrumentationTestCase;
|
import android.test.InstrumentationTestCase;
|
||||||
import org.mockito.MockitoAnnotations;
|
import org.mockito.MockitoAnnotations;
|
||||||
|
|
||||||
@ -25,6 +26,8 @@ public final class MockitoUtil {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets up Mockito for an instrumentation test.
|
* Sets up Mockito for an instrumentation test.
|
||||||
|
*
|
||||||
|
* @param instrumentationTestCase The instrumentation test case class.
|
||||||
*/
|
*/
|
||||||
public static void setUpMockito(InstrumentationTestCase instrumentationTestCase) {
|
public static void setUpMockito(InstrumentationTestCase instrumentationTestCase) {
|
||||||
// Workaround for https://code.google.com/p/dexmaker/issues/detail?id=2.
|
// Workaround for https://code.google.com/p/dexmaker/issues/detail?id=2.
|
||||||
@ -33,6 +36,19 @@ public final class MockitoUtil {
|
|||||||
MockitoAnnotations.initMocks(instrumentationTestCase);
|
MockitoAnnotations.initMocks(instrumentationTestCase);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets up Mockito for a JUnit4 test.
|
||||||
|
*
|
||||||
|
* @param targetContext The target context. Usually obtained from
|
||||||
|
* {@code InstrumentationRegistry.getTargetContext()}
|
||||||
|
* @param testClass The JUnit4 test class.
|
||||||
|
*/
|
||||||
|
public static void setUpMockito(Context targetContext, Object testClass) {
|
||||||
|
// Workaround for https://code.google.com/p/dexmaker/issues/detail?id=2.
|
||||||
|
System.setProperty("dexmaker.dexcache", targetContext.getCacheDir().getPath());
|
||||||
|
MockitoAnnotations.initMocks(testClass);
|
||||||
|
}
|
||||||
|
|
||||||
private MockitoUtil() {}
|
private MockitoUtil() {}
|
||||||
|
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user