diff options
author | Cody Kesting <ckesting@google.com> | 2019-10-11 12:47:59 -0700 |
---|---|---|
committer | Cody Kesting <ckesting@google.com> | 2019-10-11 12:53:40 -0700 |
commit | 0fa2d02213223fc2e76b54eae655ed0fbe468bb4 (patch) | |
tree | f4a40159a82d7d0f99af70a1fd51acc1fb9ee504 /tests/iketests | |
parent | 2907c15eb6836f1cf38eaad4d8bccfb85455936f (diff) | |
download | ike-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')
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); |