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

Commit d2010e1b authored by Tony Mak's avatar Tony Mak
Browse files

Mocked system properties should return default value by default

Change-Id: I328531abc6620c141f2625aaf05caa2ef6ba8b16

Test: runtest -x frameworks/base/services/tests/servicestests/src/com/android/server/devicepolicy/DevicePolicyManagerTest.java

Fix: 63253153
parent 164b72dd
Loading
Loading
Loading
Loading
+0 −5
Original line number Diff line number Diff line
@@ -2307,11 +2307,6 @@ public class DevicePolicyManagerTest extends DpmTestBase {
        // restore to the debuggable build state
        getServices().buildMock.isDebuggable = true;

        // Always return the default (second arg) when getting system property for long type
        when(getServices().systemProperties.getLong(anyString(), anyLong())).thenAnswer(
                invocation -> invocation.getArguments()[1]
        );

        // reset to default (0 means the admin is not participating, so default should be returned)
        dpm.setRequiredStrongAuthTimeout(admin1, 0);

+26 −0
Original line number Diff line number Diff line
@@ -16,9 +16,13 @@

package com.android.server.devicepolicy;

import static org.mockito.ArgumentMatchers.anyBoolean;
import static org.mockito.ArgumentMatchers.anyLong;
import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.Matchers.anyInt;
import static org.mockito.Matchers.eq;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.when;

import android.app.admin.DevicePolicyManager;
import android.content.ComponentName;
@@ -62,6 +66,7 @@ public abstract class DpmTestBase extends AndroidTestCase {
        adminAnotherPackage = new ComponentName(DpmMockContext.ANOTHER_PACKAGE_NAME,
                "whatever.random.class");
        adminNoPerm = new ComponentName(mRealTestContext, DummyDeviceAdmins.AdminNoPerm.class);
        mockSystemPropertiesToReturnDefault();
    }

    @Override
@@ -213,4 +218,25 @@ public abstract class DpmTestBase extends AndroidTestCase {
        // Set up getPackageInfo().
        markPackageAsInstalled(admin.getPackageName(), ai, UserHandle.getUserId(packageUid));
    }

    /**
     * By default, system properties are mocked to return default value. Override the mock if you
     * want a specific value.
     */
    private void mockSystemPropertiesToReturnDefault() {
        when(getServices().systemProperties.get(
                anyString(), anyString())).thenAnswer(
                invocation -> invocation.getArguments()[1]
        );

        when(getServices().systemProperties.getBoolean(
                anyString(), anyBoolean())).thenAnswer(
                invocation -> invocation.getArguments()[1]
        );

        when(getServices().systemProperties.getLong(
                anyString(), anyLong())).thenAnswer(
                invocation -> invocation.getArguments()[1]
        );
    }
}