/** * Get shared instance. * * @param context any context. * @return shared instance. */ public static synchronized NetworkStateHelper getSharedInstance(Context context) { if (sSharedInstance == null) { sSharedInstance = new NetworkStateHelper(context); } return sSharedInstance; }
@Test public void permissionDenied() { when(mConnectivityManager.getActiveNetworkInfo()).thenThrow(new SecurityException()); NetworkStateHelper helper = new NetworkStateHelper(mContext); assertFalse(helper.isNetworkConnected()); }
@Test public void permissionDenied() { doThrow(new SecurityException()) .when(mConnectivityManager) .registerNetworkCallback(any(NetworkRequest.class), any(ConnectivityManager.NetworkCallback.class)); assertFalse(new NetworkStateHelper(mContext).isNetworkConnected()); }
@Test public void networkStates() { for (NetworkInfo.State state : NetworkInfo.State.values()) { NetworkInfo networkInfo = mock(NetworkInfo.class); when(mConnectivityManager.getActiveNetworkInfo()).thenReturn(networkInfo); when(networkInfo.isConnected()).thenReturn(state == NetworkInfo.State.CONNECTED); NetworkStateHelper helper = new NetworkStateHelper(mContext); assertEquals(state == NetworkInfo.State.CONNECTED, helper.isNetworkConnected()); } }
@Test public void verifyRequestedCapabilitiesBeforeAndroidM() throws Exception { NetworkRequest.Builder builder = mock(NetworkRequest.Builder.class); whenNew(NetworkRequest.Builder.class).withAnyArguments().thenReturn(builder); new NetworkStateHelper(mContext); verify(builder).addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET); verify(builder, never()).addCapability(NetworkCapabilities.NET_CAPABILITY_VALIDATED); }
@Test public void verifyRequestedCapabilitiesFromAndroidM() throws Exception { TestUtils.setInternalState(Build.VERSION.class, "SDK_INT", Build.VERSION_CODES.M); NetworkRequest.Builder builder = mock(NetworkRequest.Builder.class); whenNew(NetworkRequest.Builder.class).withAnyArguments().thenReturn(builder); new NetworkStateHelper(mContext); verify(builder).addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET); verify(builder).addCapability(NetworkCapabilities.NET_CAPABILITY_VALIDATED); } }
@Test public void nullNetworkInfo() { NetworkStateHelper helper = new NetworkStateHelper(mContext); assertFalse(helper.isNetworkConnected()); }
@Test public void initialState() { assertFalse(new NetworkStateHelper(mContext).isNetworkConnected()); }
NetworkStateHelper helper = new NetworkStateHelper(mContext); verify(mContext).registerReceiver(any(BroadcastReceiver.class), any(IntentFilter.class)); NetworkStateHelper.Listener listener = mock(NetworkStateHelper.Listener.class);
@Test @SuppressWarnings("deprecation") public void listenNetwork() { NetworkStateHelper helper = new NetworkStateHelper(mContext); ArgumentCaptor<ConnectivityManager.NetworkCallback> callback = ArgumentCaptor.forClass(ConnectivityManager.NetworkCallback.class); verify(mConnectivityManager).registerNetworkCallback(any(NetworkRequest.class), callback.capture());