aboutsummaryrefslogtreecommitdiff
path: root/tests/iketests
diff options
context:
space:
mode:
authorCody Kesting <ckesting@google.com>2019-09-26 13:51:00 -0700
committerCody Kesting <ckesting@google.com>2019-09-30 10:23:50 -0700
commit8c71a3904bd9ebbf7267576d25be804641eac299 (patch)
treed61035d7721eaa88db6e040bb8c0991cb48c8411 /tests/iketests
parent7a5b1bb8358b37ff2478f581ed24fefdae31939e (diff)
downloadike-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.java27
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);
+ }
}