aboutsummaryrefslogtreecommitdiff
path: root/tests/iketests/src/java/com
diff options
context:
space:
mode:
authorCody Kesting <ckesting@google.com>2019-10-14 18:55:39 -0700
committerCody Kesting <ckesting@google.com>2019-10-19 15:15:48 -0700
commite3b80f61c6576c4d9468aa1ba1d8a73af30fbc41 (patch)
tree840d44b46db7be96a997e86058f57551a0bab3be /tests/iketests/src/java/com
parent18c38919407daad2df547918ebe4fddd3934a121 (diff)
downloadike-e3b80f61c6576c4d9468aa1ba1d8a73af30fbc41.tar.gz
Define EAP_AT_KDF attribute for EAP-AKA'.
Bug: 142663198 Test: added AtKdfTest. Test: atest FrameworksIkeTests Change-Id: I6b9f6e1fe98c10f4a20f1525409a8340ccfaebdf
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");
}