diff options
author | Cody Kesting <ckesting@google.com> | 2019-10-23 13:52:48 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2019-10-23 13:52:48 +0000 |
commit | 921ac444faf681fe748249d77eebead1802352de (patch) | |
tree | 831336725e5a54e05233c52f88625bc11e0d5b0c /tests/iketests/src | |
parent | 7b0ea194cef75cad479da4a1752a04d517dc0bd8 (diff) | |
parent | 18c38919407daad2df547918ebe4fddd3934a121 (diff) | |
download | ike-921ac444faf681fe748249d77eebead1802352de.tar.gz |
Merge "Create EAP-AKA' Attribute Factory and AT_KDF_INPUT."
Diffstat (limited to 'tests/iketests/src')
2 files changed, 85 insertions, 0 deletions
diff --git a/tests/iketests/src/java/com/android/ike/eap/message/simaka/attributes/AtKdfInputTest.java b/tests/iketests/src/java/com/android/ike/eap/message/simaka/attributes/AtKdfInputTest.java new file mode 100644 index 00000000..dc13f087 --- /dev/null +++ b/tests/iketests/src/java/com/android/ike/eap/message/simaka/attributes/AtKdfInputTest.java @@ -0,0 +1,78 @@ +/* + * Copyright (C) 2019 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.ike.eap.message.simaka.attributes; + +import static com.android.ike.eap.message.simaka.EapSimAkaAttribute.EAP_AT_KDF_INPUT; +import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_KDF_INPUT; +import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_KDF_INPUT_EMPTY_NETWORK_NAME; +import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.NETWORK_NAME_BYTES; + +import static org.junit.Assert.assertArrayEquals; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; + +import com.android.ike.eap.message.simaka.EapAkaPrimeAttributeFactory; +import com.android.ike.eap.message.simaka.EapSimAkaAttribute; +import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtKdfInput; + +import org.junit.Before; +import org.junit.Test; + +import java.nio.ByteBuffer; + +public class AtKdfInputTest { + private EapAkaPrimeAttributeFactory mAttributeFactory; + + @Before + public void setUp() { + mAttributeFactory = EapAkaPrimeAttributeFactory.getInstance(); + } + + @Test + public void testDecode() throws Exception { + ByteBuffer input = ByteBuffer.wrap(AT_KDF_INPUT); + EapSimAkaAttribute result = mAttributeFactory.getAttribute(input); + + assertFalse(input.hasRemaining()); + AtKdfInput atKdfInput = (AtKdfInput) result; + assertEquals(EAP_AT_KDF_INPUT, atKdfInput.attributeType); + assertEquals(AT_KDF_INPUT.length, atKdfInput.lengthInBytes); + assertArrayEquals(NETWORK_NAME_BYTES, atKdfInput.networkName); + } + + @Test + public void testDecodeEmptyNetworkName() throws Exception { + ByteBuffer input = ByteBuffer.wrap(AT_KDF_INPUT_EMPTY_NETWORK_NAME); + EapSimAkaAttribute result = mAttributeFactory.getAttribute(input); + + assertFalse(input.hasRemaining()); + AtKdfInput atKdfInput = (AtKdfInput) result; + assertEquals(EAP_AT_KDF_INPUT, atKdfInput.attributeType); + assertEquals(AT_KDF_INPUT_EMPTY_NETWORK_NAME.length, atKdfInput.lengthInBytes); + assertArrayEquals(new byte[0], atKdfInput.networkName); + } + + @Test + public void testEncode() throws Exception { + AtKdfInput atKdfInput = new AtKdfInput(AT_KDF_INPUT.length, NETWORK_NAME_BYTES); + ByteBuffer result = ByteBuffer.allocate(AT_KDF_INPUT.length); + + atKdfInput.encode(result); + assertArrayEquals(AT_KDF_INPUT, result.array()); + assertFalse(result.hasRemaining()); + } +} diff --git a/tests/iketests/src/java/com/android/ike/eap/message/simaka/attributes/EapTestAttributeDefinitions.java b/tests/iketests/src/java/com/android/ike/eap/message/simaka/attributes/EapTestAttributeDefinitions.java index c17c51e8..ba30724c 100644 --- a/tests/iketests/src/java/com/android/ike/eap/message/simaka/attributes/EapTestAttributeDefinitions.java +++ b/tests/iketests/src/java/com/android/ike/eap/message/simaka/attributes/EapTestAttributeDefinitions.java @@ -74,6 +74,13 @@ public class EapTestAttributeDefinitions { public static final byte[] AUTS_BYTES = hexStringToByteArray(AUTS); public static final byte[] AT_AUTS = hexStringToByteArray("0404" + AUTS); + // Network Name = "android.net" + public static final String NETWORK_NAME_HEX = "616E64726F69642E6E6574"; + public static final byte[] NETWORK_NAME_BYTES = hexStringToByteArray(NETWORK_NAME_HEX); + public static final byte[] AT_KDF_INPUT = + hexStringToByteArray("1704000B" + NETWORK_NAME_HEX + "00"); + public static final byte[] AT_KDF_INPUT_EMPTY_NETWORK_NAME = hexStringToByteArray("17010000"); + public static final byte[] AT_VERSION_LIST_INVALID_LENGTH = hexStringToByteArray("0F020003"); public static final byte[] AT_SELECTED_VERSION_INVALID_LENGTH = hexStringToByteArray("10020001"); |