summaryrefslogtreecommitdiffstats
path: root/tests/wifitests/src/com/android/server
diff options
context:
space:
mode:
authorEcco Park <eccopark@google.com>2018-11-12 10:32:40 -0800
committerEcco Park <eccopark@google.com>2018-11-12 15:56:02 -0800
commitfd6133ab6fdd798a225347069454de3ccc3ff81f (patch)
treee6e5454b6a32a3b450ecd01da52f008a1122cef1 /tests/wifitests/src/com/android/server
parentc6571a3424320c0ab3bcfbb0ab92439ed5adba64 (diff)
downloadandroid_frameworks_opt_net_wifi-fd6133ab6fdd798a225347069454de3ccc3ff81f.tar.gz
android_frameworks_opt_net_wifi-fd6133ab6fdd798a225347069454de3ccc3ff81f.tar.bz2
android_frameworks_opt_net_wifi-fd6133ab6fdd798a225347069454de3ccc3ff81f.zip
passpoint-r2: Validate PPS MO when parsing PPS-MO XML.
It needs to be validated based on the schema of PPS MO defined in Hostpot 2.0 release 2 specification. Bug: 118506846 Test: ./frameworks/opt/net/wifi/tests/wifitests/runtests.sh Test: live test with Passpoint R2 service provider AP. Change-Id: Iaf2c8d96633ddf1e2408c1f9ccfcf5faa8fe7b7a Signed-off-by: Ecco Park <eccopark@google.com>
Diffstat (limited to 'tests/wifitests/src/com/android/server')
-rw-r--r--tests/wifitests/src/com/android/server/wifi/hotspot2/PasspointProvisionerTest.java26
1 files changed, 25 insertions, 1 deletions
diff --git a/tests/wifitests/src/com/android/server/wifi/hotspot2/PasspointProvisionerTest.java b/tests/wifitests/src/com/android/server/wifi/hotspot2/PasspointProvisionerTest.java
index e0f35009c..bf346138b 100644
--- a/tests/wifitests/src/com/android/server/wifi/hotspot2/PasspointProvisionerTest.java
+++ b/tests/wifitests/src/com/android/server/wifi/hotspot2/PasspointProvisionerTest.java
@@ -64,6 +64,7 @@ import com.android.server.wifi.hotspot2.soap.PostDevDataResponse;
import com.android.server.wifi.hotspot2.soap.RedirectListener;
import com.android.server.wifi.hotspot2.soap.SppConstants;
import com.android.server.wifi.hotspot2.soap.SppResponseMessage;
+import com.android.server.wifi.hotspot2.soap.UpdateResponseMessage;
import com.android.server.wifi.hotspot2.soap.command.BrowserUri;
import com.android.server.wifi.hotspot2.soap.command.PpsMoData;
import com.android.server.wifi.hotspot2.soap.command.SppCommand;
@@ -158,13 +159,15 @@ public class PasspointProvisionerTest {
@Mock PackageManager mPackageManager;
@Mock PasspointConfiguration mPasspointConfiguration;
@Mock X509Certificate mX509Certificate;
+ @Mock SoapSerializationEnvelope mSoapSerializationEnvelope;
@Before
public void setUp() throws Exception {
MockitoAnnotations.initMocks(this);
mTestUrl = new URL(TEST_REDIRECT_URL);
mSession = ExtendedMockito.mockitoSession().mockStatic(
- RedirectListener.class).mockStatic(PpsMoParser.class).startMocking();
+ RedirectListener.class).mockStatic(PpsMoParser.class).mockStatic(
+ UpdateResponseMessage.class).startMocking();
when(RedirectListener.createInstance(mLooper.getLooper())).thenReturn(
mRedirectListener);
@@ -244,6 +247,10 @@ public class PasspointProvisionerTest {
when(mPasspointConfiguration.getSubscriptionUpdate()).thenReturn(updateParameter);
when(mOsuServerConnection.retrieveTrustRootCerts(anyMap())).thenReturn(true);
lenient().when(PpsMoParser.parseMoText(isNull())).thenReturn(mPasspointConfiguration);
+
+ when(mPasspointConfiguration.validateForR2()).thenReturn(true);
+ lenient().when(UpdateResponseMessage.serializeToSoapEnvelope(any(String.class),
+ any(Boolean.class))).thenReturn(mSoapSerializationEnvelope);
}
@After
@@ -340,6 +347,9 @@ public class PasspointProvisionerTest {
mSppResponseMessage);
mLooper.dispatchAll();
} else if (step == STEP_WAIT_FOR_THIRD_SOAP_RESPONSE) {
+ ExtendedMockito.verify(
+ () -> UpdateResponseMessage.serializeToSoapEnvelope(eq(TEST_SESSION_ID),
+ eq(false)));
verify(mCallback).onProvisioningStatus(
ProvisioningCallback.OSU_STATUS_THIRD_SOAP_EXCHANGE);
@@ -712,6 +722,20 @@ public class PasspointProvisionerTest {
}
/**
+ * Verifies that the {@link UpdateResponseMessage#serializeToSoapEnvelope(String, boolean)} is
+ * invoked with right arguments when a PPS-MO xml received from server is not valid in terms of
+ * schema of PPS MO.
+ */
+ @Test
+ public void verifyHandlingInvalidPpsMoForSoapResponse() throws RemoteException {
+ when(mPasspointConfiguration.validateForR2()).thenReturn(false);
+ stopAfterStep(STEP_WAIT_FOR_SECOND_SOAP_RESPONSE);
+
+ ExtendedMockito.verify(
+ () -> UpdateResponseMessage.serializeToSoapEnvelope(eq(TEST_SESSION_ID), eq(true)));
+ }
+
+ /**
* Verifies that the right provisioning callbacks are invoked when failing to call {@link
* OsuServerConnection#retrieveTrustRootCerts(Map)}.
*/