Merge "[Wi-Fi] Add multiple networks request case for adding Wi-Fi for apps feature."
This commit is contained in:
@@ -21,13 +21,14 @@ import static com.google.common.truth.Truth.assertThat;
|
||||
import static org.mockito.Mockito.doReturn;
|
||||
import static org.mockito.Mockito.spy;
|
||||
|
||||
import android.content.Context;
|
||||
import android.net.wifi.WifiConfiguration;
|
||||
import android.os.Bundle;
|
||||
import android.os.Parcelable;
|
||||
import android.provider.Settings;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import com.android.settings.R;
|
||||
|
||||
import org.junit.Before;
|
||||
@@ -42,18 +43,34 @@ import java.util.List;
|
||||
@RunWith(RobolectricTestRunner.class)
|
||||
public class AddAppNetworksFragmentTest {
|
||||
private static final String FAKE_APP_NAME = "fake_app_name";
|
||||
private static final String FAKE_SSID = "fake_ssid";
|
||||
private static final String FAKE_NEW_WPA_SSID = "fake_new_wpa_ssid";
|
||||
private static final String FAKE_NEW_OPEN_SSID = "fake_new_open_ssid";
|
||||
private static final String FAKE_NEW_SAVED_WPA_SSID = "\"fake_new_wpa_ssid\"";
|
||||
|
||||
private AddAppNetworksFragment mAddAppNetworksFragment;
|
||||
private Context mContext;
|
||||
private List<WifiConfiguration> mFakedSpecifiedNetworksList;
|
||||
private List<WifiConfiguration> mFakeSavedNetworksList;
|
||||
private WifiConfiguration mNewWpaConfigEntry;
|
||||
private WifiConfiguration mNewOpenConfigEntry;
|
||||
private WifiConfiguration mSavedWpaConfigEntry;
|
||||
private Bundle mBundle;
|
||||
private ArrayList<Integer> mFakedResultArrayList = new ArrayList<>();
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
mAddAppNetworksFragment = spy(new AddAppNetworksFragment());
|
||||
mNewWpaConfigEntry = generateWifiConfig(FAKE_NEW_WPA_SSID,
|
||||
WifiConfiguration.KeyMgmt.WPA_PSK, "\"1234567890\"");
|
||||
mNewOpenConfigEntry = generateWifiConfig(FAKE_NEW_OPEN_SSID,
|
||||
WifiConfiguration.KeyMgmt.NONE, null);
|
||||
mSavedWpaConfigEntry = generateWifiConfig(FAKE_NEW_SAVED_WPA_SSID,
|
||||
WifiConfiguration.KeyMgmt.WPA_PSK, "\"1234567890\"");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void callingPackageName_onCreateView_shouldBeCorrect() {
|
||||
setUpOneNetworkBundle();
|
||||
addOneSpecifiedNetworkConfig(mNewWpaConfigEntry);
|
||||
setUpBundle(mFakedSpecifiedNetworksList);
|
||||
setupFragment();
|
||||
|
||||
assertThat(mAddAppNetworksFragment.mCallingPackageName).isEqualTo(FAKE_APP_NAME);
|
||||
@@ -61,7 +78,8 @@ public class AddAppNetworksFragmentTest {
|
||||
|
||||
@Test
|
||||
public void launchFragment_shouldShowSaveButton() {
|
||||
setUpOneNetworkBundle();
|
||||
addOneSpecifiedNetworkConfig(mNewWpaConfigEntry);
|
||||
setUpBundle(mFakedSpecifiedNetworksList);
|
||||
setupFragment();
|
||||
|
||||
assertThat(mAddAppNetworksFragment.mSaveButton).isNotNull();
|
||||
@@ -69,7 +87,8 @@ public class AddAppNetworksFragmentTest {
|
||||
|
||||
@Test
|
||||
public void launchFragment_shouldShowCancelButton() {
|
||||
setUpOneNetworkBundle();
|
||||
addOneSpecifiedNetworkConfig(mNewWpaConfigEntry);
|
||||
setUpBundle(mFakedSpecifiedNetworksList);
|
||||
setupFragment();
|
||||
|
||||
assertThat(mAddAppNetworksFragment.mCancelButton).isNotNull();
|
||||
@@ -77,40 +96,72 @@ public class AddAppNetworksFragmentTest {
|
||||
|
||||
@Test
|
||||
public void requestOneNetwork_shouldShowCorrectSSID() {
|
||||
setUpOneNetworkBundle();
|
||||
addOneSpecifiedNetworkConfig(mNewWpaConfigEntry);
|
||||
setUpBundle(mFakedSpecifiedNetworksList);
|
||||
setupFragment();
|
||||
TextView ssidView = (TextView) mAddAppNetworksFragment.mLayoutView.findViewById(
|
||||
R.id.single_ssid);
|
||||
|
||||
assertThat(ssidView.getText()).isEqualTo(FAKE_SSID);
|
||||
assertThat(ssidView.getText()).isEqualTo(FAKE_NEW_WPA_SSID);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void withNoExtra_requestNetwork_shouldFinished() {
|
||||
setUpNoNetworkBundle();
|
||||
addOneSpecifiedNetworkConfig(null);
|
||||
setUpBundle(mFakedSpecifiedNetworksList);
|
||||
setupFragment();
|
||||
|
||||
assertThat(mAddAppNetworksFragment.mActivity.isFinishing()).isTrue();
|
||||
}
|
||||
|
||||
private void setUpOneNetworkBundle() {
|
||||
// Setup one network.
|
||||
List<WifiConfiguration> wifiConfigurationList = new ArrayList<>();
|
||||
wifiConfigurationList.add(
|
||||
generateWifiConfig(FAKE_SSID, WifiConfiguration.KeyMgmt.WPA_PSK, "\"1234567890\""));
|
||||
@Test
|
||||
public void withOneHalfSavedNetworks_uiListAndResultListShouldBeCorrect() {
|
||||
// Arrange
|
||||
// Setup a fake saved network list and assign to fragment.
|
||||
addOneSavedNetworkConfig(mSavedWpaConfigEntry);
|
||||
// Setup two specified networks and their results and assign to fragment.
|
||||
addOneSpecifiedNetworkConfig(mNewWpaConfigEntry);
|
||||
addOneSpecifiedNetworkConfig(mNewOpenConfigEntry);
|
||||
mAddAppNetworksFragment.mAllSpecifiedNetworksList = mFakedSpecifiedNetworksList;
|
||||
mFakedResultArrayList.add(mAddAppNetworksFragment.RESULT_NETWORK_INITIAL);
|
||||
mFakedResultArrayList.add(mAddAppNetworksFragment.RESULT_NETWORK_INITIAL);
|
||||
mAddAppNetworksFragment.mResultCodeArrayList = mFakedResultArrayList;
|
||||
|
||||
// Act
|
||||
mAddAppNetworksFragment.mUiToRequestedList = mAddAppNetworksFragment.filterSavedNetworks(
|
||||
mFakeSavedNetworksList);
|
||||
|
||||
// Assert
|
||||
assertThat(mAddAppNetworksFragment.mUiToRequestedList).hasSize(1);
|
||||
assertThat(mAddAppNetworksFragment.mResultCodeArrayList.get(0)).isEqualTo(
|
||||
mAddAppNetworksFragment.RESULT_NETWORK_ALREADY_EXISTS);
|
||||
assertThat(mAddAppNetworksFragment.mUiToRequestedList.get(
|
||||
0).mWifiConfiguration.SSID).isEqualTo(FAKE_NEW_OPEN_SSID);
|
||||
}
|
||||
|
||||
private void addOneSavedNetworkConfig(@NonNull WifiConfiguration wifiConfiguration) {
|
||||
if (mFakeSavedNetworksList == null) {
|
||||
mFakeSavedNetworksList = new ArrayList<>();
|
||||
}
|
||||
|
||||
mFakeSavedNetworksList.add(wifiConfiguration);
|
||||
}
|
||||
|
||||
private void addOneSpecifiedNetworkConfig(@NonNull WifiConfiguration wifiConfiguration) {
|
||||
if (wifiConfiguration != null) {
|
||||
if (mFakedSpecifiedNetworksList == null) {
|
||||
mFakedSpecifiedNetworksList = new ArrayList<>();
|
||||
}
|
||||
mFakedSpecifiedNetworksList.add(wifiConfiguration);
|
||||
}
|
||||
}
|
||||
|
||||
private void setUpBundle(List<WifiConfiguration> allFakedNetworksList) {
|
||||
// Set up bundle.
|
||||
final Bundle bundle = new Bundle();
|
||||
bundle.putString(AddAppNetworksActivity.KEY_CALLING_PACKAGE_NAME, FAKE_APP_NAME);
|
||||
bundle.putParcelableArrayList(Settings.EXTRA_WIFI_CONFIGURATION_LIST,
|
||||
(ArrayList<? extends Parcelable>) wifiConfigurationList);
|
||||
doReturn(bundle).when(mAddAppNetworksFragment).getArguments();
|
||||
}
|
||||
|
||||
private void setUpNoNetworkBundle() {
|
||||
// Set up bundle.
|
||||
final Bundle bundle = new Bundle();
|
||||
bundle.putString(AddAppNetworksActivity.KEY_CALLING_PACKAGE_NAME, FAKE_APP_NAME);
|
||||
bundle.putParcelableArrayList(Settings.EXTRA_WIFI_CONFIGURATION_LIST, null);
|
||||
(ArrayList<? extends Parcelable>) allFakedNetworksList);
|
||||
doReturn(bundle).when(mAddAppNetworksFragment).getArguments();
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user