From b5527e329b5530cc21bcd94ae29c3aebf30da1fe Mon Sep 17 00:00:00 2001 From: timhypeng Date: Fri, 10 Jul 2020 21:38:19 +0800 Subject: [PATCH] Fix test case fail Bug: 160956047 Test: make -j50 RunSettingsRoboTests Change-Id: Ib975e906aefc44c59a8465a586832d92664f5147 --- .../media/MediaOutputIndicatorWorkerTest.java | 12 +++++------- .../RemoteVolumeGroupControllerTest.java | 8 +++++++- .../android/settings/panel/MediaOutputPanelTest.java | 3 ++- .../sound/MediaOutputPreferenceControllerTest.java | 3 ++- 4 files changed, 16 insertions(+), 10 deletions(-) diff --git a/tests/robotests/src/com/android/settings/media/MediaOutputIndicatorWorkerTest.java b/tests/robotests/src/com/android/settings/media/MediaOutputIndicatorWorkerTest.java index d9b224796ab..c6d3c5e5b7d 100644 --- a/tests/robotests/src/com/android/settings/media/MediaOutputIndicatorWorkerTest.java +++ b/tests/robotests/src/com/android/settings/media/MediaOutputIndicatorWorkerTest.java @@ -22,7 +22,6 @@ import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.spy; -import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @@ -94,9 +93,9 @@ public class MediaOutputIndicatorWorkerTest { ShadowBluetoothUtils.sLocalBluetoothManager = mLocalBluetoothManager; when(mLocalBluetoothManager.getEventManager()).thenReturn(mBluetoothEventManager); mMediaOutputIndicatorWorker = new MediaOutputIndicatorWorker(mContext, URI); - when(mContext.getSystemService(MediaSessionManager.class)).thenReturn(mMediaSessionManager); + doReturn(mMediaSessionManager).when(mContext).getSystemService(MediaSessionManager.class); mMediaControllers.add(mMediaController); - when(mMediaSessionManager.getActiveSessions(any())).thenReturn(mMediaControllers); + doReturn(mMediaControllers).when(mMediaSessionManager).getActiveSessions(any()); mResolver = mock(ContentResolver.class); doReturn(mResolver).when(mContext).getContentResolver(); @@ -144,6 +143,7 @@ public class MediaOutputIndicatorWorkerTest { @Test public void onSlicePinned_noActiveController_noPackageName() { + mMediaOutputIndicatorWorker.mLocalMediaManager = mLocalMediaManager; mMediaControllers.clear(); mMediaOutputIndicatorWorker.onSlicePinned(); @@ -186,18 +186,16 @@ public class MediaOutputIndicatorWorkerTest { @Test public void onReceive_shouldNotifyChange() { + mMediaOutputIndicatorWorker.mLocalMediaManager = mLocalMediaManager; mMediaOutputIndicatorWorker.onSlicePinned(); waitForLocalMediaManagerInit(); - // onSlicePinned will registerCallback() and get first callback. Callback triggers this at - // the first time. - verify(mResolver, times(1)).notifyChange(URI, null); final Intent intent = new Intent(AudioManager.STREAM_DEVICES_CHANGED_ACTION); for (BroadcastReceiver receiver : mShadowApplication.getReceiversForIntent(intent)) { receiver.onReceive(mContext, intent); } // Intent receiver triggers notifyChange() again - verify(mResolver, times(2)).notifyChange(URI, null /* observer */); + verify(mResolver).notifyChange(URI, null /* observer */); } @Test diff --git a/tests/robotests/src/com/android/settings/notification/RemoteVolumeGroupControllerTest.java b/tests/robotests/src/com/android/settings/notification/RemoteVolumeGroupControllerTest.java index e8245055653..6dae2a6390d 100644 --- a/tests/robotests/src/com/android/settings/notification/RemoteVolumeGroupControllerTest.java +++ b/tests/robotests/src/com/android/settings/notification/RemoteVolumeGroupControllerTest.java @@ -21,6 +21,7 @@ import static com.android.settings.core.BasePreferenceController.CONDITIONALLY_U import static com.google.common.truth.Truth.assertThat; +import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.when; @@ -31,6 +32,7 @@ import android.content.pm.ApplicationInfo; import android.content.pm.PackageInfo; import android.content.pm.PackageStats; import android.media.RoutingSessionInfo; +import android.media.session.MediaSessionManager; import androidx.preference.Preference; import androidx.preference.PreferenceCategory; @@ -77,6 +79,8 @@ public class RemoteVolumeGroupControllerTest { private PreferenceManager mPreferenceManager; @Mock private SharedPreferences mSharedPreferences; + @Mock + private MediaSessionManager mMediaSessionManager; private final List mRoutingSessionInfos = new ArrayList<>(); @@ -91,7 +95,9 @@ public class RemoteVolumeGroupControllerTest { @Before public void setUp() { MockitoAnnotations.initMocks(this); - mContext = RuntimeEnvironment.application; + mContext = spy(RuntimeEnvironment.application); + doReturn(mMediaSessionManager).when(mContext).getSystemService( + Context.MEDIA_SESSION_SERVICE); mController = new RemoteVolumeGroupController(mContext, KEY_REMOTE_VOLUME_GROUP); mController.mLocalMediaManager = mLocalMediaManager; mPreferenceCategory = spy(new PreferenceCategory(mContext)); diff --git a/tests/robotests/src/com/android/settings/panel/MediaOutputPanelTest.java b/tests/robotests/src/com/android/settings/panel/MediaOutputPanelTest.java index 2ab428d9b75..4befa8ba9c3 100644 --- a/tests/robotests/src/com/android/settings/panel/MediaOutputPanelTest.java +++ b/tests/robotests/src/com/android/settings/panel/MediaOutputPanelTest.java @@ -21,6 +21,7 @@ import static com.android.settings.media.MediaOutputSlice.MEDIA_PACKAGE_NAME; import static com.google.common.truth.Truth.assertThat; import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; import static org.mockito.Mockito.spy; @@ -92,7 +93,7 @@ public class MediaOutputPanelTest { when(mMediaController.getPackageName()).thenReturn(TEST_PACKAGENAME); when(mMediaSessionManager.getActiveSessions(any())).thenReturn(mMediaControllers); when(mContext.getApplicationContext()).thenReturn(mContext); - when(mContext.getSystemService(MediaSessionManager.class)).thenReturn(mMediaSessionManager); + doReturn(mMediaSessionManager).when(mContext).getSystemService(MediaSessionManager.class); MediaDescription.Builder builder = new MediaDescription.Builder(); builder.setTitle(TEST_SONG); builder.setSubtitle(TEST_ARTIST); diff --git a/tests/robotests/src/com/android/settings/sound/MediaOutputPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/sound/MediaOutputPreferenceControllerTest.java index 49928dba0fd..8225c69b0b9 100644 --- a/tests/robotests/src/com/android/settings/sound/MediaOutputPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/sound/MediaOutputPreferenceControllerTest.java @@ -23,6 +23,7 @@ import static android.media.AudioSystem.DEVICE_OUT_HEARING_AID; import static com.google.common.truth.Truth.assertThat; import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; import static org.mockito.Mockito.spy; @@ -147,7 +148,7 @@ public class MediaOutputPreferenceControllerTest { ShadowBluetoothUtils.sLocalBluetoothManager = mLocalManager; mLocalBluetoothManager = Utils.getLocalBtManager(mContext); - when(mContext.getSystemService(MediaSessionManager.class)).thenReturn(mMediaSessionManager); + doReturn(mMediaSessionManager).when(mContext).getSystemService(MediaSessionManager.class); when(mMediaSessionManager.getActiveSessions(any())).thenReturn(mMediaControllers); when(mMediaController.getPackageName()).thenReturn(TEST_PACKAGE_NAME); mPlaybackInfo = new MediaController.PlaybackInfo(