diff options
| author | Android (Google) Code Review <android-gerrit@google.com> | 2009-06-19 17:12:55 -0700 | 
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2009-06-19 17:12:55 -0700 | 
| commit | b92f7040e8294151fd915fd649bf7942a8b67463 (patch) | |
| tree | 09d919b7925e10cd49247cf687a78263ef8b7c47 /tests | |
| parent | b92c45a4bc4331378a31bb4bc84de02fa631a247 (diff) | |
| parent | 36480907331fd6e4afe0608f495f2c731cfa6047 (diff) | |
| download | frameworks_base-b92f7040e8294151fd915fd649bf7942a8b67463.zip frameworks_base-b92f7040e8294151fd915fd649bf7942a8b67463.tar.gz frameworks_base-b92f7040e8294151fd915fd649bf7942a8b67463.tar.bz2 | |
Merge change 4847 into donut
* changes:
  Add permission tests for IHardwareService.
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/permission/src/com/android/framework/permission/tests/HardwareServicePermissionTest.java | 134 | 
1 files changed, 134 insertions, 0 deletions
| diff --git a/tests/permission/src/com/android/framework/permission/tests/HardwareServicePermissionTest.java b/tests/permission/src/com/android/framework/permission/tests/HardwareServicePermissionTest.java new file mode 100644 index 0000000..dc6860a --- /dev/null +++ b/tests/permission/src/com/android/framework/permission/tests/HardwareServicePermissionTest.java @@ -0,0 +1,134 @@ +/* + * Copyright (C) 2009 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + *      http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.framework.permission.tests; + +import junit.framework.TestCase; + +import android.os.Binder; +import android.os.IHardwareService; +import android.os.RemoteException; +import android.os.ServiceManager; + +/** + * Verify that Hardware apis cannot be called without required permissions. + */ +public class HardwareServicePermissionTest extends TestCase { + +    private IHardwareService mHardwareService; + +    @Override +    protected void setUp() throws Exception { +        mHardwareService = IHardwareService.Stub.asInterface( +                ServiceManager.getService("hardware")); +    } + +    /** +     * Test that calling {@link android.os.IHardwareService#vibrate(long)} requires permissions. +     * <p>Tests permission: +     *   {@link android.Manifest.permission#VIBRATE} +     * @throws RemoteException +     */ +    public void testVibrate() throws RemoteException { +        try { +            mHardwareService.vibrate(2000); +            fail("vibrate did not throw SecurityException as expected"); +        } catch (SecurityException e) { +            // expected +        } +    } + +    /** +     * Test that calling {@link android.os.IHardwareService#vibratePattern(long[], +     * int, android.os.IBinder)} requires permissions. +     * <p>Tests permission: +     *   {@link android.Manifest.permission#VIBRATE} +     * @throws RemoteException +     */ +    public void testVibratePattern() throws RemoteException { +        try { +            mHardwareService.vibratePattern(new long[] {0}, 0, new Binder()); +            fail("vibratePattern did not throw SecurityException as expected"); +        } catch (SecurityException e) { +            // expected +        } +    } + +    /** +     * Test that calling {@link android.os.IHardwareService#cancelVibrate()} requires permissions. +     * <p>Tests permission: +     *   {@link android.Manifest.permission#VIBRATE} +     * @throws RemoteException +     */ +    public void testCancelVibrate() throws RemoteException { +        try { +            mHardwareService.cancelVibrate(); +            fail("cancelVibrate did not throw SecurityException as expected"); +        } catch (SecurityException e) { +            // expected +        } +    } + +    /** +     * Test that calling {@link android.os.IHardwareService#setFlashlightEnabled(boolean)} +     * requires permissions. +     * <p>Tests permissions: +     *   {@link android.Manifest.permission#HARDWARE_TEST} +     *   {@link android.Manifest.permission#FLASHLIGHT} +     * @throws RemoteException +     */ +    public void testSetFlashlightEnabled() throws RemoteException { +        try { +            mHardwareService.setFlashlightEnabled(true); +            fail("setFlashlightEnabled did not throw SecurityException as expected"); +        } catch (SecurityException e) { +            // expected +        } +    } + +    /** +     * Test that calling {@link android.os.IHardwareService#enableCameraFlash(int)} requires +     * permissions. +     * <p>Tests permission: +     *   {@link android.Manifest.permission#HARDWARE_TEST} +     *   {@link android.Manifest.permission#CAMERA} +     * @throws RemoteException +     */ +    public void testEnableCameraFlash() throws RemoteException { +        try { +            mHardwareService.enableCameraFlash(100); +            fail("enableCameraFlash did not throw SecurityException as expected"); +        } catch (SecurityException e) { +            // expected +        } +    } + +    /** +     * Test that calling {@link android.os.IHardwareService#setBacklights(int)} requires +     * permissions. +     * <p>Tests permission: +     *   {@link android.Manifest.permission#HARDWARE_TEST} +     * @throws RemoteException +     */ +    public void testSetBacklights() throws RemoteException { +        try { +            mHardwareService.setBacklights(0); +            fail("setBacklights did not throw SecurityException as expected"); +        } catch (SecurityException e) { +            // expected +        } +    } +} | 
