1dc09102c8dad2668ec8c1228fee8762aa81153a5Amith Yamasani/* 2dc09102c8dad2668ec8c1228fee8762aa81153a5Amith Yamasani * Copyright (C) 2012 The Android Open Source Project 3dc09102c8dad2668ec8c1228fee8762aa81153a5Amith Yamasani * 4dc09102c8dad2668ec8c1228fee8762aa81153a5Amith Yamasani * Licensed under the Apache License, Version 2.0 (the "License"); 5dc09102c8dad2668ec8c1228fee8762aa81153a5Amith Yamasani * you may not use this file except in compliance with the License. 6dc09102c8dad2668ec8c1228fee8762aa81153a5Amith Yamasani * You may obtain a copy of the License at 7dc09102c8dad2668ec8c1228fee8762aa81153a5Amith Yamasani * 8dc09102c8dad2668ec8c1228fee8762aa81153a5Amith Yamasani * http://www.apache.org/licenses/LICENSE-2.0 9dc09102c8dad2668ec8c1228fee8762aa81153a5Amith Yamasani * 10dc09102c8dad2668ec8c1228fee8762aa81153a5Amith Yamasani * Unless required by applicable law or agreed to in writing, software 11dc09102c8dad2668ec8c1228fee8762aa81153a5Amith Yamasani * distributed under the License is distributed on an "AS IS" BASIS, 12dc09102c8dad2668ec8c1228fee8762aa81153a5Amith Yamasani * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13dc09102c8dad2668ec8c1228fee8762aa81153a5Amith Yamasani * See the License for the specific language governing permissions and 14dc09102c8dad2668ec8c1228fee8762aa81153a5Amith Yamasani * limitations under the License. 15dc09102c8dad2668ec8c1228fee8762aa81153a5Amith Yamasani */ 16dc09102c8dad2668ec8c1228fee8762aa81153a5Amith Yamasani 17dc09102c8dad2668ec8c1228fee8762aa81153a5Amith Yamasani 18dc09102c8dad2668ec8c1228fee8762aa81153a5Amith Yamasanipackage android.os; 19dc09102c8dad2668ec8c1228fee8762aa81153a5Amith Yamasani 20dc09102c8dad2668ec8c1228fee8762aa81153a5Amith Yamasaniimport android.os.Process; 21f02b60aa4f367516f40cf3d60fffae0c6fe3e1b8Dianne Hackbornimport android.os.UserHandle; 22dc09102c8dad2668ec8c1228fee8762aa81153a5Amith Yamasaniimport android.test.suitebuilder.annotation.MediumTest; 23dc09102c8dad2668ec8c1228fee8762aa81153a5Amith Yamasaniimport android.test.suitebuilder.annotation.SmallTest; 24dc09102c8dad2668ec8c1228fee8762aa81153a5Amith Yamasani 25dc09102c8dad2668ec8c1228fee8762aa81153a5Amith Yamasaniimport junit.framework.TestCase; 26dc09102c8dad2668ec8c1228fee8762aa81153a5Amith Yamasani 27dc09102c8dad2668ec8c1228fee8762aa81153a5Amith Yamasani 28dc09102c8dad2668ec8c1228fee8762aa81153a5Amith Yamasanipublic class ProcessTest extends TestCase { 29dc09102c8dad2668ec8c1228fee8762aa81153a5Amith Yamasani 30dc09102c8dad2668ec8c1228fee8762aa81153a5Amith Yamasani @MediumTest 31dc09102c8dad2668ec8c1228fee8762aa81153a5Amith Yamasani public void testProcessGetUidFromName() throws Exception { 32dc09102c8dad2668ec8c1228fee8762aa81153a5Amith Yamasani assertEquals(android.os.Process.SYSTEM_UID, Process.getUidForName("system")); 33dc09102c8dad2668ec8c1228fee8762aa81153a5Amith Yamasani assertEquals(Process.BLUETOOTH_UID, Process.getUidForName("bluetooth")); 34dc09102c8dad2668ec8c1228fee8762aa81153a5Amith Yamasani assertEquals(Process.FIRST_APPLICATION_UID, Process.getUidForName("u0_a0")); 35f02b60aa4f367516f40cf3d60fffae0c6fe3e1b8Dianne Hackborn assertEquals(UserHandle.getUid(1, Process.SYSTEM_UID), Process.getUidForName("u1_system")); 36f02b60aa4f367516f40cf3d60fffae0c6fe3e1b8Dianne Hackborn assertEquals(UserHandle.getUid(2, Process.FIRST_ISOLATED_UID), 37dc09102c8dad2668ec8c1228fee8762aa81153a5Amith Yamasani Process.getUidForName("u2_i0")); 38f02b60aa4f367516f40cf3d60fffae0c6fe3e1b8Dianne Hackborn assertEquals(UserHandle.getUid(3, Process.FIRST_APPLICATION_UID + 100), 39dc09102c8dad2668ec8c1228fee8762aa81153a5Amith Yamasani Process.getUidForName("u3_a100")); 40dc09102c8dad2668ec8c1228fee8762aa81153a5Amith Yamasani } 41dc09102c8dad2668ec8c1228fee8762aa81153a5Amith Yamasani 42dc09102c8dad2668ec8c1228fee8762aa81153a5Amith Yamasani @MediumTest 43dc09102c8dad2668ec8c1228fee8762aa81153a5Amith Yamasani public void testProcessGetUidFromNameFailure() throws Exception { 44dc09102c8dad2668ec8c1228fee8762aa81153a5Amith Yamasani // Failure cases 45dc09102c8dad2668ec8c1228fee8762aa81153a5Amith Yamasani assertEquals(-1, Process.getUidForName("u2a_foo")); 46dc09102c8dad2668ec8c1228fee8762aa81153a5Amith Yamasani assertEquals(-1, Process.getUidForName("u1_abcdef")); 47dc09102c8dad2668ec8c1228fee8762aa81153a5Amith Yamasani assertEquals(-1, Process.getUidForName("u23")); 48dc09102c8dad2668ec8c1228fee8762aa81153a5Amith Yamasani assertEquals(-1, Process.getUidForName("u2_i34a")); 49dc09102c8dad2668ec8c1228fee8762aa81153a5Amith Yamasani assertEquals(-1, Process.getUidForName("akjhwiuefhiuhsf")); 50dc09102c8dad2668ec8c1228fee8762aa81153a5Amith Yamasani assertEquals(-1, Process.getUidForName("u5_radio5")); 51dc09102c8dad2668ec8c1228fee8762aa81153a5Amith Yamasani assertEquals(-1, Process.getUidForName("u2jhsajhfkjhsafkhskafhkashfkjashfkjhaskjfdhakj3")); 52dc09102c8dad2668ec8c1228fee8762aa81153a5Amith Yamasani } 53dc09102c8dad2668ec8c1228fee8762aa81153a5Amith Yamasani 54dc09102c8dad2668ec8c1228fee8762aa81153a5Amith Yamasani} 55