Fix NetworkPolicy tests after notifications.

Change-Id: I569e9ceba6d89459b347ed151fd9bda2909dc892
This commit is contained in:
Jeff Sharkey
2011-06-15 11:01:31 -07:00
parent 14711eb5b6
commit 2ef2aeb18d

View File

@@ -25,13 +25,16 @@ import static android.net.NetworkPolicyManager.RULE_REJECT_PAID;
import static android.net.NetworkPolicyManager.computeLastCycleBoundary;
import static android.net.NetworkStats.UID_ALL;
import static android.net.TrafficStats.TEMPLATE_WIFI;
import static org.easymock.EasyMock.anyInt;
import static org.easymock.EasyMock.capture;
import static org.easymock.EasyMock.createMock;
import static org.easymock.EasyMock.eq;
import static org.easymock.EasyMock.expect;
import static org.easymock.EasyMock.expectLastCall;
import static org.easymock.EasyMock.isA;
import android.app.IActivityManager;
import android.app.INotificationManager;
import android.app.IProcessObserver;
import android.content.Intent;
import android.content.pm.PackageManager;
@@ -81,14 +84,15 @@ public class NetworkPolicyManagerServiceTest extends AndroidTestCase {
private INetworkPolicyListener mPolicyListener;
private TrustedTime mTime;
private IConnectivityManager mConnManager;
private INotificationManager mNotifManager;
private NetworkPolicyManagerService mService;
private IProcessObserver mProcessObserver;
private Binder mStubBinder = new Binder();
private static final int UID_A = 800;
private static final int UID_B = 801;
private static final int UID_A = android.os.Process.FIRST_APPLICATION_UID + 800;
private static final int UID_B = android.os.Process.FIRST_APPLICATION_UID + 801;
private static final int PID_1 = 400;
private static final int PID_2 = 401;
@@ -119,10 +123,12 @@ public class NetworkPolicyManagerServiceTest extends AndroidTestCase {
mPolicyListener = createMock(INetworkPolicyListener.class);
mTime = createMock(TrustedTime.class);
mConnManager = createMock(IConnectivityManager.class);
mNotifManager = createMock(INotificationManager.class);
mService = new NetworkPolicyManagerService(
mServiceContext, mActivityManager, mPowerManager, mStatsService, mTime, mPolicyDir);
mService.bindConnectivityManager(mConnManager);
mService.bindNotificationManager(mNotifManager);
// RemoteCallbackList needs a binder to use as key
expect(mPolicyListener.asBinder()).andReturn(mStubBinder).atLeastOnce();
@@ -137,6 +143,7 @@ public class NetworkPolicyManagerServiceTest extends AndroidTestCase {
// expect to answer screen status during systemReady()
expect(mPowerManager.isScreenOn()).andReturn(true).atLeastOnce();
expectTime(System.currentTimeMillis());
replay();
mService.systemReady();
@@ -365,6 +372,8 @@ public class NetworkPolicyManagerServiceTest extends AndroidTestCase {
// expect that quota remaining should be 1536 bytes
// TODO: write up NetworkManagementService mock
expectClearNotifications();
replay();
setNetworkPolicies(new NetworkPolicy(TEMPLATE_WIFI, null, CYCLE_DAY, 1024L, 2048L));
verifyAndReset();
@@ -388,7 +397,7 @@ public class NetworkPolicyManagerServiceTest extends AndroidTestCase {
return new NetworkState(info, prop, null);
}
public void expectTime(long currentTime) throws Exception {
private void expectTime(long currentTime) throws Exception {
expect(mTime.forceRefresh()).andReturn(false).anyTimes();
expect(mTime.hasCache()).andReturn(true).anyTimes();
expect(mTime.currentTimeMillis()).andReturn(currentTime).anyTimes();
@@ -396,6 +405,11 @@ public class NetworkPolicyManagerServiceTest extends AndroidTestCase {
expect(mTime.getCacheCertainty()).andReturn(0L).anyTimes();
}
private void expectClearNotifications() throws Exception {
mNotifManager.cancelNotificationWithTag(isA(String.class), isA(String.class), anyInt());
expectLastCall().anyTimes();
}
private void expectRulesChanged(int uid, int policy) throws Exception {
mPolicyListener.onRulesChanged(eq(uid), eq(policy));
expectLastCall().atLeastOnce();
@@ -403,13 +417,13 @@ public class NetworkPolicyManagerServiceTest extends AndroidTestCase {
private void replay() {
EasyMock.replay(mActivityManager, mPowerManager, mStatsService, mPolicyListener, mTime,
mConnManager);
mConnManager, mNotifManager);
}
private void verifyAndReset() {
EasyMock.verify(mActivityManager, mPowerManager, mStatsService, mPolicyListener, mTime,
mConnManager);
mConnManager, mNotifManager);
EasyMock.reset(mActivityManager, mPowerManager, mStatsService, mPolicyListener, mTime,
mConnManager);
mConnManager, mNotifManager);
}
}