diff options
author | Cody Kesting <ckesting@google.com> | 2019-10-01 09:45:03 -0700 |
---|---|---|
committer | Cody Kesting <ckesting@google.com> | 2019-10-03 10:56:46 -0700 |
commit | 57d6c7f79efbbdd9ca2abf3e28b7299cced0894b (patch) | |
tree | 1de674617debf1e5dab736047e54f7037e153fbe /tests/iketests | |
parent | 8da4b86e0310297f05776b8423e0dc1779f85889 (diff) | |
download | ike-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.java | 5 | ||||
-rw-r--r-- | tests/iketests/src/java/com/android/ike/eap/message/simaka/EapAkaTypeDataTest.java | 33 |
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); } |