BinaryTransparencyServiceTest: Avoid schedule()

To fix the testing breakage, we avoid the JobScheduler.schedule()
by leveraging a context spy to stub the getSystemService().

Bug: 230008604
Test: BinaryTransparencyServiceTest
Change-Id: I8243d3afd66243f145eccdb6a6ab97596d11c7f3
This commit is contained in:
Wenhao Wang
2022-04-21 16:58:08 -07:00
parent 6584dbb6e6
commit 7355fc7a80

View File

@@ -16,6 +16,10 @@
package com.android.server;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.spy;
import android.app.job.JobScheduler;
import android.content.Context;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
@@ -43,13 +47,15 @@ public class BinaryTransparencyServiceTest {
@Before
public void setUp() {
mContext = ApplicationProvider.getApplicationContext();
mContext = spy(ApplicationProvider.getApplicationContext());
mBinaryTransparencyService = new BinaryTransparencyService(mContext);
mTestInterface = mBinaryTransparencyService.new BinaryTransparencyServiceImpl();
}
private void prepSignedInfo() {
// simulate what happens on boot completed phase
// but we avoid calling JobScheduler.schedule by returning a null.
doReturn(null).when(mContext).getSystemService(JobScheduler.class);
mBinaryTransparencyService.onBootPhase(SystemService.PHASE_BOOT_COMPLETED);
}