diff options
author | Cody Kesting <ckesting@google.com> | 2019-09-26 13:51:00 -0700 |
---|---|---|
committer | Cody Kesting <ckesting@google.com> | 2019-09-30 10:23:50 -0700 |
commit | 8c71a3904bd9ebbf7267576d25be804641eac299 (patch) | |
tree | d61035d7721eaa88db6e040bb8c0991cb48c8411 /tests/iketests | |
parent | 7a5b1bb8358b37ff2478f581ed24fefdae31939e (diff) | |
download | ike-8c71a3904bd9ebbf7267576d25be804641eac299.tar.gz |
Handle Success and Failure in MethodState.
The EapStateMachine MethodState does not currently handle EAP-Success
and EAP-Failure messages when the EapMethodStateMachine has not been
handled. Checks are added for directly handling these messages when the
MethodStateMachine has not been assigned.
Bug: 141706483
Test: added test cases to MethodStateTest.
Test: atest FrameworksIkeTests
Change-Id: I455b40da5e59dbabb995de2ebca394e3ebbcf34a
Diffstat (limited to 'tests/iketests')
-rw-r--r-- | tests/iketests/src/java/com/android/ike/eap/statemachine/MethodStateTest.java | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/iketests/src/java/com/android/ike/eap/statemachine/MethodStateTest.java b/tests/iketests/src/java/com/android/ike/eap/statemachine/MethodStateTest.java index 3421e15e..93ee03d0 100644 --- a/tests/iketests/src/java/com/android/ike/eap/statemachine/MethodStateTest.java +++ b/tests/iketests/src/java/com/android/ike/eap/statemachine/MethodStateTest.java @@ -25,8 +25,10 @@ import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_FAILURE_ import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_REQUEST_AKA; import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_REQUEST_IDENTITY_PACKET; import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_REQUEST_MSCHAP_V2; +import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_REQUEST_NOTIFICATION_PACKET; import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_REQUEST_SIM_START_PACKET; import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_RESPONSE_NAK_PACKET; +import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_RESPONSE_NOTIFICATION_PACKET; import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_SUCCESS_PACKET; import static com.android.ike.eap.message.EapTestMessageDefinitions.EMSK; import static com.android.ike.eap.message.EapTestMessageDefinitions.ID_INT; @@ -41,10 +43,12 @@ import static org.mockito.Mockito.verifyNoMoreInteractions; import static org.mockito.Mockito.when; import com.android.ike.eap.EapResult; +import com.android.ike.eap.EapResult.EapError; import com.android.ike.eap.EapResult.EapFailure; import com.android.ike.eap.EapResult.EapResponse; import com.android.ike.eap.EapResult.EapSuccess; import com.android.ike.eap.EapSessionConfig; +import com.android.ike.eap.exceptions.EapInvalidRequestException; import com.android.ike.eap.message.EapMessage; import com.android.ike.eap.statemachine.EapStateMachine.FailureState; import com.android.ike.eap.statemachine.EapStateMachine.MethodState; @@ -153,4 +157,27 @@ public class MethodStateTest extends EapStateTest { assertTrue(mEapStateMachine.getState() instanceof FailureState); verifyNoMoreInteractions(mockEapMethodStateMachine); } + + @Test + public void testProcessEapFailureWithNoEapMethodState() { + EapResult result = mEapStateMachine.process(EAP_FAILURE_PACKET); + assertTrue(result instanceof EapFailure); + assertTrue(mEapStateMachine.getState() instanceof FailureState); + } + + @Test + public void testProcessEapSuccessWithNoEapMethodState() { + EapResult result = mEapStateMachine.process(EAP_SUCCESS_PACKET); + EapError eapError = (EapError) result; + assertTrue(eapError.cause instanceof EapInvalidRequestException); + assertTrue(mEapStateMachine.getState() instanceof MethodState); + } + + @Test + public void testProcessEapNotificationWithNoEapMethodState() { + EapResult result = mEapStateMachine.process(EAP_REQUEST_NOTIFICATION_PACKET); + EapResponse eapResponse = (EapResponse) result; + assertArrayEquals(EAP_RESPONSE_NOTIFICATION_PACKET, eapResponse.packet); + assertTrue(mEapStateMachine.getState() instanceof MethodState); + } } |