From c735f98943512f9089a5904da01b949f6c4731fa Mon Sep 17 00:00:00 2001 From: Weng Su Date: Fri, 21 Jan 2022 08:22:59 +0000 Subject: [PATCH] Mock WifiManager.class for HotspotConditionControllerTest Bug: 215047177 Test: manual test make RunSettingsRoboTests ROBOTEST_FILTER=HotspotConditionControllerTest Change-Id: I902383f935d38b1736e5cced388a8b164a428007 --- .../HotspotConditionControllerTest.java | 22 +++++++++++-------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/tests/robotests/src/com/android/settings/homepage/contextualcards/conditional/HotspotConditionControllerTest.java b/tests/robotests/src/com/android/settings/homepage/contextualcards/conditional/HotspotConditionControllerTest.java index 6fa83f272f5..69be1310c0c 100644 --- a/tests/robotests/src/com/android/settings/homepage/contextualcards/conditional/HotspotConditionControllerTest.java +++ b/tests/robotests/src/com/android/settings/homepage/contextualcards/conditional/HotspotConditionControllerTest.java @@ -18,28 +18,31 @@ package com.android.settings.homepage.contextualcards.conditional; import static com.google.common.truth.Truth.assertThat; +import static org.mockito.Mockito.spy; +import static org.mockito.Mockito.when; + import android.content.Context; import android.net.wifi.SoftApConfiguration; import android.net.wifi.WifiManager; +import androidx.test.core.app.ApplicationProvider; + import com.android.settings.homepage.contextualcards.ContextualCard; -import com.android.settings.testutils.shadow.ShadowWifiManager; import org.junit.Before; -import org.junit.Ignore; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; +import org.mockito.MockitoAnnotations; import org.robolectric.RobolectricTestRunner; -import org.robolectric.RuntimeEnvironment; -import org.robolectric.annotation.Config; @RunWith(RobolectricTestRunner.class) -@Config(shadows = {ShadowWifiManager.class}) public class HotspotConditionControllerTest { private static final String WIFI_AP_SSID = "Test Hotspot"; + @Mock + private WifiManager mWifiManager; @Mock private ConditionManager mConditionManager; @@ -48,12 +51,14 @@ public class HotspotConditionControllerTest { @Before public void setUp() { - mContext = RuntimeEnvironment.application; + MockitoAnnotations.initMocks(this); + mContext = spy(ApplicationProvider.getApplicationContext()); + when(mContext.getSystemService(WifiManager.class)).thenReturn(mWifiManager); + mController = new HotspotConditionController(mContext, mConditionManager); } @Test - @Ignore public void buildContextualCard_hasWifiAp_shouldHaveWifiApSsid() { setupSoftApConfiguration(); @@ -63,7 +68,6 @@ public class HotspotConditionControllerTest { } @Test - @Ignore public void buildContextualCard_noWifiAp_shouldHaveEmptySsid() { final ContextualCard card = mController.buildContextualCard(); @@ -73,6 +77,6 @@ public class HotspotConditionControllerTest { private void setupSoftApConfiguration() { final SoftApConfiguration wifiApConfig = new SoftApConfiguration.Builder() .setSsid(WIFI_AP_SSID).build(); - mContext.getSystemService(WifiManager.class).setSoftApConfiguration(wifiApConfig); + when(mWifiManager.getSoftApConfiguration()).thenReturn(wifiApConfig); } }