PackageUserStateTest.java revision 253984ed8c8f39fa0aa9c5f4addf2f44f334c749
1/* 2 * Copyright (C) 2016 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17package com.android.server.pm; 18 19import static android.content.pm.PackageManager.COMPONENT_ENABLED_STATE_ENABLED; 20import static android.content.pm.PackageManager.INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_ASK; 21 22import static org.hamcrest.CoreMatchers.is; 23import static org.junit.Assert.assertThat; 24 25import android.content.pm.PackageUserState; 26import android.support.test.runner.AndroidJUnit4; 27import android.test.suitebuilder.annotation.SmallTest; 28import android.util.ArraySet; 29 30import org.junit.Test; 31import org.junit.runner.RunWith; 32 33@RunWith(AndroidJUnit4.class) 34@SmallTest 35public class PackageUserStateTest { 36 37 @Test 38 public void testPackageUserState01() { 39 final PackageUserState testUserState = new PackageUserState(); 40 PackageUserState oldUserState; 41 42 oldUserState = new PackageUserState(); 43 assertThat(testUserState.equals(null), is(false)); 44 assertThat(testUserState.equals(testUserState), is(true)); 45 assertThat(testUserState.equals(oldUserState), is(true)); 46 47 oldUserState = new PackageUserState(); 48 oldUserState.appLinkGeneration = 6; 49 assertThat(testUserState.equals(oldUserState), is(false)); 50 51 oldUserState = new PackageUserState(); 52 oldUserState.ceDataInode = 4000L; 53 assertThat(testUserState.equals(oldUserState), is(false)); 54 55 oldUserState = new PackageUserState(); 56 oldUserState.domainVerificationStatus = INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_ASK; 57 assertThat(testUserState.equals(oldUserState), is(false)); 58 59 oldUserState = new PackageUserState(); 60 oldUserState.enabled = COMPONENT_ENABLED_STATE_ENABLED; 61 assertThat(testUserState.equals(oldUserState), is(false)); 62 63 oldUserState = new PackageUserState(); 64 oldUserState.hidden = true; 65 assertThat(testUserState.equals(oldUserState), is(false)); 66 67 oldUserState = new PackageUserState(); 68 oldUserState.installed = false; 69 assertThat(testUserState.equals(oldUserState), is(false)); 70 71 oldUserState = new PackageUserState(); 72 oldUserState.notLaunched = true; 73 assertThat(testUserState.equals(oldUserState), is(false)); 74 75 oldUserState = new PackageUserState(); 76 oldUserState.stopped = true; 77 assertThat(testUserState.equals(oldUserState), is(false)); 78 79 oldUserState = new PackageUserState(); 80 oldUserState.suspended = true; 81 assertThat(testUserState.equals(oldUserState), is(false)); 82 } 83 84 @Test 85 public void testPackageUserState02() { 86 final PackageUserState testUserState01 = new PackageUserState(); 87 PackageUserState oldUserState; 88 89 oldUserState = new PackageUserState(); 90 oldUserState.lastDisableAppCaller = "unit_test"; 91 assertThat(testUserState01.equals(oldUserState), is(false)); 92 93 final PackageUserState testUserState02 = new PackageUserState(); 94 testUserState02.lastDisableAppCaller = "unit_test"; 95 assertThat(testUserState02.equals(oldUserState), is(true)); 96 97 final PackageUserState testUserState03 = new PackageUserState(); 98 testUserState03.lastDisableAppCaller = "unit_test_00"; 99 assertThat(testUserState03.equals(oldUserState), is(false)); 100 } 101 102 @Test 103 public void testPackageUserState03() { 104 final PackageUserState oldUserState = new PackageUserState(); 105 106 // only new user state has array defined; different 107 final PackageUserState testUserState01 = new PackageUserState(); 108 testUserState01.disabledComponents = new ArraySet<>(); 109 assertThat(testUserState01.equals(oldUserState), is(false)); 110 111 // only old user state has array defined; different 112 final PackageUserState testUserState02 = new PackageUserState(); 113 oldUserState.disabledComponents = new ArraySet<>(); 114 assertThat(testUserState02.equals(oldUserState), is(false)); 115 116 // both states have array defined; not different 117 final PackageUserState testUserState03 = new PackageUserState(); 118 testUserState03.disabledComponents = new ArraySet<>(); 119 assertThat(testUserState03.equals(oldUserState), is(true)); 120 // fewer elements in old user state; different 121 testUserState03.disabledComponents.add("com.android.unit_test01"); 122 testUserState03.disabledComponents.add("com.android.unit_test02"); 123 testUserState03.disabledComponents.add("com.android.unit_test03"); 124 oldUserState.disabledComponents.add("com.android.unit_test03"); 125 oldUserState.disabledComponents.add("com.android.unit_test02"); 126 assertThat(testUserState03.equals(oldUserState), is(false)); 127 // same elements in old user state; not different 128 oldUserState.disabledComponents.add("com.android.unit_test01"); 129 assertThat(testUserState03.equals(oldUserState), is(true)); 130 // more elements in old user state; different 131 oldUserState.disabledComponents.add("com.android.unit_test04"); 132 assertThat(testUserState03.equals(oldUserState), is(false)); 133 // different elements in old user state; different 134 testUserState03.disabledComponents.add("com.android.unit_test_04"); 135 assertThat(testUserState03.equals(oldUserState), is(false)); 136 } 137 138 @Test 139 public void testPackageUserState04() { 140 final PackageUserState oldUserState = new PackageUserState(); 141 142 // only new user state has array defined; different 143 final PackageUserState testUserState01 = new PackageUserState(); 144 testUserState01.enabledComponents = new ArraySet<>(); 145 assertThat(testUserState01.equals(oldUserState), is(false)); 146 147 // only old user state has array defined; different 148 final PackageUserState testUserState02 = new PackageUserState(); 149 oldUserState.enabledComponents = new ArraySet<>(); 150 assertThat(testUserState02.equals(oldUserState), is(false)); 151 152 // both states have array defined; not different 153 final PackageUserState testUserState03 = new PackageUserState(); 154 testUserState03.enabledComponents = new ArraySet<>(); 155 assertThat(testUserState03.equals(oldUserState), is(true)); 156 // fewer elements in old user state; different 157 testUserState03.enabledComponents.add("com.android.unit_test01"); 158 testUserState03.enabledComponents.add("com.android.unit_test02"); 159 testUserState03.enabledComponents.add("com.android.unit_test03"); 160 oldUserState.enabledComponents.add("com.android.unit_test03"); 161 oldUserState.enabledComponents.add("com.android.unit_test02"); 162 assertThat(testUserState03.equals(oldUserState), is(false)); 163 // same elements in old user state; not different 164 oldUserState.enabledComponents.add("com.android.unit_test01"); 165 assertThat(testUserState03.equals(oldUserState), is(true)); 166 // more elements in old user state; different 167 oldUserState.enabledComponents.add("com.android.unit_test04"); 168 assertThat(testUserState03.equals(oldUserState), is(false)); 169 // different elements in old user state; different 170 testUserState03.enabledComponents.add("com.android.unit_test_04"); 171 assertThat(testUserState03.equals(oldUserState), is(false)); 172 } 173} 174