aboutsummaryrefslogtreecommitdiff
path: root/tests/iketests/src/java/com
diff options
context:
space:
mode:
authorCody Kesting <ckesting@google.com>2019-10-23 13:53:27 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2019-10-23 13:53:27 +0000
commit34607d248c0fee387e59bc7bce1e176061091632 (patch)
tree11914277d1aa9b9969debf3f78116838417bd781 /tests/iketests/src/java/com
parent921ac444faf681fe748249d77eebead1802352de (diff)
parente3b80f61c6576c4d9468aa1ba1d8a73af30fbc41 (diff)
downloadike-34607d248c0fee387e59bc7bce1e176061091632.tar.gz
Merge "Define EAP_AT_KDF attribute for EAP-AKA'."
Diffstat (limited to 'tests/iketests/src/java/com')
-rw-r--r--tests/iketests/src/java/com/android/ike/eap/message/simaka/attributes/AtKdfTest.java78
-rw-r--r--tests/iketests/src/java/com/android/ike/eap/message/simaka/attributes/EapTestAttributeDefinitions.java3
2 files changed, 81 insertions, 0 deletions
diff --git a/tests/iketests/src/java/com/android/ike/eap/message/simaka/attributes/AtKdfTest.java b/tests/iketests/src/java/com/android/ike/eap/message/simaka/attributes/AtKdfTest.java
new file mode 100644
index 00000000..0a1209c8
--- /dev/null
+++ b/tests/iketests/src/java/com/android/ike/eap/message/simaka/attributes/AtKdfTest.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;
+import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_KDF;
+import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.AT_KDF_INVALID_LENGTH;
+import static com.android.ike.eap.message.simaka.attributes.EapTestAttributeDefinitions.KDF_VERSION;
+
+import static org.junit.Assert.assertArrayEquals;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.fail;
+
+import com.android.ike.eap.exceptions.simaka.EapSimAkaInvalidAttributeException;
+import com.android.ike.eap.message.simaka.EapAkaPrimeAttributeFactory;
+import com.android.ike.eap.message.simaka.EapSimAkaAttribute;
+import com.android.ike.eap.message.simaka.EapSimAkaAttribute.AtKdf;
+
+import org.junit.Before;
+import org.junit.Test;
+
+import java.nio.ByteBuffer;
+
+public class AtKdfTest {
+ private EapAkaPrimeAttributeFactory mAttributeFactory;
+
+ @Before
+ public void setUp() {
+ mAttributeFactory = EapAkaPrimeAttributeFactory.getInstance();
+ }
+
+ @Test
+ public void testDecode() throws Exception {
+ ByteBuffer input = ByteBuffer.wrap(AT_KDF);
+ EapSimAkaAttribute result = mAttributeFactory.getAttribute(input);
+
+ assertFalse(input.hasRemaining());
+ AtKdf atKdf = (AtKdf) result;
+ assertEquals(EAP_AT_KDF, atKdf.attributeType);
+ assertEquals(AT_KDF.length, atKdf.lengthInBytes);
+ assertEquals(KDF_VERSION, atKdf.kdf);
+ }
+
+ @Test
+ public void testDecodeInvalidLength() throws Exception {
+ ByteBuffer input = ByteBuffer.wrap(AT_KDF_INVALID_LENGTH);
+ try {
+ mAttributeFactory.getAttribute(input);
+ fail("Expected EapSimAkaInvalidAttributeException for invalid length");
+ } catch (EapSimAkaInvalidAttributeException expected) {
+ }
+ }
+
+ @Test
+ public void testEncode() throws Exception {
+ AtKdf atKdf = new AtKdf(KDF_VERSION);
+ ByteBuffer result = ByteBuffer.allocate(AT_KDF.length);
+
+ atKdf.encode(result);
+ assertArrayEquals(AT_KDF, 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 ba30724c..b9007131 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
@@ -80,6 +80,8 @@ public class EapTestAttributeDefinitions {
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 int KDF_VERSION = 1;
+ public static final byte[] AT_KDF = hexStringToByteArray("18010001");
public static final byte[] AT_VERSION_LIST_INVALID_LENGTH = hexStringToByteArray("0F020003");
public static final byte[] AT_SELECTED_VERSION_INVALID_LENGTH =
@@ -110,4 +112,5 @@ public class EapTestAttributeDefinitions {
public static final byte[] AT_RES_LONG_RES =
hexStringToByteArray("0306008800112233445566778899AABBCCDDEEFF11000000");
public static final byte[] AT_AUTS_INVALID_LENGTH = hexStringToByteArray("03010000");
+ public static final byte[] AT_KDF_INVALID_LENGTH = hexStringToByteArray("18020001");
}