Merge "Fix ResumeOnRebootServiceProviderTests"

This commit is contained in:
Tianjie Xu
2021-03-09 19:20:17 +00:00
committed by Gerrit Code Review

View File

@@ -19,12 +19,12 @@ package com.android.server.locksettings;
import static com.google.common.truth.Truth.assertThat; import static com.google.common.truth.Truth.assertThat;
import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.ArgumentMatchers.eq; import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when; import static org.mockito.Mockito.when;
import android.Manifest; import android.Manifest;
import android.content.ComponentName;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
@@ -53,12 +53,9 @@ public class ResumeOnRebootServiceProviderTests {
Context mMockContext; Context mMockContext;
@Mock @Mock
PackageManager mMockPackageManager; PackageManager mMockPackageManager;
@Mock
ResolveInfo mMockResolvedInfo; ResolveInfo mFakeResolvedInfo;
@Mock ServiceInfo mFakeServiceInfo;
ServiceInfo mMockServiceInfo;
@Mock
ComponentName mMockComponentName;
@Captor @Captor
ArgumentCaptor<Intent> mIntentArgumentCaptor; ArgumentCaptor<Intent> mIntentArgumentCaptor;
@@ -66,8 +63,13 @@ public class ResumeOnRebootServiceProviderTests {
public void setUp() { public void setUp() {
MockitoAnnotations.initMocks(this); MockitoAnnotations.initMocks(this);
when(mMockContext.getUserId()).thenReturn(0); when(mMockContext.getUserId()).thenReturn(0);
when(mMockResolvedInfo.serviceInfo).thenReturn(mMockServiceInfo);
when(mMockServiceInfo.getComponentName()).thenReturn(mMockComponentName); mFakeServiceInfo = new ServiceInfo();
mFakeServiceInfo.packageName = "fakePackageName";
mFakeServiceInfo.name = "fakeName";
mFakeResolvedInfo = new ResolveInfo();
mFakeResolvedInfo.serviceInfo = mFakeServiceInfo;
} }
@Test @Test
@@ -82,10 +84,9 @@ public class ResumeOnRebootServiceProviderTests {
@Test @Test
public void serviceNotGuardedWithPermission() throws Exception { public void serviceNotGuardedWithPermission() throws Exception {
ArrayList<ResolveInfo> resultList = new ArrayList<>(); ArrayList<ResolveInfo> resultList = new ArrayList<>();
when(mMockServiceInfo.permission).thenReturn(""); mFakeServiceInfo.permission = "";
resultList.add(mMockResolvedInfo); resultList.add(mFakeResolvedInfo);
when(mMockPackageManager.queryIntentServices(any(), any())).thenReturn( when(mMockPackageManager.queryIntentServices(any(), anyInt())).thenReturn(resultList);
resultList);
assertThat(new ResumeOnRebootServiceProvider(mMockContext, assertThat(new ResumeOnRebootServiceProvider(mMockContext,
mMockPackageManager).getServiceConnection()).isNull(); mMockPackageManager).getServiceConnection()).isNull();
} }
@@ -93,18 +94,15 @@ public class ResumeOnRebootServiceProviderTests {
@Test @Test
public void serviceResolved() throws Exception { public void serviceResolved() throws Exception {
ArrayList<ResolveInfo> resultList = new ArrayList<>(); ArrayList<ResolveInfo> resultList = new ArrayList<>();
resultList.add(mMockResolvedInfo); resultList.add(mFakeResolvedInfo);
when(mMockServiceInfo.permission).thenReturn( mFakeServiceInfo.permission = Manifest.permission.BIND_RESUME_ON_REBOOT_SERVICE;
Manifest.permission.BIND_RESUME_ON_REBOOT_SERVICE); when(mMockPackageManager.queryIntentServices(any(), anyInt())).thenReturn(resultList);
when(mMockPackageManager.queryIntentServices(any(),
eq(PackageManager.MATCH_SYSTEM_ONLY))).thenReturn(
resultList);
assertThat(new ResumeOnRebootServiceProvider(mMockContext, assertThat(new ResumeOnRebootServiceProvider(mMockContext,
mMockPackageManager).getServiceConnection()).isNotNull(); mMockPackageManager).getServiceConnection()).isNotNull();
verify(mMockPackageManager).queryIntentServices(mIntentArgumentCaptor.capture(), verify(mMockPackageManager).queryIntentServices(mIntentArgumentCaptor.capture(),
eq(PackageManager.MATCH_SYSTEM_ONLY)); eq(PackageManager.MATCH_SYSTEM_ONLY | PackageManager.GET_SERVICES));
assertThat(mIntentArgumentCaptor.getValue().getAction()).isEqualTo( assertThat(mIntentArgumentCaptor.getValue().getAction()).isEqualTo(
ResumeOnRebootService.SERVICE_INTERFACE); ResumeOnRebootService.SERVICE_INTERFACE);
} }