summaryrefslogtreecommitdiffstats
path: root/tests/permission/src
diff options
context:
space:
mode:
authorAndroid (Google) Code Review <android-gerrit@google.com>2009-06-19 17:12:55 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2009-06-19 17:12:55 -0700
commitb92f7040e8294151fd915fd649bf7942a8b67463 (patch)
tree09d919b7925e10cd49247cf687a78263ef8b7c47 /tests/permission/src
parentb92c45a4bc4331378a31bb4bc84de02fa631a247 (diff)
parent36480907331fd6e4afe0608f495f2c731cfa6047 (diff)
downloadframeworks_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/permission/src')
-rw-r--r--tests/permission/src/com/android/framework/permission/tests/HardwareServicePermissionTest.java134
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
+ }
+ }
+}