Loading core/tests/BroadcastRadioTests/src/com/android/server/broadcastradio/RadioServiceUserControllerTest.java +29 −17 Original line number Diff line number Diff line Loading @@ -19,18 +19,18 @@ package com.android.server.broadcastradio; import static com.android.dx.mockito.inline.extended.ExtendedMockito.doReturn; import static com.android.dx.mockito.inline.extended.ExtendedMockito.doThrow; import static com.google.common.truth.Truth.assertWithMessage; import static org.mockito.Mockito.when; import android.app.ActivityManager; import android.app.compat.CompatChanges; import android.os.Binder; import android.os.UserHandle; import com.android.dx.mockito.inline.extended.StaticMockitoSessionBuilder; import com.google.common.truth.Expect; import org.junit.Before; import org.junit.Rule; import org.junit.Test; import org.mockito.Mock; Loading @@ -41,36 +41,40 @@ public final class RadioServiceUserControllerTest extends ExtendedRadioMockitoTe private static final int USER_ID_1 = 11; private static final int USER_ID_2 = 12; private RadioServiceUserController mUserController; @Mock private UserHandle mUserHandleMock; @Rule public final Expect expect = Expect.create(); @Override protected void initializeSession(StaticMockitoSessionBuilder builder) { builder.spyStatic(ActivityManager.class).spyStatic(Binder.class) .spyStatic(CompatChanges.class); builder.spyStatic(ActivityManager.class).spyStatic(Binder.class); } @Before public void setUp() { doReturn(mUserHandleMock).when(() -> Binder.getCallingUserHandle()); doReturn(USER_ID_1).when(() -> ActivityManager.getCurrentUser()); mUserController = new RadioServiceUserControllerImpl(); } @Test public void isCurrentOrSystemUser_forCurrentUser_returnsFalse() { when(mUserHandleMock.getIdentifier()).thenReturn(USER_ID_1); assertWithMessage("Current user") .that(RadioServiceUserController.isCurrentOrSystemUser()).isTrue(); expect.withMessage("Current user") .that(mUserController.isCurrentOrSystemUser()).isTrue(); } @Test public void isCurrentOrSystemUser_forNonCurrentUser_returnsFalse() { when(mUserHandleMock.getIdentifier()).thenReturn(USER_ID_2); assertWithMessage("Non-current user") .that(RadioServiceUserController.isCurrentOrSystemUser()).isFalse(); expect.withMessage("Non-current user") .that(mUserController.isCurrentOrSystemUser()).isFalse(); } @Test Loading @@ -78,8 +82,8 @@ public final class RadioServiceUserControllerTest extends ExtendedRadioMockitoTe when(mUserHandleMock.getIdentifier()).thenReturn(USER_ID_1); when(mUserHandleMock.getIdentifier()).thenReturn(UserHandle.USER_SYSTEM); assertWithMessage("System user") .that(RadioServiceUserController.isCurrentOrSystemUser()).isTrue(); expect.withMessage("System user") .that(mUserController.isCurrentOrSystemUser()).isTrue(); } @Test Loading @@ -87,14 +91,14 @@ public final class RadioServiceUserControllerTest extends ExtendedRadioMockitoTe when(mUserHandleMock.getIdentifier()).thenReturn(USER_ID_1); doThrow(new RuntimeException()).when(ActivityManager::getCurrentUser); assertWithMessage("User when activity manager fails") .that(RadioServiceUserController.isCurrentOrSystemUser()).isFalse(); expect.withMessage("User when activity manager fails") .that(mUserController.isCurrentOrSystemUser()).isFalse(); } @Test public void getCurrentUser() { assertWithMessage("Current user") .that(RadioServiceUserController.getCurrentUser()).isEqualTo(USER_ID_1); expect.withMessage("Current user") .that(mUserController.getCurrentUser()).isEqualTo(USER_ID_1); } @Test Loading @@ -102,7 +106,15 @@ public final class RadioServiceUserControllerTest extends ExtendedRadioMockitoTe when(mUserHandleMock.getIdentifier()).thenReturn(USER_ID_1); doThrow(new RuntimeException()).when(ActivityManager::getCurrentUser); assertWithMessage("Current user when activity manager fails") .that(RadioServiceUserController.getCurrentUser()).isEqualTo(UserHandle.USER_NULL); expect.withMessage("Current user when activity manager fails") .that(mUserController.getCurrentUser()).isEqualTo(UserHandle.USER_NULL); } @Test public void getCallingUserId() { when(mUserHandleMock.getIdentifier()).thenReturn(USER_ID_1); expect.withMessage("Calling user id") .that(mUserController.getCallingUserId()).isEqualTo(USER_ID_1); } } core/tests/BroadcastRadioTests/src/com/android/server/broadcastradio/aidl/BroadcastRadioServiceImplTest.java +8 −7 Original line number Diff line number Diff line Loading @@ -91,12 +91,13 @@ public final class BroadcastRadioServiceImplTest extends ExtendedRadioMockitoTes private IAnnouncementListener mAnnouncementListenerMock; @Mock private IBinder mListenerBinderMock; @Mock private RadioServiceUserController mUserControllerMock; @Override protected void initializeSession(StaticMockitoSessionBuilder builder) { builder.spyStatic(ServiceManager.class) .spyStatic(RadioModule.class) .spyStatic(RadioServiceUserController.class); .spyStatic(RadioModule.class); } @Test Loading Loading @@ -156,7 +157,7 @@ public final class BroadcastRadioServiceImplTest extends ExtendedRadioMockitoTes @Test public void openSession_forNonCurrentUser_throwsException() throws Exception { createBroadcastRadioService(); doReturn(false).when(() -> RadioServiceUserController.isCurrentOrSystemUser()); doReturn(false).when(mUserControllerMock).isCurrentOrSystemUser(); IllegalStateException thrown = assertThrows(IllegalStateException.class, () -> mBroadcastRadioService.openSession(FM_RADIO_MODULE_ID, Loading Loading @@ -206,9 +207,9 @@ public final class BroadcastRadioServiceImplTest extends ExtendedRadioMockitoTes } private void createBroadcastRadioService() throws RemoteException { doReturn(true).when(() -> RadioServiceUserController.isCurrentOrSystemUser()); doReturn(true).when(mUserControllerMock).isCurrentOrSystemUser(); mockServiceManager(); mBroadcastRadioService = new BroadcastRadioServiceImpl(SERVICE_LIST); mBroadcastRadioService = new BroadcastRadioServiceImpl(SERVICE_LIST, mUserControllerMock); } private void mockServiceManager() throws RemoteException { Loading @@ -222,9 +223,9 @@ public final class BroadcastRadioServiceImplTest extends ExtendedRadioMockitoTes any(IServiceCallback.class))); doReturn(mFmRadioModuleMock).when(() -> RadioModule.tryLoadingModule( eq(FM_RADIO_MODULE_ID), anyString(), any(IBinder.class))); eq(FM_RADIO_MODULE_ID), anyString(), any(IBinder.class), any())); doReturn(mDabRadioModuleMock).when(() -> RadioModule.tryLoadingModule( eq(DAB_RADIO_MODULE_ID), anyString(), any(IBinder.class))); eq(DAB_RADIO_MODULE_ID), anyString(), any(IBinder.class), any())); when(mFmRadioModuleMock.getProperties()).thenReturn(mFmModuleMock); when(mDabRadioModuleMock.getProperties()).thenReturn(mDabModuleMock); Loading core/tests/BroadcastRadioTests/src/com/android/server/broadcastradio/aidl/RadioModuleTest.java +6 −1 Original line number Diff line number Diff line Loading @@ -34,6 +34,8 @@ import android.hardware.radio.RadioManager; import android.os.ParcelableException; import android.os.RemoteException; import com.android.server.broadcastradio.RadioServiceUserController; import com.google.common.truth.Expect; import org.junit.Before; Loading Loading @@ -63,6 +65,8 @@ public final class RadioModuleTest { private IAnnouncementListener mListenerMock; @Mock private android.hardware.broadcastradio.ICloseHandle mHalCloseHandleMock; @Mock private RadioServiceUserController mUserControllerMock; // RadioModule under test private RadioModule mRadioModule; Loading @@ -70,7 +74,8 @@ public final class RadioModuleTest { @Before public void setup() throws RemoteException { mRadioModule = new RadioModule(mBroadcastRadioMock, TEST_MODULE_PROPERTIES); mRadioModule = new RadioModule(mBroadcastRadioMock, TEST_MODULE_PROPERTIES, mUserControllerMock); // TODO(b/241118988): test non-null image for getImage method when(mBroadcastRadioMock.getImage(anyInt())).thenReturn(null); Loading core/tests/BroadcastRadioTests/src/com/android/server/broadcastradio/aidl/TunerSessionTest.java +18 −22 Original line number Diff line number Diff line Loading @@ -49,12 +49,10 @@ import android.hardware.radio.ProgramSelector; import android.hardware.radio.RadioManager; import android.hardware.radio.RadioTuner; import android.hardware.radio.UniqueProgramIdentifier; import android.os.Binder; import android.os.DeadObjectException; import android.os.ParcelableException; import android.os.RemoteException; import android.os.ServiceSpecificException; import android.os.UserHandle; import android.platform.test.flag.junit.SetFlagsRule; import android.util.ArrayMap; import android.util.ArraySet; Loading Loading @@ -148,10 +146,10 @@ public final class TunerSessionTest extends ExtendedRadioMockitoTestCase { // Mocks @Mock private UserHandle mUserHandleMock; @Mock private IBroadcastRadio mBroadcastRadioMock; private android.hardware.radio.ITunerCallback[] mAidlTunerCallbackMocks; @Mock private RadioServiceUserController mUserControllerMock; // RadioModule under test private RadioModule mRadioModule; Loading @@ -170,8 +168,7 @@ public final class TunerSessionTest extends ExtendedRadioMockitoTestCase { @Override protected void initializeSession(StaticMockitoSessionBuilder builder) { builder.spyStatic(RadioServiceUserController.class).spyStatic(CompatChanges.class) .spyStatic(Binder.class); builder.spyStatic(CompatChanges.class); } @Before Loading @@ -182,13 +179,12 @@ public final class TunerSessionTest extends ExtendedRadioMockitoTestCase { doReturn(true).when(() -> CompatChanges.isChangeEnabled( eq(ConversionUtils.RADIO_U_VERSION_REQUIRED), anyInt())); doReturn(USER_ID_1).when(mUserHandleMock).getIdentifier(); doReturn(mUserHandleMock).when(() -> Binder.getCallingUserHandle()); doReturn(true).when(() -> RadioServiceUserController.isCurrentOrSystemUser()); doReturn(USER_ID_1).when(() -> RadioServiceUserController.getCurrentUser()); doReturn(USER_ID_1).when(mUserControllerMock).getCallingUserId(); doReturn(true).when(mUserControllerMock).isCurrentOrSystemUser(); doReturn(USER_ID_1).when(mUserControllerMock).getCurrentUser(); mRadioModule = new RadioModule(mBroadcastRadioMock, AidlTestUtils.makeDefaultModuleProperties()); AidlTestUtils.makeDefaultModuleProperties(), mUserControllerMock); doAnswer(invocation -> { mHalTunerCallback = (ITunerCallback) invocation.getArguments()[0]; Loading Loading @@ -237,7 +233,7 @@ public final class TunerSessionTest extends ExtendedRadioMockitoTestCase { @Test public void setConfiguration_forNonCurrentUser_doesNotInvokesCallback() throws Exception { openAidlClients(/* numClients= */ 1); doReturn(false).when(() -> RadioServiceUserController.isCurrentOrSystemUser()); doReturn(false).when(mUserControllerMock).isCurrentOrSystemUser(); mTunerSessions[0].setConfiguration(FM_BAND_CONFIG); Loading Loading @@ -434,7 +430,7 @@ public final class TunerSessionTest extends ExtendedRadioMockitoTestCase { @Test public void tune_forNonCurrentUser_doesNotTune() throws Exception { openAidlClients(/* numClients= */ 1); doReturn(false).when(() -> RadioServiceUserController.isCurrentOrSystemUser()); doReturn(false).when(mUserControllerMock).isCurrentOrSystemUser(); ProgramSelector initialSel = AidlTestUtils.makeFmSelector(AM_FM_FREQUENCY_LIST[1]); RadioManager.ProgramInfo tuneInfo = AidlTestUtils.makeProgramInfo(initialSel, SIGNAL_QUALITY); Loading Loading @@ -514,7 +510,7 @@ public final class TunerSessionTest extends ExtendedRadioMockitoTestCase { openAidlClients(/* numClients= */ 1); mHalCurrentInfo = AidlTestUtils.makeHalProgramInfo( ConversionUtils.programSelectorToHalProgramSelector(initialSel), SIGNAL_QUALITY); doReturn(false).when(() -> RadioServiceUserController.isCurrentOrSystemUser()); doReturn(false).when(mUserControllerMock).isCurrentOrSystemUser(); mTunerSessions[0].step(/* directionDown= */ true, /* skipSubChannel= */ false); Loading Loading @@ -593,7 +589,7 @@ public final class TunerSessionTest extends ExtendedRadioMockitoTestCase { openAidlClients(/* numClients= */ 1); mHalCurrentInfo = AidlTestUtils.makeHalProgramInfo( ConversionUtils.programSelectorToHalProgramSelector(initialSel), SIGNAL_QUALITY); doReturn(false).when(() -> RadioServiceUserController.isCurrentOrSystemUser()); doReturn(false).when(mUserControllerMock).isCurrentOrSystemUser(); mTunerSessions[0].seek(/* directionDown= */ true, /* skipSubChannel= */ false); Loading Loading @@ -627,7 +623,7 @@ public final class TunerSessionTest extends ExtendedRadioMockitoTestCase { @Test public void cancel_forNonCurrentUser_doesNotCancel() throws Exception { openAidlClients(/* numClients= */ 1); doReturn(false).when(() -> RadioServiceUserController.isCurrentOrSystemUser()); doReturn(false).when(mUserControllerMock).isCurrentOrSystemUser(); mTunerSessions[0].cancel(); Loading Loading @@ -698,7 +694,7 @@ public final class TunerSessionTest extends ExtendedRadioMockitoTestCase { @Test public void startBackgroundScan_forNonCurrentUser_doesNotInvokesCallback() throws Exception { openAidlClients(/* numClients= */ 1); doReturn(false).when(() -> RadioServiceUserController.isCurrentOrSystemUser()); doReturn(false).when(mUserControllerMock).isCurrentOrSystemUser(); mTunerSessions[0].startBackgroundScan(); Loading Loading @@ -968,7 +964,7 @@ public final class TunerSessionTest extends ExtendedRadioMockitoTestCase { openAidlClients(/* numClients= */ 1); ProgramList.Filter filter = new ProgramList.Filter(new ArraySet<>(), new ArraySet<>(), /* includeCategories= */ true, /* excludeModifications= */ false); doReturn(false).when(() -> RadioServiceUserController.isCurrentOrSystemUser()); doReturn(false).when(mUserControllerMock).isCurrentOrSystemUser(); mTunerSessions[0].startProgramListUpdates(filter); Loading Loading @@ -1007,7 +1003,7 @@ public final class TunerSessionTest extends ExtendedRadioMockitoTestCase { ProgramList.Filter filter = new ProgramList.Filter(new ArraySet<>(), new ArraySet<>(), /* includeCategories= */ true, /* excludeModifications= */ false); mTunerSessions[0].startProgramListUpdates(filter); doReturn(false).when(() -> RadioServiceUserController.isCurrentOrSystemUser()); doReturn(false).when(mUserControllerMock).isCurrentOrSystemUser(); mTunerSessions[0].stopProgramListUpdates(); Loading Loading @@ -1073,7 +1069,7 @@ public final class TunerSessionTest extends ExtendedRadioMockitoTestCase { public void setConfigFlag_forNonCurrentUser_doesNotSetConfigFlag() throws Exception { openAidlClients(/* numClients= */ 1); int flag = UNSUPPORTED_CONFIG_FLAG + 1; doReturn(false).when(() -> RadioServiceUserController.isCurrentOrSystemUser()); doReturn(false).when(mUserControllerMock).isCurrentOrSystemUser(); mTunerSessions[0].setConfigFlag(flag, /* value= */ true); Loading Loading @@ -1138,7 +1134,7 @@ public final class TunerSessionTest extends ExtendedRadioMockitoTestCase { openAidlClients(/* numClients= */ 1); Map<String, String> parametersSet = Map.of("mockParam1", "mockValue1", "mockParam2", "mockValue2"); doReturn(false).when(() -> RadioServiceUserController.isCurrentOrSystemUser()); doReturn(false).when(mUserControllerMock).isCurrentOrSystemUser(); mTunerSessions[0].setParameters(parametersSet); Loading Loading @@ -1192,7 +1188,7 @@ public final class TunerSessionTest extends ExtendedRadioMockitoTestCase { public void onCurrentProgramInfoChanged_withNonCurrentUser_doesNotInvokeCallback() throws Exception { openAidlClients(1); doReturn(USER_ID_2).when(() -> RadioServiceUserController.getCurrentUser()); doReturn(USER_ID_2).when(mUserControllerMock).getCurrentUser(); mHalTunerCallback.onCurrentProgramInfoChanged(AidlTestUtils.makeHalProgramInfo( AidlTestUtils.makeHalFmSelector(AM_FM_FREQUENCY_LIST[1]), SIGNAL_QUALITY)); Loading core/tests/BroadcastRadioTests/src/com/android/server/broadcastradio/hal2/BroadcastRadioServiceHidlTest.java +8 −7 Original line number Diff line number Diff line Loading @@ -88,11 +88,12 @@ public final class BroadcastRadioServiceHidlTest extends ExtendedRadioMockitoTes private IAnnouncementListener mAnnouncementListenerMock; @Mock private IBinder mBinderMock; @Mock private RadioServiceUserController mUserControllerMock; @Override protected void initializeSession(StaticMockitoSessionBuilder builder) { builder.spyStatic(RadioModule.class) .spyStatic(RadioServiceUserController.class); builder.spyStatic(RadioModule.class); } @Test Loading Loading @@ -156,7 +157,7 @@ public final class BroadcastRadioServiceHidlTest extends ExtendedRadioMockitoTes @Test public void openSession_forNonCurrentUser_throwsException() throws Exception { createBroadcastRadioService(); doReturn(false).when(() -> RadioServiceUserController.isCurrentOrSystemUser()); when(mUserControllerMock.isCurrentOrSystemUser()).thenReturn(false); IllegalStateException thrown = assertThrows(IllegalStateException.class, () -> mBroadcastRadioService.openSession(FM_RADIO_MODULE_ID, Loading Loading @@ -206,11 +207,11 @@ public final class BroadcastRadioServiceHidlTest extends ExtendedRadioMockitoTes } private void createBroadcastRadioService() throws RemoteException { doReturn(true).when(() -> RadioServiceUserController.isCurrentOrSystemUser()); when(mUserControllerMock.isCurrentOrSystemUser()).thenReturn(true); mockServiceManager(); mBroadcastRadioService = new BroadcastRadioService(/* nextModuleId= */ FM_RADIO_MODULE_ID, mServiceManagerMock); mServiceManagerMock, mUserControllerMock); } private void mockServiceManager() throws RemoteException { Loading @@ -231,9 +232,9 @@ public final class BroadcastRadioServiceHidlTest extends ExtendedRadioMockitoTes }).thenReturn(true); doReturn(mFmRadioModuleMock).when(() -> RadioModule.tryLoadingModule( eq(FM_RADIO_MODULE_ID), anyString())); eq(FM_RADIO_MODULE_ID), anyString(), any())); doReturn(mDabRadioModuleMock).when(() -> RadioModule.tryLoadingModule( eq(DAB_RADIO_MODULE_ID), anyString())); eq(DAB_RADIO_MODULE_ID), anyString(), any())); when(mFmRadioModuleMock.getProperties()).thenReturn(mFmModuleMock); when(mDabRadioModuleMock.getProperties()).thenReturn(mDabModuleMock); Loading Loading
core/tests/BroadcastRadioTests/src/com/android/server/broadcastradio/RadioServiceUserControllerTest.java +29 −17 Original line number Diff line number Diff line Loading @@ -19,18 +19,18 @@ package com.android.server.broadcastradio; import static com.android.dx.mockito.inline.extended.ExtendedMockito.doReturn; import static com.android.dx.mockito.inline.extended.ExtendedMockito.doThrow; import static com.google.common.truth.Truth.assertWithMessage; import static org.mockito.Mockito.when; import android.app.ActivityManager; import android.app.compat.CompatChanges; import android.os.Binder; import android.os.UserHandle; import com.android.dx.mockito.inline.extended.StaticMockitoSessionBuilder; import com.google.common.truth.Expect; import org.junit.Before; import org.junit.Rule; import org.junit.Test; import org.mockito.Mock; Loading @@ -41,36 +41,40 @@ public final class RadioServiceUserControllerTest extends ExtendedRadioMockitoTe private static final int USER_ID_1 = 11; private static final int USER_ID_2 = 12; private RadioServiceUserController mUserController; @Mock private UserHandle mUserHandleMock; @Rule public final Expect expect = Expect.create(); @Override protected void initializeSession(StaticMockitoSessionBuilder builder) { builder.spyStatic(ActivityManager.class).spyStatic(Binder.class) .spyStatic(CompatChanges.class); builder.spyStatic(ActivityManager.class).spyStatic(Binder.class); } @Before public void setUp() { doReturn(mUserHandleMock).when(() -> Binder.getCallingUserHandle()); doReturn(USER_ID_1).when(() -> ActivityManager.getCurrentUser()); mUserController = new RadioServiceUserControllerImpl(); } @Test public void isCurrentOrSystemUser_forCurrentUser_returnsFalse() { when(mUserHandleMock.getIdentifier()).thenReturn(USER_ID_1); assertWithMessage("Current user") .that(RadioServiceUserController.isCurrentOrSystemUser()).isTrue(); expect.withMessage("Current user") .that(mUserController.isCurrentOrSystemUser()).isTrue(); } @Test public void isCurrentOrSystemUser_forNonCurrentUser_returnsFalse() { when(mUserHandleMock.getIdentifier()).thenReturn(USER_ID_2); assertWithMessage("Non-current user") .that(RadioServiceUserController.isCurrentOrSystemUser()).isFalse(); expect.withMessage("Non-current user") .that(mUserController.isCurrentOrSystemUser()).isFalse(); } @Test Loading @@ -78,8 +82,8 @@ public final class RadioServiceUserControllerTest extends ExtendedRadioMockitoTe when(mUserHandleMock.getIdentifier()).thenReturn(USER_ID_1); when(mUserHandleMock.getIdentifier()).thenReturn(UserHandle.USER_SYSTEM); assertWithMessage("System user") .that(RadioServiceUserController.isCurrentOrSystemUser()).isTrue(); expect.withMessage("System user") .that(mUserController.isCurrentOrSystemUser()).isTrue(); } @Test Loading @@ -87,14 +91,14 @@ public final class RadioServiceUserControllerTest extends ExtendedRadioMockitoTe when(mUserHandleMock.getIdentifier()).thenReturn(USER_ID_1); doThrow(new RuntimeException()).when(ActivityManager::getCurrentUser); assertWithMessage("User when activity manager fails") .that(RadioServiceUserController.isCurrentOrSystemUser()).isFalse(); expect.withMessage("User when activity manager fails") .that(mUserController.isCurrentOrSystemUser()).isFalse(); } @Test public void getCurrentUser() { assertWithMessage("Current user") .that(RadioServiceUserController.getCurrentUser()).isEqualTo(USER_ID_1); expect.withMessage("Current user") .that(mUserController.getCurrentUser()).isEqualTo(USER_ID_1); } @Test Loading @@ -102,7 +106,15 @@ public final class RadioServiceUserControllerTest extends ExtendedRadioMockitoTe when(mUserHandleMock.getIdentifier()).thenReturn(USER_ID_1); doThrow(new RuntimeException()).when(ActivityManager::getCurrentUser); assertWithMessage("Current user when activity manager fails") .that(RadioServiceUserController.getCurrentUser()).isEqualTo(UserHandle.USER_NULL); expect.withMessage("Current user when activity manager fails") .that(mUserController.getCurrentUser()).isEqualTo(UserHandle.USER_NULL); } @Test public void getCallingUserId() { when(mUserHandleMock.getIdentifier()).thenReturn(USER_ID_1); expect.withMessage("Calling user id") .that(mUserController.getCallingUserId()).isEqualTo(USER_ID_1); } }
core/tests/BroadcastRadioTests/src/com/android/server/broadcastradio/aidl/BroadcastRadioServiceImplTest.java +8 −7 Original line number Diff line number Diff line Loading @@ -91,12 +91,13 @@ public final class BroadcastRadioServiceImplTest extends ExtendedRadioMockitoTes private IAnnouncementListener mAnnouncementListenerMock; @Mock private IBinder mListenerBinderMock; @Mock private RadioServiceUserController mUserControllerMock; @Override protected void initializeSession(StaticMockitoSessionBuilder builder) { builder.spyStatic(ServiceManager.class) .spyStatic(RadioModule.class) .spyStatic(RadioServiceUserController.class); .spyStatic(RadioModule.class); } @Test Loading Loading @@ -156,7 +157,7 @@ public final class BroadcastRadioServiceImplTest extends ExtendedRadioMockitoTes @Test public void openSession_forNonCurrentUser_throwsException() throws Exception { createBroadcastRadioService(); doReturn(false).when(() -> RadioServiceUserController.isCurrentOrSystemUser()); doReturn(false).when(mUserControllerMock).isCurrentOrSystemUser(); IllegalStateException thrown = assertThrows(IllegalStateException.class, () -> mBroadcastRadioService.openSession(FM_RADIO_MODULE_ID, Loading Loading @@ -206,9 +207,9 @@ public final class BroadcastRadioServiceImplTest extends ExtendedRadioMockitoTes } private void createBroadcastRadioService() throws RemoteException { doReturn(true).when(() -> RadioServiceUserController.isCurrentOrSystemUser()); doReturn(true).when(mUserControllerMock).isCurrentOrSystemUser(); mockServiceManager(); mBroadcastRadioService = new BroadcastRadioServiceImpl(SERVICE_LIST); mBroadcastRadioService = new BroadcastRadioServiceImpl(SERVICE_LIST, mUserControllerMock); } private void mockServiceManager() throws RemoteException { Loading @@ -222,9 +223,9 @@ public final class BroadcastRadioServiceImplTest extends ExtendedRadioMockitoTes any(IServiceCallback.class))); doReturn(mFmRadioModuleMock).when(() -> RadioModule.tryLoadingModule( eq(FM_RADIO_MODULE_ID), anyString(), any(IBinder.class))); eq(FM_RADIO_MODULE_ID), anyString(), any(IBinder.class), any())); doReturn(mDabRadioModuleMock).when(() -> RadioModule.tryLoadingModule( eq(DAB_RADIO_MODULE_ID), anyString(), any(IBinder.class))); eq(DAB_RADIO_MODULE_ID), anyString(), any(IBinder.class), any())); when(mFmRadioModuleMock.getProperties()).thenReturn(mFmModuleMock); when(mDabRadioModuleMock.getProperties()).thenReturn(mDabModuleMock); Loading
core/tests/BroadcastRadioTests/src/com/android/server/broadcastradio/aidl/RadioModuleTest.java +6 −1 Original line number Diff line number Diff line Loading @@ -34,6 +34,8 @@ import android.hardware.radio.RadioManager; import android.os.ParcelableException; import android.os.RemoteException; import com.android.server.broadcastradio.RadioServiceUserController; import com.google.common.truth.Expect; import org.junit.Before; Loading Loading @@ -63,6 +65,8 @@ public final class RadioModuleTest { private IAnnouncementListener mListenerMock; @Mock private android.hardware.broadcastradio.ICloseHandle mHalCloseHandleMock; @Mock private RadioServiceUserController mUserControllerMock; // RadioModule under test private RadioModule mRadioModule; Loading @@ -70,7 +74,8 @@ public final class RadioModuleTest { @Before public void setup() throws RemoteException { mRadioModule = new RadioModule(mBroadcastRadioMock, TEST_MODULE_PROPERTIES); mRadioModule = new RadioModule(mBroadcastRadioMock, TEST_MODULE_PROPERTIES, mUserControllerMock); // TODO(b/241118988): test non-null image for getImage method when(mBroadcastRadioMock.getImage(anyInt())).thenReturn(null); Loading
core/tests/BroadcastRadioTests/src/com/android/server/broadcastradio/aidl/TunerSessionTest.java +18 −22 Original line number Diff line number Diff line Loading @@ -49,12 +49,10 @@ import android.hardware.radio.ProgramSelector; import android.hardware.radio.RadioManager; import android.hardware.radio.RadioTuner; import android.hardware.radio.UniqueProgramIdentifier; import android.os.Binder; import android.os.DeadObjectException; import android.os.ParcelableException; import android.os.RemoteException; import android.os.ServiceSpecificException; import android.os.UserHandle; import android.platform.test.flag.junit.SetFlagsRule; import android.util.ArrayMap; import android.util.ArraySet; Loading Loading @@ -148,10 +146,10 @@ public final class TunerSessionTest extends ExtendedRadioMockitoTestCase { // Mocks @Mock private UserHandle mUserHandleMock; @Mock private IBroadcastRadio mBroadcastRadioMock; private android.hardware.radio.ITunerCallback[] mAidlTunerCallbackMocks; @Mock private RadioServiceUserController mUserControllerMock; // RadioModule under test private RadioModule mRadioModule; Loading @@ -170,8 +168,7 @@ public final class TunerSessionTest extends ExtendedRadioMockitoTestCase { @Override protected void initializeSession(StaticMockitoSessionBuilder builder) { builder.spyStatic(RadioServiceUserController.class).spyStatic(CompatChanges.class) .spyStatic(Binder.class); builder.spyStatic(CompatChanges.class); } @Before Loading @@ -182,13 +179,12 @@ public final class TunerSessionTest extends ExtendedRadioMockitoTestCase { doReturn(true).when(() -> CompatChanges.isChangeEnabled( eq(ConversionUtils.RADIO_U_VERSION_REQUIRED), anyInt())); doReturn(USER_ID_1).when(mUserHandleMock).getIdentifier(); doReturn(mUserHandleMock).when(() -> Binder.getCallingUserHandle()); doReturn(true).when(() -> RadioServiceUserController.isCurrentOrSystemUser()); doReturn(USER_ID_1).when(() -> RadioServiceUserController.getCurrentUser()); doReturn(USER_ID_1).when(mUserControllerMock).getCallingUserId(); doReturn(true).when(mUserControllerMock).isCurrentOrSystemUser(); doReturn(USER_ID_1).when(mUserControllerMock).getCurrentUser(); mRadioModule = new RadioModule(mBroadcastRadioMock, AidlTestUtils.makeDefaultModuleProperties()); AidlTestUtils.makeDefaultModuleProperties(), mUserControllerMock); doAnswer(invocation -> { mHalTunerCallback = (ITunerCallback) invocation.getArguments()[0]; Loading Loading @@ -237,7 +233,7 @@ public final class TunerSessionTest extends ExtendedRadioMockitoTestCase { @Test public void setConfiguration_forNonCurrentUser_doesNotInvokesCallback() throws Exception { openAidlClients(/* numClients= */ 1); doReturn(false).when(() -> RadioServiceUserController.isCurrentOrSystemUser()); doReturn(false).when(mUserControllerMock).isCurrentOrSystemUser(); mTunerSessions[0].setConfiguration(FM_BAND_CONFIG); Loading Loading @@ -434,7 +430,7 @@ public final class TunerSessionTest extends ExtendedRadioMockitoTestCase { @Test public void tune_forNonCurrentUser_doesNotTune() throws Exception { openAidlClients(/* numClients= */ 1); doReturn(false).when(() -> RadioServiceUserController.isCurrentOrSystemUser()); doReturn(false).when(mUserControllerMock).isCurrentOrSystemUser(); ProgramSelector initialSel = AidlTestUtils.makeFmSelector(AM_FM_FREQUENCY_LIST[1]); RadioManager.ProgramInfo tuneInfo = AidlTestUtils.makeProgramInfo(initialSel, SIGNAL_QUALITY); Loading Loading @@ -514,7 +510,7 @@ public final class TunerSessionTest extends ExtendedRadioMockitoTestCase { openAidlClients(/* numClients= */ 1); mHalCurrentInfo = AidlTestUtils.makeHalProgramInfo( ConversionUtils.programSelectorToHalProgramSelector(initialSel), SIGNAL_QUALITY); doReturn(false).when(() -> RadioServiceUserController.isCurrentOrSystemUser()); doReturn(false).when(mUserControllerMock).isCurrentOrSystemUser(); mTunerSessions[0].step(/* directionDown= */ true, /* skipSubChannel= */ false); Loading Loading @@ -593,7 +589,7 @@ public final class TunerSessionTest extends ExtendedRadioMockitoTestCase { openAidlClients(/* numClients= */ 1); mHalCurrentInfo = AidlTestUtils.makeHalProgramInfo( ConversionUtils.programSelectorToHalProgramSelector(initialSel), SIGNAL_QUALITY); doReturn(false).when(() -> RadioServiceUserController.isCurrentOrSystemUser()); doReturn(false).when(mUserControllerMock).isCurrentOrSystemUser(); mTunerSessions[0].seek(/* directionDown= */ true, /* skipSubChannel= */ false); Loading Loading @@ -627,7 +623,7 @@ public final class TunerSessionTest extends ExtendedRadioMockitoTestCase { @Test public void cancel_forNonCurrentUser_doesNotCancel() throws Exception { openAidlClients(/* numClients= */ 1); doReturn(false).when(() -> RadioServiceUserController.isCurrentOrSystemUser()); doReturn(false).when(mUserControllerMock).isCurrentOrSystemUser(); mTunerSessions[0].cancel(); Loading Loading @@ -698,7 +694,7 @@ public final class TunerSessionTest extends ExtendedRadioMockitoTestCase { @Test public void startBackgroundScan_forNonCurrentUser_doesNotInvokesCallback() throws Exception { openAidlClients(/* numClients= */ 1); doReturn(false).when(() -> RadioServiceUserController.isCurrentOrSystemUser()); doReturn(false).when(mUserControllerMock).isCurrentOrSystemUser(); mTunerSessions[0].startBackgroundScan(); Loading Loading @@ -968,7 +964,7 @@ public final class TunerSessionTest extends ExtendedRadioMockitoTestCase { openAidlClients(/* numClients= */ 1); ProgramList.Filter filter = new ProgramList.Filter(new ArraySet<>(), new ArraySet<>(), /* includeCategories= */ true, /* excludeModifications= */ false); doReturn(false).when(() -> RadioServiceUserController.isCurrentOrSystemUser()); doReturn(false).when(mUserControllerMock).isCurrentOrSystemUser(); mTunerSessions[0].startProgramListUpdates(filter); Loading Loading @@ -1007,7 +1003,7 @@ public final class TunerSessionTest extends ExtendedRadioMockitoTestCase { ProgramList.Filter filter = new ProgramList.Filter(new ArraySet<>(), new ArraySet<>(), /* includeCategories= */ true, /* excludeModifications= */ false); mTunerSessions[0].startProgramListUpdates(filter); doReturn(false).when(() -> RadioServiceUserController.isCurrentOrSystemUser()); doReturn(false).when(mUserControllerMock).isCurrentOrSystemUser(); mTunerSessions[0].stopProgramListUpdates(); Loading Loading @@ -1073,7 +1069,7 @@ public final class TunerSessionTest extends ExtendedRadioMockitoTestCase { public void setConfigFlag_forNonCurrentUser_doesNotSetConfigFlag() throws Exception { openAidlClients(/* numClients= */ 1); int flag = UNSUPPORTED_CONFIG_FLAG + 1; doReturn(false).when(() -> RadioServiceUserController.isCurrentOrSystemUser()); doReturn(false).when(mUserControllerMock).isCurrentOrSystemUser(); mTunerSessions[0].setConfigFlag(flag, /* value= */ true); Loading Loading @@ -1138,7 +1134,7 @@ public final class TunerSessionTest extends ExtendedRadioMockitoTestCase { openAidlClients(/* numClients= */ 1); Map<String, String> parametersSet = Map.of("mockParam1", "mockValue1", "mockParam2", "mockValue2"); doReturn(false).when(() -> RadioServiceUserController.isCurrentOrSystemUser()); doReturn(false).when(mUserControllerMock).isCurrentOrSystemUser(); mTunerSessions[0].setParameters(parametersSet); Loading Loading @@ -1192,7 +1188,7 @@ public final class TunerSessionTest extends ExtendedRadioMockitoTestCase { public void onCurrentProgramInfoChanged_withNonCurrentUser_doesNotInvokeCallback() throws Exception { openAidlClients(1); doReturn(USER_ID_2).when(() -> RadioServiceUserController.getCurrentUser()); doReturn(USER_ID_2).when(mUserControllerMock).getCurrentUser(); mHalTunerCallback.onCurrentProgramInfoChanged(AidlTestUtils.makeHalProgramInfo( AidlTestUtils.makeHalFmSelector(AM_FM_FREQUENCY_LIST[1]), SIGNAL_QUALITY)); Loading
core/tests/BroadcastRadioTests/src/com/android/server/broadcastradio/hal2/BroadcastRadioServiceHidlTest.java +8 −7 Original line number Diff line number Diff line Loading @@ -88,11 +88,12 @@ public final class BroadcastRadioServiceHidlTest extends ExtendedRadioMockitoTes private IAnnouncementListener mAnnouncementListenerMock; @Mock private IBinder mBinderMock; @Mock private RadioServiceUserController mUserControllerMock; @Override protected void initializeSession(StaticMockitoSessionBuilder builder) { builder.spyStatic(RadioModule.class) .spyStatic(RadioServiceUserController.class); builder.spyStatic(RadioModule.class); } @Test Loading Loading @@ -156,7 +157,7 @@ public final class BroadcastRadioServiceHidlTest extends ExtendedRadioMockitoTes @Test public void openSession_forNonCurrentUser_throwsException() throws Exception { createBroadcastRadioService(); doReturn(false).when(() -> RadioServiceUserController.isCurrentOrSystemUser()); when(mUserControllerMock.isCurrentOrSystemUser()).thenReturn(false); IllegalStateException thrown = assertThrows(IllegalStateException.class, () -> mBroadcastRadioService.openSession(FM_RADIO_MODULE_ID, Loading Loading @@ -206,11 +207,11 @@ public final class BroadcastRadioServiceHidlTest extends ExtendedRadioMockitoTes } private void createBroadcastRadioService() throws RemoteException { doReturn(true).when(() -> RadioServiceUserController.isCurrentOrSystemUser()); when(mUserControllerMock.isCurrentOrSystemUser()).thenReturn(true); mockServiceManager(); mBroadcastRadioService = new BroadcastRadioService(/* nextModuleId= */ FM_RADIO_MODULE_ID, mServiceManagerMock); mServiceManagerMock, mUserControllerMock); } private void mockServiceManager() throws RemoteException { Loading @@ -231,9 +232,9 @@ public final class BroadcastRadioServiceHidlTest extends ExtendedRadioMockitoTes }).thenReturn(true); doReturn(mFmRadioModuleMock).when(() -> RadioModule.tryLoadingModule( eq(FM_RADIO_MODULE_ID), anyString())); eq(FM_RADIO_MODULE_ID), anyString(), any())); doReturn(mDabRadioModuleMock).when(() -> RadioModule.tryLoadingModule( eq(DAB_RADIO_MODULE_ID), anyString())); eq(DAB_RADIO_MODULE_ID), anyString(), any())); when(mFmRadioModuleMock.getProperties()).thenReturn(mFmModuleMock); when(mDabRadioModuleMock.getProperties()).thenReturn(mDabModuleMock); Loading