[Audiosharing] Clean up some tests - properly reset shadows and removed unused spy.
Test: atest -c com.android.settings.connecteddevice.audiosharing.audiostreams Bug: 308368124 Change-Id: If47a00ec02fbd78146483d5a409d9bcc42b5e841
This commit is contained in:
@@ -34,12 +34,12 @@ import com.android.settings.connecteddevice.audiosharing.audiostreams.testshadow
|
||||
import com.android.settings.testutils.shadow.ShadowThreadUtils;
|
||||
import com.android.settingslib.widget.ActionButtonsPreference;
|
||||
|
||||
import org.junit.After;
|
||||
import org.junit.Before;
|
||||
import org.junit.Rule;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.Spy;
|
||||
import org.mockito.junit.MockitoJUnit;
|
||||
import org.mockito.junit.MockitoRule;
|
||||
import org.robolectric.RobolectricTestRunner;
|
||||
@@ -59,7 +59,7 @@ public class AudioStreamButtonControllerTest {
|
||||
@Rule public final MockitoRule mMockitoRule = MockitoJUnit.rule();
|
||||
private static final String KEY = "audio_stream_button";
|
||||
private static final int BROADCAST_ID = 1;
|
||||
@Spy Context mContext = ApplicationProvider.getApplicationContext();
|
||||
private final Context mContext = ApplicationProvider.getApplicationContext();
|
||||
@Mock private AudioStreamsHelper mAudioStreamsHelper;
|
||||
@Mock private PreferenceScreen mScreen;
|
||||
@Mock private BluetoothLeBroadcastReceiveState mBroadcastReceiveState;
|
||||
@@ -80,6 +80,11 @@ public class AudioStreamButtonControllerTest {
|
||||
.thenReturn(mPreference);
|
||||
}
|
||||
|
||||
@After
|
||||
public void tearDown() {
|
||||
ShadowAudioStreamsHelper.reset();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDisplayPreference_sourceConnected_setDisconnectButton() {
|
||||
when(mAudioStreamsHelper.getAllConnectedSources())
|
||||
|
@@ -34,12 +34,12 @@ import com.android.settings.testutils.shadow.ShadowThreadUtils;
|
||||
import com.android.settings.widget.EntityHeaderController;
|
||||
import com.android.settingslib.widget.LayoutPreference;
|
||||
|
||||
import org.junit.After;
|
||||
import org.junit.Before;
|
||||
import org.junit.Rule;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.Spy;
|
||||
import org.mockito.junit.MockitoJUnit;
|
||||
import org.mockito.junit.MockitoRule;
|
||||
import org.robolectric.RobolectricTestRunner;
|
||||
@@ -61,7 +61,7 @@ public class AudioStreamHeaderControllerTest {
|
||||
private static final String KEY = "audio_stream_header";
|
||||
private static final int BROADCAST_ID = 1;
|
||||
private static final String BROADCAST_NAME = "broadcast name";
|
||||
@Spy Context mContext = ApplicationProvider.getApplicationContext();
|
||||
private final Context mContext = ApplicationProvider.getApplicationContext();
|
||||
@Mock private AudioStreamsHelper mAudioStreamsHelper;
|
||||
@Mock private PreferenceScreen mScreen;
|
||||
@Mock private BluetoothLeBroadcastReceiveState mBroadcastReceiveState;
|
||||
@@ -81,6 +81,12 @@ public class AudioStreamHeaderControllerTest {
|
||||
when(mPreference.getContext()).thenReturn(mContext);
|
||||
}
|
||||
|
||||
@After
|
||||
public void tearDown() {
|
||||
ShadowEntityHeaderController.reset();
|
||||
ShadowAudioStreamsHelper.reset();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDisplayPreference_sourceConnected_setSummary() {
|
||||
when(mAudioStreamsHelper.getAllConnectedSources())
|
||||
|
@@ -30,6 +30,7 @@ import android.view.View;
|
||||
|
||||
import androidx.preference.Preference.OnPreferenceClickListener;
|
||||
import androidx.preference.PreferenceViewHolder;
|
||||
import androidx.test.core.app.ApplicationProvider;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.connecteddevice.audiosharing.audiostreams.AudioStreamsProgressCategoryController.AudioStreamState;
|
||||
@@ -42,7 +43,6 @@ import org.mockito.Mock;
|
||||
import org.mockito.junit.MockitoJUnit;
|
||||
import org.mockito.junit.MockitoRule;
|
||||
import org.robolectric.RobolectricTestRunner;
|
||||
import org.robolectric.RuntimeEnvironment;
|
||||
|
||||
import java.util.Collections;
|
||||
|
||||
@@ -53,7 +53,7 @@ public class AudioStreamPreferenceTest {
|
||||
private static final String PROGRAM_NAME = "program_name";
|
||||
private static final int BROADCAST_RSSI = 1;
|
||||
@Rule public final MockitoRule mMockitoRule = MockitoJUnit.rule();
|
||||
private Context mContext;
|
||||
private final Context mContext = ApplicationProvider.getApplicationContext();
|
||||
private AudioStreamPreference mPreference;
|
||||
@Mock private BluetoothLeBroadcastMetadata mBluetoothLeBroadcastMetadata;
|
||||
@Mock private BluetoothLeBroadcastReceiveState mBluetoothLeBroadcastReceiveState;
|
||||
@@ -61,7 +61,6 @@ public class AudioStreamPreferenceTest {
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
mContext = RuntimeEnvironment.application;
|
||||
mPreference = new AudioStreamPreference(mContext, null);
|
||||
when(mBluetoothLeBroadcastMetadata.getBroadcastId()).thenReturn(BROADCAST_ID);
|
||||
when(mBluetoothLeBroadcastMetadata.getBroadcastName()).thenReturn(BROADCAST_NAME);
|
||||
|
@@ -28,6 +28,7 @@ import android.content.Context;
|
||||
|
||||
import androidx.preference.Preference;
|
||||
import androidx.preference.PreferenceScreen;
|
||||
import androidx.test.core.app.ApplicationProvider;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Rule;
|
||||
@@ -37,7 +38,6 @@ import org.mockito.Mock;
|
||||
import org.mockito.junit.MockitoJUnit;
|
||||
import org.mockito.junit.MockitoRule;
|
||||
import org.robolectric.RobolectricTestRunner;
|
||||
import org.robolectric.RuntimeEnvironment;
|
||||
|
||||
@RunWith(RobolectricTestRunner.class)
|
||||
public class AudioStreamsActiveDeviceControllerTest {
|
||||
@@ -48,7 +48,7 @@ public class AudioStreamsActiveDeviceControllerTest {
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
Context context = RuntimeEnvironment.application;
|
||||
Context context = ApplicationProvider.getApplicationContext();
|
||||
mController =
|
||||
new AudioStreamsActiveDeviceController(
|
||||
context, AudioStreamsActiveDeviceController.KEY);
|
||||
|
@@ -30,12 +30,12 @@ import com.android.settings.R;
|
||||
import com.android.settings.connecteddevice.audiosharing.audiostreams.testshadows.ShadowAudioStreamsHelper;
|
||||
import com.android.settingslib.bluetooth.CachedBluetoothDevice;
|
||||
|
||||
import org.junit.After;
|
||||
import org.junit.Before;
|
||||
import org.junit.Rule;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.Spy;
|
||||
import org.mockito.junit.MockitoJUnit;
|
||||
import org.mockito.junit.MockitoRule;
|
||||
import org.robolectric.RobolectricTestRunner;
|
||||
@@ -49,7 +49,7 @@ import org.robolectric.annotation.Config;
|
||||
public class AudioStreamsActiveDeviceSummaryUpdaterTest {
|
||||
@Rule public final MockitoRule mMockitoRule = MockitoJUnit.rule();
|
||||
private static final String DEVICE_NAME = "device_name";
|
||||
@Spy private final Context mContext = ApplicationProvider.getApplicationContext();
|
||||
private final Context mContext = ApplicationProvider.getApplicationContext();
|
||||
private final AudioStreamsActiveDeviceSummaryUpdater.OnSummaryChangeListener mFakeListener =
|
||||
summary -> mUpdatedSummary = summary;
|
||||
@Mock private CachedBluetoothDevice mCachedBluetoothDevice;
|
||||
@@ -60,10 +60,14 @@ public class AudioStreamsActiveDeviceSummaryUpdaterTest {
|
||||
@Before
|
||||
public void setUp() {
|
||||
ShadowAudioStreamsHelper.setUseMock(mAudioStreamsHelper);
|
||||
ShadowAudioStreamsHelper.resetCachedBluetoothDevice();
|
||||
mUpdater = new AudioStreamsActiveDeviceSummaryUpdater(mContext, mFakeListener);
|
||||
}
|
||||
|
||||
@After
|
||||
public void tearDown() {
|
||||
ShadowAudioStreamsHelper.reset();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void register_summaryUpdated() {
|
||||
mUpdater.register(true);
|
||||
|
@@ -23,6 +23,8 @@ import android.media.session.MediaController;
|
||||
import android.media.session.MediaSessionManager;
|
||||
import android.media.session.PlaybackState;
|
||||
|
||||
import androidx.test.core.app.ApplicationProvider;
|
||||
|
||||
import com.android.settings.connecteddevice.audiosharing.audiostreams.testshadows.ShadowAudioStreamsHelper;
|
||||
import com.android.settings.connecteddevice.audiosharing.audiostreams.testshadows.ShadowLocalMediaManager;
|
||||
import com.android.settingslib.bluetooth.CachedBluetoothDevice;
|
||||
@@ -30,6 +32,7 @@ import com.android.settingslib.bluetooth.LocalBluetoothManager;
|
||||
import com.android.settingslib.media.BluetoothMediaDevice;
|
||||
import com.android.settingslib.media.LocalMediaManager;
|
||||
|
||||
import org.junit.After;
|
||||
import org.junit.Before;
|
||||
import org.junit.Rule;
|
||||
import org.junit.Test;
|
||||
@@ -38,7 +41,6 @@ import org.mockito.Mock;
|
||||
import org.mockito.junit.MockitoJUnit;
|
||||
import org.mockito.junit.MockitoRule;
|
||||
import org.robolectric.RobolectricTestRunner;
|
||||
import org.robolectric.RuntimeEnvironment;
|
||||
import org.robolectric.annotation.Config;
|
||||
|
||||
import java.util.List;
|
||||
@@ -64,15 +66,20 @@ public class MediaControlHelperTest {
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
mContext = spy(RuntimeEnvironment.application);
|
||||
mContext = spy(ApplicationProvider.getApplicationContext());
|
||||
when(mContext.getSystemService(MediaSessionManager.class)).thenReturn(mMediaSessionManager);
|
||||
when(mMediaSessionManager.getActiveSessions(any())).thenReturn(List.of(mMediaController));
|
||||
when(mMediaController.getPackageName()).thenReturn(FAKE_PACKAGE);
|
||||
when(mMediaController.getPlaybackState()).thenReturn(mPlaybackState);
|
||||
ShadowAudioStreamsHelper.resetCachedBluetoothDevice();
|
||||
ShadowLocalMediaManager.setUseMock(mLocalMediaManager);
|
||||
}
|
||||
|
||||
@After
|
||||
public void tearDown() {
|
||||
ShadowAudioStreamsHelper.reset();
|
||||
ShadowLocalMediaManager.reset();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testStart_noBluetoothManager_doNothing() {
|
||||
MediaControlHelper helper = new MediaControlHelper(mContext, null);
|
||||
|
@@ -21,7 +21,6 @@ import static com.android.settings.connecteddevice.audiosharing.audiostreams.Aud
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import static org.mockito.Mockito.never;
|
||||
import static org.mockito.Mockito.spy;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
import static org.robolectric.shadows.ShadowLooper.shadowMainLooper;
|
||||
@@ -33,6 +32,7 @@ import android.content.Context;
|
||||
import androidx.preference.Preference;
|
||||
import androidx.test.core.app.ApplicationProvider;
|
||||
|
||||
import org.junit.After;
|
||||
import org.junit.Before;
|
||||
import org.junit.Rule;
|
||||
import org.junit.Test;
|
||||
@@ -60,10 +60,15 @@ public class SyncedStateTest {
|
||||
@Before
|
||||
public void setUp() {
|
||||
ShadowAlertDialog.reset();
|
||||
mMockContext = spy(ApplicationProvider.getApplicationContext());
|
||||
mMockContext = ApplicationProvider.getApplicationContext();
|
||||
mInstance = SyncedState.getInstance();
|
||||
}
|
||||
|
||||
@After
|
||||
public void tearDown() {
|
||||
ShadowAlertDialog.reset();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetInstance() {
|
||||
assertThat(mInstance).isNotNull();
|
||||
|
@@ -18,12 +18,15 @@ package com.android.settings.connecteddevice.audiosharing.audiostreams.testshado
|
||||
|
||||
import android.bluetooth.BluetoothLeBroadcastReceiveState;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.android.settings.connecteddevice.audiosharing.audiostreams.AudioStreamsHelper;
|
||||
import com.android.settingslib.bluetooth.CachedBluetoothDevice;
|
||||
import com.android.settingslib.bluetooth.LocalBluetoothManager;
|
||||
|
||||
import org.robolectric.annotation.Implementation;
|
||||
import org.robolectric.annotation.Implements;
|
||||
import org.robolectric.annotation.Resetter;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
@@ -31,20 +34,22 @@ import java.util.Optional;
|
||||
@Implements(value = AudioStreamsHelper.class, callThroughByDefault = false)
|
||||
public class ShadowAudioStreamsHelper {
|
||||
private static AudioStreamsHelper sMockHelper;
|
||||
private static Optional<CachedBluetoothDevice> sCachedBluetoothDevice;
|
||||
@Nullable private static CachedBluetoothDevice sCachedBluetoothDevice;
|
||||
|
||||
public static void setUseMock(AudioStreamsHelper mockAudioStreamsHelper) {
|
||||
sMockHelper = mockAudioStreamsHelper;
|
||||
}
|
||||
|
||||
/** Resets {@link CachedBluetoothDevice} */
|
||||
public static void resetCachedBluetoothDevice() {
|
||||
sCachedBluetoothDevice = Optional.empty();
|
||||
/** Reset static fields */
|
||||
@Resetter
|
||||
public static void reset() {
|
||||
sMockHelper = null;
|
||||
sCachedBluetoothDevice = null;
|
||||
}
|
||||
|
||||
public static void setCachedBluetoothDeviceInSharingOrLeConnected(
|
||||
CachedBluetoothDevice cachedBluetoothDevice) {
|
||||
sCachedBluetoothDevice = Optional.of(cachedBluetoothDevice);
|
||||
sCachedBluetoothDevice = cachedBluetoothDevice;
|
||||
}
|
||||
|
||||
@Implementation
|
||||
@@ -56,6 +61,6 @@ public class ShadowAudioStreamsHelper {
|
||||
@Implementation
|
||||
public static Optional<CachedBluetoothDevice> getCachedBluetoothDeviceInSharingOrLeConnected(
|
||||
LocalBluetoothManager manager) {
|
||||
return sCachedBluetoothDevice;
|
||||
return Optional.ofNullable(sCachedBluetoothDevice);
|
||||
}
|
||||
}
|
||||
|
@@ -25,6 +25,7 @@ import com.android.settings.widget.EntityHeaderController;
|
||||
|
||||
import org.robolectric.annotation.Implementation;
|
||||
import org.robolectric.annotation.Implements;
|
||||
import org.robolectric.annotation.Resetter;
|
||||
|
||||
@Implements(value = EntityHeaderController.class, callThroughByDefault = false)
|
||||
public class ShadowEntityHeaderController {
|
||||
@@ -34,6 +35,12 @@ public class ShadowEntityHeaderController {
|
||||
sMockController = mockController;
|
||||
}
|
||||
|
||||
/** Reset static fields */
|
||||
@Resetter
|
||||
public static void reset() {
|
||||
sMockController = null;
|
||||
}
|
||||
|
||||
/** Returns new instance of {@link EntityHeaderController} */
|
||||
@Implementation
|
||||
public static EntityHeaderController newInstance(
|
||||
|
@@ -21,6 +21,7 @@ import com.android.settingslib.media.MediaDevice;
|
||||
|
||||
import org.robolectric.annotation.Implementation;
|
||||
import org.robolectric.annotation.Implements;
|
||||
import org.robolectric.annotation.Resetter;
|
||||
|
||||
import java.util.Collections;
|
||||
|
||||
@@ -34,6 +35,13 @@ public class ShadowLocalMediaManager {
|
||||
sMockManager = mockLocalMediaManager;
|
||||
}
|
||||
|
||||
/** Reset static fields */
|
||||
@Resetter
|
||||
public static void reset() {
|
||||
sMockManager = null;
|
||||
sDeviceCallback = null;
|
||||
}
|
||||
|
||||
/** Triggers onDeviceListUpdate of {@link LocalMediaManager.DeviceCallback} */
|
||||
public static void onDeviceListUpdate() {
|
||||
sDeviceCallback.onDeviceListUpdate(Collections.emptyList());
|
||||
@@ -45,7 +53,7 @@ public class ShadowLocalMediaManager {
|
||||
sMockManager.startScan();
|
||||
}
|
||||
|
||||
/** Registers {@link LocalMediaManager.DeviceCallback} */
|
||||
/** Registers {@link LocalMediaManager.DeviceCallback} */
|
||||
@Implementation
|
||||
public void registerCallback(LocalMediaManager.DeviceCallback deviceCallback) {
|
||||
sMockManager.registerCallback(deviceCallback);
|
||||
|
Reference in New Issue
Block a user