Search in sources :

Example 76 with NetworkPolicy

use of android.net.NetworkPolicy in project android_frameworks_base by DirtyUnicorns.

the class NetworkPolicyManagerServiceTest method testNextCycleTimezoneAfterUtc.

public void testNextCycleTimezoneAfterUtc() throws Exception {
    // US/Central is UTC-6
    final NetworkPolicy policy = new NetworkPolicy(sTemplateWifi, 10, "US/Central", 1024L, 1024L, false);
    assertTimeEquals(parseTime("2012-01-10T06:00:00.000Z"), computeNextCycleBoundary(parseTime("2012-01-05T00:00:00.000Z"), policy));
}
Also used : NetworkPolicy(android.net.NetworkPolicy)

Example 77 with NetworkPolicy

use of android.net.NetworkPolicy in project android_frameworks_base by DirtyUnicorns.

the class NetworkPolicyManagerServiceTest method testLastCycleBoundaryDST.

public void testLastCycleBoundaryDST() throws Exception {
    final long currentTime = parseTime("1989-01-02T07:30:00.000");
    final long expectedCycle = parseTime("1988-12-03T02:00:00.000Z");
    final NetworkPolicy policy = new NetworkPolicy(sTemplateWifi, 3, "America/Argentina/Buenos_Aires", 1024L, 1024L, false);
    final long actualCycle = computeLastCycleBoundary(currentTime, policy);
    assertTimeEquals(expectedCycle, actualCycle);
}
Also used : NetworkPolicy(android.net.NetworkPolicy)

Example 78 with NetworkPolicy

use of android.net.NetworkPolicy in project android_frameworks_base by DirtyUnicorns.

the class NetworkPolicyManagerServiceTest method testNetworkPolicyAppliedCycleLastMonth.

@Suppress
public void testNetworkPolicyAppliedCycleLastMonth() throws Exception {
    NetworkState[] state = null;
    NetworkStats stats = null;
    Future<Void> future;
    final long TIME_FEB_15 = 1171497600000L;
    final long TIME_MAR_10 = 1173484800000L;
    final int CYCLE_DAY = 15;
    setCurrentTimeMillis(TIME_MAR_10);
    // first, pretend that wifi network comes online. no policy active,
    // which means we shouldn't push limit to interface.
    state = new NetworkState[] { buildWifi() };
    expect(mConnManager.getAllNetworkState()).andReturn(state).atLeastOnce();
    expectCurrentTime();
    expectClearNotifications();
    expectAdvisePersistThreshold();
    future = expectMeteredIfacesChanged();
    replay();
    mServiceContext.sendBroadcast(new Intent(CONNECTIVITY_ACTION));
    future.get();
    verifyAndReset();
    // now change cycle to be on 15th, and test in early march, to verify we
    // pick cycle day in previous month.
    expect(mConnManager.getAllNetworkState()).andReturn(state).atLeastOnce();
    expectCurrentTime();
    // pretend that 512 bytes total have happened
    stats = new NetworkStats(getElapsedRealtime(), 1).addIfaceValues(TEST_IFACE, 256L, 2L, 256L, 2L);
    expect(mStatsService.getNetworkTotalBytes(sTemplateWifi, TIME_FEB_15, TIME_MAR_10)).andReturn(stats.getTotalBytes()).atLeastOnce();
    expectPolicyDataEnable(TYPE_WIFI, true);
    // TODO: consider making strongly ordered mock
    expectRemoveInterfaceQuota(TEST_IFACE);
    expectSetInterfaceQuota(TEST_IFACE, (2 * MB_IN_BYTES) - 512);
    expectClearNotifications();
    expectAdvisePersistThreshold();
    future = expectMeteredIfacesChanged(TEST_IFACE);
    replay();
    setNetworkPolicies(new NetworkPolicy(sTemplateWifi, CYCLE_DAY, TIMEZONE_UTC, 1 * MB_IN_BYTES, 2 * MB_IN_BYTES, false));
    future.get();
    verifyAndReset();
}
Also used : NetworkPolicy(android.net.NetworkPolicy) NetworkStats(android.net.NetworkStats) Intent(android.content.Intent) NetworkState(android.net.NetworkState) Suppress(android.test.suitebuilder.annotation.Suppress)

Example 79 with NetworkPolicy

use of android.net.NetworkPolicy in project android_frameworks_base by DirtyUnicorns.

the class NetworkPolicyManagerServiceTest method testLastCycleBoundaryThisMonthFebruary.

public void testLastCycleBoundaryThisMonthFebruary() throws Exception {
    // assume cycle day of "30th" in february; should go to january
    final long currentTime = parseTime("2007-02-14T00:00:00.000Z");
    final long expectedCycle = parseTime("2007-01-30T00:00:00.000Z");
    final NetworkPolicy policy = new NetworkPolicy(sTemplateWifi, 30, TIMEZONE_UTC, 1024L, 1024L, false);
    final long actualCycle = computeLastCycleBoundary(currentTime, policy);
    assertTimeEquals(expectedCycle, actualCycle);
}
Also used : NetworkPolicy(android.net.NetworkPolicy)

Example 80 with NetworkPolicy

use of android.net.NetworkPolicy in project android_frameworks_base by DirtyUnicorns.

the class NetworkPolicyManagerServiceTest method testLastCycleSane.

public void testLastCycleSane() throws Exception {
    final NetworkPolicy policy = new NetworkPolicy(sTemplateWifi, 31, TIMEZONE_UTC, WARNING_DISABLED, LIMIT_DISABLED, false);
    final LinkedHashSet<Long> seen = new LinkedHashSet<Long>();
    // walk backwards, ensuring that cycle boundaries look sane
    long currentCycle = computeLastCycleBoundary(parseTime("2011-08-04T00:00:00.000Z"), policy);
    for (int i = 0; i < 128; i++) {
        long lastCycle = computeLastCycleBoundary(currentCycle, policy);
        assertEqualsFuzzy(DAY_IN_MILLIS * 30, currentCycle - lastCycle, DAY_IN_MILLIS * 3);
        assertUnique(seen, lastCycle);
        currentCycle = lastCycle;
    }
}
Also used : LinkedHashSet(java.util.LinkedHashSet) NetworkPolicy(android.net.NetworkPolicy) EasyMock.anyLong(org.easymock.EasyMock.anyLong)

Aggregations

NetworkPolicy (android.net.NetworkPolicy)213 NetworkTemplate (android.net.NetworkTemplate)33 NetworkPolicyManager.uidRulesToString (android.net.NetworkPolicyManager.uidRulesToString)30 NetworkIdentity (android.net.NetworkIdentity)24 IOException (java.io.IOException)22 NetworkState (android.net.NetworkState)21 Time (android.text.format.Time)16 NetworkStats (android.net.NetworkStats)15 Test (org.junit.Test)15 RemoteException (android.os.RemoteException)11 Intent (android.content.Intent)10 NetworkPolicyManager (android.net.NetworkPolicyManager)10 WifiConfiguration (android.net.wifi.WifiConfiguration)10 ArraySet (android.util.ArraySet)10 PrintWriter (java.io.PrintWriter)10 ArrayList (java.util.ArrayList)10 LinkedHashSet (java.util.LinkedHashSet)10 Suppress (android.test.suitebuilder.annotation.Suppress)9 EasyMock.anyLong (org.easymock.EasyMock.anyLong)8 NetworkQuotaInfo (android.net.NetworkQuotaInfo)6