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

Commit 9908b3d8 authored by Android (Google) Code Review's avatar Android (Google) Code Review
Browse files

Merge change 4209 into donut

* changes:
  More tests to check permissions in PackageManager api's are enforced
parents 8e55eac9 ea196fc5
Loading
Loading
Loading
Loading
+100 −8
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@ import android.test.suitebuilder.annotation.SmallTest;
 */
public class PmPermissionsTests extends AndroidTestCase {
    private PackageManager mPm;
    private String mPkgName = "com.android.framework.permission.tests";

    @Override
    protected void setUp() throws Exception {
@@ -40,8 +41,99 @@ public class PmPermissionsTests extends AndroidTestCase {
    @SmallTest
    public void testGetPackageSize() {
        try {
            mPm.getPackageSizeInfo("com.android.framework", null);
            fail("PackageManager.getPackageSizeInfo did not throw SecurityException as expected");
            mPm.getPackageSizeInfo(mPkgName, null);
            fail("PackageManager.getPackageSizeInfo" +
                    "did not throw SecurityException as expected");
        } catch (SecurityException e) {
            // expected
        }
    }

    /*
     * This test verifies that PackageManger.DeleteApplicationCacheFiles enforces permission
     * android.permission.DELETE_CACHE_FILES
     */
    @SmallTest
    public void testDeleteApplicationCacheFiles() {
        try {
            mPm.deleteApplicationCacheFiles(mPkgName, null);
            fail("PackageManager.deleteApplicationCacheFiles" +
                    "did not throw SecurityException as expected");
        } catch (SecurityException e) {
            // expected
        }
    }

    /*
     * This test verifies that PackageManger.installPackage enforces permission
     * android.permission.INSTALL_PACKAGES
     */
    @SmallTest
    public void testInstallPackage() {
        try {
            mPm.installPackage(null, null, 0, null);
            fail("PackageManager.installPackage" +
                    "did not throw SecurityException as expected");
        } catch (SecurityException e) {
            // expected
        }
    }

    /*
     * This test verifies that PackageManger.freeStorage
     * enforces permission android.permission.CLEAR_APP_CACHE
     */
    @SmallTest
    public void testFreeStorage1() {
        try {
            mPm.freeStorage(100000, null);
            fail("PackageManager.freeStorage " +
                   "did not throw SecurityException as expected");
        } catch (SecurityException e) {
            // expected
        }
    }

    /*
     * This test verifies that PackageManger.freeStorageAndNotify
     * enforces permission android.permission.CLEAR_APP_CACHE
     */
    @SmallTest
    public void testFreeStorage2() {
        try {
            mPm.freeStorageAndNotify(100000, null);
            fail("PackageManager.freeStorageAndNotify" +
                    " did not throw SecurityException as expected");
        } catch (SecurityException e) {
            // expected
        }
    }

    /*
     * This test verifies that PackageManger.clearApplicationUserData
     * enforces permission android.permission.CLEAR_APP_USER_DATA
     */
    @SmallTest
    public void testClearApplicationUserData() {
        try {
            mPm.clearApplicationUserData(mPkgName, null);
            fail("PackageManager.clearApplicationUserData" +
                    "did not throw SecurityException as expected");
        } catch (SecurityException e) {
            // expected
        }
    }

    /*
     * This test verifies that PackageManger.deletePackage
     * enforces permission android.permission.DELETE_PACKAGES
     */
    @SmallTest
    public void testDeletePackage() {
        try {
            mPm.deletePackage(mPkgName, null, 0);
            fail("PackageManager.deletePackage" +
                   "did not throw SecurityException as expected");
        } catch (SecurityException e) {
            // expected
        }