aboutsummaryrefslogtreecommitdiff
path: root/tests/iketests
diff options
context:
space:
mode:
authorCody Kesting <ckesting@google.com>2019-10-01 09:45:03 -0700
committerCody Kesting <ckesting@google.com>2019-10-03 10:56:46 -0700
commit57d6c7f79efbbdd9ca2abf3e28b7299cced0894b (patch)
tree1de674617debf1e5dab736047e54f7037e153fbe /tests/iketests
parent8da4b86e0310297f05776b8423e0dc1779f85889 (diff)
downloadike-57d6c7f79efbbdd9ca2abf3e28b7299cced0894b.tar.gz
Add test for decoding EapAkaTypeData.
Bug: 139695894 Test: added test case to EapAkaTypeDataTest. Test: atest FrameworksIkeTests Change-Id: I69e1bae0b39b96ab784a7d19c4aa17d83bf31b56
Diffstat (limited to 'tests/iketests')
-rw-r--r--tests/iketests/src/java/com/android/ike/eap/message/EapTestMessageDefinitions.java5
-rw-r--r--tests/iketests/src/java/com/android/ike/eap/message/simaka/EapAkaTypeDataTest.java33
2 files changed, 36 insertions, 2 deletions
diff --git a/tests/iketests/src/java/com/android/ike/eap/message/EapTestMessageDefinitions.java b/tests/iketests/src/java/com/android/ike/eap/message/EapTestMessageDefinitions.java
index 50e88a8f..79cb2e77 100644
--- a/tests/iketests/src/java/com/android/ike/eap/message/EapTestMessageDefinitions.java
+++ b/tests/iketests/src/java/com/android/ike/eap/message/EapTestMessageDefinitions.java
@@ -224,6 +224,11 @@ public class EapTestMessageDefinitions {
"2wURIjNEVRAAESIzRFVmd4iZqrvM3e7/EP/u3cy7qpmId2ZVRDMiEQA=";
public static final String EAP_AKA_CHALLENGE_RESPONSE_MAC = "C70366512D9C5EBA8E3484509A25DCE4";
+ public static final byte[] EAP_AKA_CHALLENGE_RESPONSE_MAC_BYTES =
+ hexStringToByteArray(EAP_AKA_CHALLENGE_RESPONSE_MAC);
+ public static final byte[] EAP_AKA_CHALLENGE_RESPONSE_TYPE_DATA =
+ hexStringToByteArray(
+ "01000003030028" + RES + "0000000B050000" + EAP_AKA_CHALLENGE_RESPONSE_MAC);
public static final byte[] EAP_AKA_CHALLENGE_RESPONSE =
hexStringToByteArray(
"02100028" // EAP-Response | ID | length in bytes
diff --git a/tests/iketests/src/java/com/android/ike/eap/message/simaka/EapAkaTypeDataTest.java b/tests/iketests/src/java/com/android/ike/eap/message/simaka/EapAkaTypeDataTest.java
index 837e2c6c..f476b742 100644
--- a/tests/iketests/src/java/com/android/ike/eap/message/simaka/EapAkaTypeDataTest.java
+++ b/tests/iketests/src/java/com/android/ike/eap/message/simaka/EapAkaTypeDataTest.java
@@ -16,22 +16,34 @@
package com.android.ike.eap.message.simaka;
+import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_AKA_CHALLENGE_RESPONSE_MAC_BYTES;
+import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_AKA_CHALLENGE_RESPONSE_TYPE_DATA;
import static com.android.ike.eap.message.EapTestMessageDefinitions.EAP_AKA_IDENTITY_REQUEST;
import static com.android.ike.eap.message.EapTestMessageDefinitions.INVALID_SUBTYPE;
+import static com.android.ike.eap.message.simaka.EapAkaTypeData.EAP_AKA_CHALLENGE;
import static com.android.ike.eap.message.simaka.EapAkaTypeData.EAP_AKA_IDENTITY;
import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_ANY_ID_REQ;
+import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_MAC;
+import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_RES;
+import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.RES_BYTES;
import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
import com.android.ike.eap.message.simaka.EapAkaTypeData.EapAkaTypeDataDecoder;
import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtAnyIdReq;
+import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtMac;
+import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtRes;
+import com.android.ike.eap.message.simaka.EapSimAkaTypeData.DecodeResult;
import org.junit.Before;
import org.junit.Test;
+import java.util.Iterator;
import java.util.LinkedHashMap;
+import java.util.Map.Entry;
public class EapAkaTypeDataTest {
private static final int UNABLE_TO_PROCESS_CODE = 0;
@@ -45,13 +57,30 @@ public class EapAkaTypeDataTest {
@Test
public void testDecode() {
+ DecodeResult<EapAkaTypeData> result =
+ mEapAkaTypeDataDecoder.decode(EAP_AKA_CHALLENGE_RESPONSE_TYPE_DATA);
+ assertTrue(result.isSuccessfulDecode());
+ EapAkaTypeData eapAkaTypeData = result.eapTypeData;
+ assertEquals(EAP_AKA_CHALLENGE, eapAkaTypeData.eapSubtype);
+
+ // also check Map entries (needs to match input order)
+ Iterator<Entry<Integer, EapSimAkaAttribute>> itr =
+ eapAkaTypeData.attributeMap.entrySet().iterator();
+ Entry<Integer, EapSimAkaAttribute> entry = itr.next();
+ assertEquals(EAP_AT_RES, (int) entry.getKey());
+ assertArrayEquals(RES_BYTES, ((AtRes) entry.getValue()).res);
+
+ entry = itr.next();
+ assertEquals(EAP_AT_MAC, (int) entry.getKey());
+ assertArrayEquals(EAP_AKA_CHALLENGE_RESPONSE_MAC_BYTES, ((AtMac) entry.getValue()).mac);
+
+ assertFalse(itr.hasNext());
}
@Test
public void testDecodeInvalidSubtype() {
- EapSimAkaTypeData.DecodeResult<EapAkaTypeData> result =
- mEapAkaTypeDataDecoder.decode(INVALID_SUBTYPE);
+ DecodeResult<EapAkaTypeData> result = mEapAkaTypeDataDecoder.decode(INVALID_SUBTYPE);
assertFalse(result.isSuccessfulDecode());
assertEquals(UNABLE_TO_PROCESS_CODE, result.atClientErrorCode.errorCode);
}