diff options
Diffstat (limited to 'tests/src/com/android/providers/downloads/FakeSystemFacade.java')
-rw-r--r-- | tests/src/com/android/providers/downloads/FakeSystemFacade.java | 55 |
1 files changed, 36 insertions, 19 deletions
diff --git a/tests/src/com/android/providers/downloads/FakeSystemFacade.java b/tests/src/com/android/providers/downloads/FakeSystemFacade.java index af5482e1..eaf5e43d 100644 --- a/tests/src/com/android/providers/downloads/FakeSystemFacade.java +++ b/tests/src/com/android/providers/downloads/FakeSystemFacade.java @@ -1,5 +1,9 @@ package com.android.providers.downloads; +import static org.mockito.Matchers.any; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + import android.content.Intent; import android.content.pm.PackageManager.NameNotFoundException; import android.net.ConnectivityManager; @@ -7,16 +11,22 @@ import android.net.Network; import android.net.NetworkInfo; import android.net.NetworkInfo.DetailedState; +import org.mockito.invocation.InvocationOnMock; +import org.mockito.stubbing.Answer; + +import java.io.IOException; +import java.net.URL; +import java.net.URLConnection; import java.util.ArrayList; import java.util.List; + public class FakeSystemFacade implements SystemFacade { long mTimeMillis = 0; - Network mActiveNetwork = null; Integer mActiveNetworkType = ConnectivityManager.TYPE_WIFI; boolean mIsRoaming = false; boolean mIsMetered = false; - Long mMaxBytesOverMobile = null; - Long mRecommendedMaxBytesOverMobile = null; + long mMaxBytesOverMobile = Long.MAX_VALUE; + long mRecommendedMaxBytesOverMobile = Long.MAX_VALUE; List<Intent> mBroadcastsSent = new ArrayList<Intent>(); boolean mCleartextTrafficPermitted = true; private boolean mReturnActualTime = false; @@ -26,8 +36,8 @@ public class FakeSystemFacade implements SystemFacade { mActiveNetworkType = ConnectivityManager.TYPE_WIFI; mIsRoaming = false; mIsMetered = false; - mMaxBytesOverMobile = null; - mRecommendedMaxBytesOverMobile = null; + mMaxBytesOverMobile = Long.MAX_VALUE; + mRecommendedMaxBytesOverMobile = Long.MAX_VALUE; mBroadcastsSent.clear(); mReturnActualTime = false; } @@ -46,37 +56,44 @@ public class FakeSystemFacade implements SystemFacade { @Override public Network getActiveNetwork(int uid) { - return mActiveNetwork; + if (mActiveNetworkType == null) { + return null; + } else { + final Network network = mock(Network.class); + try { + when(network.openConnection(any())).then(new Answer<URLConnection>() { + @Override + public URLConnection answer(InvocationOnMock invocation) throws Throwable { + final URL url = (URL) invocation.getArguments()[0]; + return url.openConnection(); + } + }); + } catch (IOException ignored) { + } + return network; + } } @Override - public NetworkInfo getActiveNetworkInfo(int uid) { + public NetworkInfo getNetworkInfo(Network network) { if (mActiveNetworkType == null) { return null; } else { final NetworkInfo info = new NetworkInfo(mActiveNetworkType, 0, null, null); info.setDetailedState(DetailedState.CONNECTED, null, null); + info.setRoaming(mIsRoaming); + info.setMetered(mIsMetered); return info; } } @Override - public boolean isActiveNetworkMetered() { - return mIsMetered; - } - - @Override - public boolean isNetworkRoaming() { - return mIsRoaming; - } - - @Override - public Long getMaxBytesOverMobile() { + public long getMaxBytesOverMobile() { return mMaxBytesOverMobile; } @Override - public Long getRecommendedMaxBytesOverMobile() { + public long getRecommendedMaxBytesOverMobile() { return mRecommendedMaxBytesOverMobile; } |