private void setActiveNetworkInfo(NetworkInfo networkInfo) { Shadows.shadowOf(connectivityManager).setActiveNetworkInfo(networkInfo); }
@Test public void setActiveNetworkInfo_shouldSetActiveNetworkInfo() throws Exception { shadowOf(connectivityManager).setActiveNetworkInfo(null); assertThat(connectivityManager.getActiveNetworkInfo()).isNull(); shadowOf(connectivityManager) .setActiveNetworkInfo( ShadowNetworkInfo.newInstance( null, ConnectivityManager.TYPE_MOBILE_HIPRI, TelephonyManager.NETWORK_TYPE_EDGE, true, NetworkInfo.State.DISCONNECTED)); NetworkInfo info = connectivityManager.getActiveNetworkInfo(); assertThat(info.getType()).isEqualTo(ConnectivityManager.TYPE_MOBILE_HIPRI); assertThat(info.getSubtype()).isEqualTo(TelephonyManager.NETWORK_TYPE_EDGE); assertThat(info.isAvailable()).isTrue(); assertThat(info.isConnected()).isFalse(); }
@Test public void testNoActiveNetwork() { shadowOf((ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE)).setActiveNetworkInfo(null); assertFalse(AppUtils.isOnWiFi(context)); }
@Test public void isActiveNetworkMetered_noActiveNetwork() { shadowOf(connectivityManager).setActiveNetworkInfo(null); assertThat(connectivityManager.isActiveNetworkMetered()).isFalse(); }
@Test @Config(minSdk = M) public void setActiveNetworkInfo_shouldSetActiveNetwork() throws Exception { shadowOf(connectivityManager).setActiveNetworkInfo(null); assertThat(connectivityManager.getActiveNetworkInfo()).isNull(); shadowOf(connectivityManager) .setActiveNetworkInfo( ShadowNetworkInfo.newInstance( null, ConnectivityManager.TYPE_MOBILE_HIPRI, TelephonyManager.NETWORK_TYPE_EDGE, true, NetworkInfo.State.DISCONNECTED)); NetworkInfo info = connectivityManager.getActiveNetworkInfo(); assertThat(info.getType()).isEqualTo(ConnectivityManager.TYPE_MOBILE_HIPRI); assertThat(info.getSubtype()).isEqualTo(TelephonyManager.NETWORK_TYPE_EDGE); assertThat(info.isAvailable()).isTrue(); assertThat(info.isConnected()).isFalse(); assertThat(shadowOf(connectivityManager.getActiveNetwork()).getNetId()).isEqualTo(info.getType()); }
@Test public void testNonWiFiNetwork() { shadowOf((ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE)) .setActiveNetworkInfo(ShadowNetworkInfo.newInstance(null, ConnectivityManager.TYPE_MOBILE, 0, true, true)); assertFalse(AppUtils.isOnWiFi(context)); }
@Test public void testDisconnectedNetwork() { shadowOf((ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE)) .setActiveNetworkInfo(ShadowNetworkInfo.newInstance(null, 0, 0, false, false)); assertFalse(AppUtils.isOnWiFi(context)); }
@Test public void testWiFiNetwork() { shadowOf((ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE)) .setActiveNetworkInfo(ShadowNetworkInfo.newInstance(null, ConnectivityManager.TYPE_WIFI, 0, true, true)); assertTrue(AppUtils.isOnWiFi(context)); }
@Test public void isActiveNetworkMetered_mobileIsMetered() { shadowOf(connectivityManager) .setActiveNetworkInfo(connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE)); assertThat(connectivityManager.isActiveNetworkMetered()).isTrue(); }
@Test public void getAllNetworkInfo_shouldReturnAllNetworkInterfaces() throws Exception { NetworkInfo[] infos = connectivityManager.getAllNetworkInfo(); assertThat(infos).asList().hasSize(2); assertThat(infos).asList().contains(connectivityManager.getActiveNetworkInfo()); shadowOf(connectivityManager).setActiveNetworkInfo(null); assertThat(connectivityManager.getAllNetworkInfo()).isEmpty(); }
@Test public void isActiveNetworkMetered_nonMobileIsUnmetered() { shadowOf(connectivityManager) .setActiveNetworkInfo(connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI)); assertThat(connectivityManager.isActiveNetworkMetered()).isFalse(); }
private void setNetworkType(int type) { shadowOf((ConnectivityManager) service.getSystemService(Context.CONNECTIVITY_SERVICE)) .setActiveNetworkInfo(ShadowNetworkInfo.newInstance(null, type, 0, true, NetworkInfo.State.CONNECTED)); }
@Before public void setUp() { MockitoAnnotations.initMocks(this); TestApplication.applicationGraph.inject(this); reset(itemManager); controller = Robolectric.buildActivity(WebActivity.class); activity = controller.get(); PreferenceManager.getDefaultSharedPreferences(activity) .edit() .putBoolean(activity.getString(R.string.pref_lazy_load), false) .apply(); shadowOf((ConnectivityManager) RuntimeEnvironment.application .getSystemService(Context.CONNECTIVITY_SERVICE)) .setActiveNetworkInfo(ShadowNetworkInfo.newInstance(null, ConnectivityManager.TYPE_WIFI, 0, true, NetworkInfo.State.CONNECTED)); }
@Test public void testScheduledJob() { PreferenceManager.getDefaultSharedPreferences(RuntimeEnvironment.application) .edit() .putBoolean(RuntimeEnvironment.application.getString(R.string.pref_saved_item_sync), true) .apply(); shadowOf((ConnectivityManager) RuntimeEnvironment.application .getSystemService(Context.CONNECTIVITY_SERVICE)) .setActiveNetworkInfo(ShadowNetworkInfo.newInstance(null, ConnectivityManager.TYPE_WIFI, 0, true, NetworkInfo.State.CONNECTED)); new SyncScheduler().scheduleSync(RuntimeEnvironment.application, "1"); List<JobInfo> pendingJobs = shadowOf((JobScheduler) RuntimeEnvironment.application .getSystemService(Context.JOB_SCHEDULER_SERVICE)).getAllPendingJobs(); assertThat(pendingJobs).isNotEmpty(); JobInfo actual = pendingJobs.get(0); assertThat(actual.getService().getClassName()) .isEqualTo(ItemSyncJobService.class.getName()); }
@Test public void testAreConstraintsSatisfied_anyNetworkRequired_unsatisfied_nullNetworkInfo() { JobInvocation job = jobBuilder.setConstraints(Constraint.uncompact(Constraint.ON_ANY_NETWORK)).build(); shadowConnectivityManager.setActiveNetworkInfo(null); assertThat(constraintChecker.areConstraintsSatisfied(job)).isFalse(); }
@Before public void setUp() { MockitoAnnotations.initMocks(this); TestApplication.applicationGraph.inject(this); reset(favoriteManager); item = mock(WebItem.class); when(item.getType()).thenReturn(Item.STORY_TYPE); when(item.getUrl()).thenReturn("http://example.com"); intent = new Intent(); intent.putExtra(WebActivity.EXTRA_ITEM, item); controller = Robolectric.buildActivity(WebActivity.class, intent); shadowOf((ConnectivityManager) RuntimeEnvironment.application .getSystemService(Context.CONNECTIVITY_SERVICE)) .setActiveNetworkInfo(ShadowNetworkInfo.newInstance(null, ConnectivityManager.TYPE_WIFI, 0, true, NetworkInfo.State.CONNECTED)); activity = controller.get(); PreferenceManager.getDefaultSharedPreferences(activity) .edit() .putBoolean(activity.getString(R.string.pref_ad_block), true) .putBoolean(activity.getString(R.string.pref_lazy_load), false) .apply(); controller.create().start().resume().visible(); }
@Before public void setUp() { MockitoAnnotations.initMocks(this); TestApplication.applicationGraph.inject(this); reset(hackerNewsClient); shadowOf((ConnectivityManager) RuntimeEnvironment.application .getSystemService(Context.CONNECTIVITY_SERVICE)) .setActiveNetworkInfo(ShadowNetworkInfo.newInstance(null, ConnectivityManager.TYPE_WIFI, 0, true, NetworkInfo.State.CONNECTED)); PreferenceManager.getDefaultSharedPreferences(RuntimeEnvironment.application) .edit() .putString(RuntimeEnvironment.application.getString(R.string.pref_comment_display), RuntimeEnvironment.application.getString(R.string.pref_comment_display_value_multiple)) .putBoolean(RuntimeEnvironment.application.getString(R.string.pref_lazy_load), false) .apply(); controller = Robolectric.buildActivity(TestItemActivity.class); activity = controller.create().start().resume().get(); }
@Test @Config(minSdk = LOLLIPOP) public void getAllNetworkInfo_shouldEqualGetAllNetworks() throws Exception { // Update the active network so that we're no longer in the default state. NetworkInfo networkInfo = ShadowNetworkInfo.newInstance( NetworkInfo.DetailedState.CONNECTED, ConnectivityManager.TYPE_WIFI, 0 /* subType */, true /* isAvailable */, true /* isConnected */); shadowOf(connectivityManager).setActiveNetworkInfo(networkInfo); // Verify that getAllNetworks and getAllNetworkInfo match. Network[] networks = connectivityManager.getAllNetworks(); NetworkInfo[] networkInfos = new NetworkInfo[networks.length]; for (int i = 0; i < networks.length; i++) { networkInfos[i] = connectivityManager.getNetworkInfo(networks[i]); assertThat(connectivityManager.getAllNetworkInfo()).asList().contains(networkInfos[i]); } assertThat(networkInfos).hasLength(connectivityManager.getAllNetworkInfo().length); }
@Test public void testOpenExternalUrlNoConnection() { shadowOf((ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE)) .setActiveNetworkInfo(null); AppUtils.openWebUrlExternal(context, new TestHnItem(1L) { @Override public String getUrl() { return "http://example.com"; } }, "http://example.com", null); assertThat(shadowOf(context).getNextStartedActivity()) .hasComponent(context, OfflineWebActivity.class) .hasExtra(OfflineWebActivity.EXTRA_URL, "http://example.com"); }
Shadow.extract( RuntimeEnvironment.application.getSystemService(Context.CONNECTIVITY_SERVICE)); connectivityManager.setActiveNetworkInfo(networkInfo);