aboutsummaryrefslogtreecommitdiff
path: root/tests/iketests
diff options
context:
space:
mode:
authorCody Kesting <ckesting@google.com>2019-10-11 12:47:59 -0700
committerCody Kesting <ckesting@google.com>2019-10-11 12:53:40 -0700
commit0fa2d02213223fc2e76b54eae655ed0fbe468bb4 (patch)
treef4a40159a82d7d0f99af70a1fd51acc1fb9ee504 /tests/iketests
parent2907c15eb6836f1cf38eaad4d8bccfb85455936f (diff)
downloadike-0fa2d02213223fc2e76b54eae655ed0fbe468bb4.tar.gz
Refactor EAP tests for unsupported types.
Each EAP method has end-to-end testing for making sure that unsupported EAP methods are NAK'd. The tests then verify that a happy-path authentication procedure is possible following the NAK. EAP-Failure message handling is also refactored to avoid redundant implementations for it. Bug: 141880296 Test: atest FrameworksIkeTests Change-Id: Ibea4fdb796d63a124d59dc88d9de72541ad61317
Diffstat (limited to 'tests/iketests')
-rw-r--r--tests/iketests/src/java/com/android/ike/eap/EapAkaTest.java9
-rw-r--r--tests/iketests/src/java/com/android/ike/eap/EapMethodEndToEndTest.java18
-rw-r--r--tests/iketests/src/java/com/android/ike/eap/EapMsChapV2Test.java16
-rw-r--r--tests/iketests/src/java/com/android/ike/eap/EapSimTest.java13
4 files changed, 21 insertions, 35 deletions
diff --git a/tests/iketests/src/java/com/android/ike/eap/EapAkaTest.java b/tests/iketests/src/java/com/android/ike/eap/EapAkaTest.java
index 607ade57..f64f507b 100644
--- a/tests/iketests/src/java/com/android/ike/eap/EapAkaTest.java
+++ b/tests/iketests/src/java/com/android/ike/eap/EapAkaTest.java
@@ -222,14 +222,7 @@ public class EapAkaTest extends EapMethodEndToEndTest {
@Test
public void testEapAkaUnsupportedType() {
- // EAP-Request/SIM/Start (unsupported type)
- mEapAuthenticator.processEapMessage(EAP_REQUEST_SIM_START_PACKET);
- mTestLooper.dispatchAll();
-
- // verify EAP-Response/Nak returned
- verify(mMockCallback).onResponse(eq(EAP_RESPONSE_NAK_PACKET));
- verifyNoMoreInteractions(
- mMockContext, mMockTelephonyManager, mMockSecureRandom, mMockCallback);
+ verifyUnsupportedType(EAP_REQUEST_SIM_START_PACKET, EAP_RESPONSE_NAK_PACKET);
verifyEapAkaIdentity();
verifyEapAkaChallenge();
diff --git a/tests/iketests/src/java/com/android/ike/eap/EapMethodEndToEndTest.java b/tests/iketests/src/java/com/android/ike/eap/EapMethodEndToEndTest.java
index 0e7ae0d6..aed73c25 100644
--- a/tests/iketests/src/java/com/android/ike/eap/EapMethodEndToEndTest.java
+++ b/tests/iketests/src/java/com/android/ike/eap/EapMethodEndToEndTest.java
@@ -16,6 +16,7 @@
package com.android.ike.eap;
+import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_FAILURE_PACKET;
import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_REQUEST_NOTIFICATION_PACKET;
import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_RESPONSE_NOTIFICATION_PACKET;
import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_SUCCESS;
@@ -51,6 +52,15 @@ public class EapMethodEndToEndTest {
mTestLooper = new TestLooper();
}
+ protected void verifyUnsupportedType(byte[] invalidMessageType, byte[] nakResponse) {
+ mEapAuthenticator.processEapMessage(invalidMessageType);
+ mTestLooper.dispatchAll();
+
+ // verify EAP-Response/Nak returned
+ verify(mMockCallback).onResponse(eq(nakResponse));
+ verifyNoMoreInteractions(mMockCallback);
+ }
+
protected void verifyEapNotification(int callsToVerify) {
mEapAuthenticator.processEapMessage(EAP_REQUEST_NOTIFICATION_PACKET);
mTestLooper.dispatchAll();
@@ -69,4 +79,12 @@ public class EapMethodEndToEndTest {
verify(mMockCallback).onSuccess(eq(msk), eq(emsk));
verifyNoMoreInteractions(mMockContext, mMockSecureRandom, mMockCallback);
}
+
+ protected void verifyEapFailure() {
+ mEapAuthenticator.processEapMessage(EAP_FAILURE_PACKET);
+ mTestLooper.dispatchAll();
+
+ verify(mMockCallback).onFail();
+ verifyNoMoreInteractions(mMockCallback);
+ }
}
diff --git a/tests/iketests/src/java/com/android/ike/eap/EapMsChapV2Test.java b/tests/iketests/src/java/com/android/ike/eap/EapMsChapV2Test.java
index e83091e0..d63b59f2 100644
--- a/tests/iketests/src/java/com/android/ike/eap/EapMsChapV2Test.java
+++ b/tests/iketests/src/java/com/android/ike/eap/EapMsChapV2Test.java
@@ -17,7 +17,6 @@
package com.android.ike.eap;
import static com.android.ike.TestUtils.hexStringToByteArray;
-import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_FAILURE_PACKET;
import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_REQUEST_AKA_IDENTITY_PACKET;
import static org.mockito.ArgumentMatchers.any;
@@ -119,12 +118,7 @@ public class EapMsChapV2Test extends EapMethodEndToEndTest {
@Test
public void testEapMsChapV2UnsupportedType() {
- mEapAuthenticator.processEapMessage(EAP_REQUEST_AKA_IDENTITY_PACKET);
- mTestLooper.dispatchAll();
-
- // verify EAP-Response/Nak returned
- verify(mMockCallback).onResponse(eq(EAP_RESPONSE_NAK_PACKET));
- verifyNoMoreInteractions(mMockCallback);
+ verifyUnsupportedType(EAP_REQUEST_AKA_IDENTITY_PACKET, EAP_RESPONSE_NAK_PACKET);
verifyEapMsChapV2Challenge();
verifyEapMsChapV2SuccessRequest();
@@ -174,12 +168,4 @@ public class EapMsChapV2Test extends EapMethodEndToEndTest {
verify(mMockCallback).onResponse(eq(EAP_MSCHAP_V2_FAILURE_RESPONSE));
verifyNoMoreInteractions(mMockCallback);
}
-
- private void verifyEapFailure() {
- mEapAuthenticator.processEapMessage(EAP_FAILURE_PACKET);
- mTestLooper.dispatchAll();
-
- verify(mMockCallback).onFail();
- verifyNoMoreInteractions(mMockCallback);
- }
}
diff --git a/tests/iketests/src/java/com/android/ike/eap/EapSimTest.java b/tests/iketests/src/java/com/android/ike/eap/EapSimTest.java
index 636a1e4d..b6f41659 100644
--- a/tests/iketests/src/java/com/android/ike/eap/EapSimTest.java
+++ b/tests/iketests/src/java/com/android/ike/eap/EapSimTest.java
@@ -188,19 +188,8 @@ public class EapSimTest extends EapMethodEndToEndTest {
@Test
public void testEapSimUnsupportedType() {
- // EAP-Request/AKA-Identity (unsupported type)
- mEapAuthenticator.processEapMessage(EAP_REQUEST_AKA_IDENTITY_PACKET);
- mTestLooper.dispatchAll();
-
- // verify EAP-Response/Nak returned
- verify(mMockCallback).onResponse(eq(EAP_RESPONSE_NAK_PACKET));
- verifyNoMoreInteractions(
- mMockContext,
- mMockTelephonyManager,
- mMockSecureRandom,
- mMockCallback);
+ verifyUnsupportedType(EAP_REQUEST_AKA_IDENTITY_PACKET, EAP_RESPONSE_NAK_PACKET);
- // Switch to EAP-SIM and go through protocol
verifyEapSimStart(EAP_SIM_START_REQUEST, EAP_SIM_START_RESPONSE, true);
verifyEapSimChallenge(EAP_SIM_CHALLENGE_REQUEST, EAP_SIM_CHALLENGE_RESPONSE);
verifyEapSuccess(MSK, EMSK);