Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 514aaaf9 authored by William Escande's avatar William Escande
Browse files

Construct ManagerService for each test

Bug: 280518177
Test: atest ServiceBluetoothTests
Change-Id: I094ef470ceb9b03cc34886cc9718a9e7f455b135
parent 78d3479f
Loading
Loading
Loading
Loading
+10 −9
Original line number Original line Diff line number Diff line
@@ -51,6 +51,7 @@ public class BluetoothManagerServiceTest {
    Context mContext;
    Context mContext;
    @Mock BluetoothServerProxy mBluetoothServerProxy;
    @Mock BluetoothServerProxy mBluetoothServerProxy;
    @Mock BluetoothManagerService.BluetoothHandler mHandler;
    @Mock BluetoothManagerService.BluetoothHandler mHandler;
    @Mock UserManager mUserManager;
    HandlerThread mHandlerThread;
    HandlerThread mHandlerThread;


    @Before
    @Before
@@ -60,7 +61,12 @@ public class BluetoothManagerServiceTest {
                spy(
                spy(
                        new ContextWrapper(
                        new ContextWrapper(
                                InstrumentationRegistry.getInstrumentation().getTargetContext()));
                                InstrumentationRegistry.getInstrumentation().getTargetContext()));

        doReturn(mUserManager).when(mContext).getSystemService(UserManager.class);

        mHandlerThread = new HandlerThread("BluetoothManagerServiceTest");
        mHandlerThread = new HandlerThread("BluetoothManagerServiceTest");

        mManagerService = createBluetoothManagerService();
    }
    }


    @After
    @After
@@ -68,7 +74,7 @@ public class BluetoothManagerServiceTest {
        mHandlerThread.quitSafely();
        mHandlerThread.quitSafely();
    }
    }


    private void createBluetoothManagerService() {
    private BluetoothManagerService createBluetoothManagerService() {
        doReturn(mock(Intent.class))
        doReturn(mock(Intent.class))
                .when(mContext)
                .when(mContext)
                .registerReceiverForAllUsers(any(), any(), eq(null), eq(null));
                .registerReceiverForAllUsers(any(), any(), eq(null), eq(null));
@@ -85,22 +91,18 @@ public class BluetoothManagerServiceTest {
        doReturn("00:11:22:33:44:55")
        doReturn("00:11:22:33:44:55")
                .when(mBluetoothServerProxy)
                .when(mBluetoothServerProxy)
                .settingsSecureGetString(any(), eq(Settings.Secure.BLUETOOTH_ADDRESS));
                .settingsSecureGetString(any(), eq(Settings.Secure.BLUETOOTH_ADDRESS));
        mManagerService = new BluetoothManagerService(mContext);
        return new BluetoothManagerService(mContext);
    }
    }


    @Test
    @Test
    public void onUserRestrictionsChanged_disallowBluetooth_onlySendDisableMessageOnSystemUser()
    public void onUserRestrictionsChanged_disallowBluetooth_onlySendDisableMessageOnSystemUser()
            throws InterruptedException {
            throws InterruptedException {
        // Spy UserManager so we can mimic the case when restriction settings changed
        UserManager userManager = mock(UserManager.class);
        doReturn(userManager).when(mContext).getSystemService(UserManager.class);
        doReturn(true)
        doReturn(true)
                .when(userManager)
                .when(mUserManager)
                .hasUserRestrictionForUser(eq(UserManager.DISALLOW_BLUETOOTH), any());
                .hasUserRestrictionForUser(eq(UserManager.DISALLOW_BLUETOOTH), any());
        doReturn(false)
        doReturn(false)
                .when(userManager)
                .when(mUserManager)
                .hasUserRestrictionForUser(eq(UserManager.DISALLOW_BLUETOOTH_SHARING), any());
                .hasUserRestrictionForUser(eq(UserManager.DISALLOW_BLUETOOTH_SHARING), any());
        createBluetoothManagerService();


        // Check if disable message sent once for system user only
        // Check if disable message sent once for system user only
        // Since Message object is recycled after processed, use proxy function to get what value
        // Since Message object is recycled after processed, use proxy function to get what value
@@ -118,7 +120,6 @@ public class BluetoothManagerServiceTest {


    @Test
    @Test
    public void testApmEnhancementEnabled() {
    public void testApmEnhancementEnabled() {
        createBluetoothManagerService();
        mManagerService.setBluetoothModeChangeHelper(new BluetoothModeChangeHelper(mContext));
        mManagerService.setBluetoothModeChangeHelper(new BluetoothModeChangeHelper(mContext));


        // Change the apm enhancement enabled value to 0
        // Change the apm enhancement enabled value to 0