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

Commit ea196fc5 authored by Suchi Amalapurapu's avatar Suchi Amalapurapu
Browse files

More tests to check permissions in PackageManager api's are enforced

parent 2c723ee0
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
        }