aboutsummaryrefslogtreecommitdiff
path: root/tests/iketests/src
diff options
context:
space:
mode:
authorYan Yan <evitayan@google.com>2019-10-22 00:11:14 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2019-10-22 00:11:14 +0000
commit00947f336c35a49cded0717e290ad7565e5f8118 (patch)
treeacbb81763868b25dc96d7a6bec1be4eea20349f3 /tests/iketests/src
parente519e80734daf8c79ab79dd984720c09124416de (diff)
parentbaed2e356dabf6b79a5321a8a6ba480dc577e782 (diff)
downloadike-00947f336c35a49cded0717e290ad7565e5f8118.tar.gz
Merge changes I63d76d28,I02ac09c7,I7da5e6c5
* changes: Implement Config Attribute for DHCPv4 server Add interfaces for requesting DNS server and subnet Refactor IkeConfigPayload
Diffstat (limited to 'tests/iketests/src')
-rw-r--r--tests/iketests/src/java/com/android/ike/ikev2/TunnelModeChildSessionOptionsTest.java48
-rw-r--r--tests/iketests/src/java/com/android/ike/ikev2/message/IkeConfigPayloadTest.java71
2 files changed, 95 insertions, 24 deletions
diff --git a/tests/iketests/src/java/com/android/ike/ikev2/TunnelModeChildSessionOptionsTest.java b/tests/iketests/src/java/com/android/ike/ikev2/TunnelModeChildSessionOptionsTest.java
index a67d44f9..5ed6480c 100644
--- a/tests/iketests/src/java/com/android/ike/ikev2/TunnelModeChildSessionOptionsTest.java
+++ b/tests/iketests/src/java/com/android/ike/ikev2/TunnelModeChildSessionOptionsTest.java
@@ -20,8 +20,12 @@ import static android.system.OsConstants.AF_INET;
import static android.system.OsConstants.AF_INET6;
import static com.android.ike.ikev2.message.IkeConfigPayload.CONFIG_ATTR_INTERNAL_IP4_ADDRESS;
+import static com.android.ike.ikev2.message.IkeConfigPayload.CONFIG_ATTR_INTERNAL_IP4_DNS;
import static com.android.ike.ikev2.message.IkeConfigPayload.CONFIG_ATTR_INTERNAL_IP4_NETMASK;
+import static com.android.ike.ikev2.message.IkeConfigPayload.CONFIG_ATTR_INTERNAL_IP4_SUBNET;
import static com.android.ike.ikev2.message.IkeConfigPayload.CONFIG_ATTR_INTERNAL_IP6_ADDRESS;
+import static com.android.ike.ikev2.message.IkeConfigPayload.CONFIG_ATTR_INTERNAL_IP6_DNS;
+import static com.android.ike.ikev2.message.IkeConfigPayload.CONFIG_ATTR_INTERNAL_IP6_SUBNET;
import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
@@ -52,6 +56,11 @@ public final class TunnelModeChildSessionOptionsTest {
private static final Inet6Address IPV6_ADDRESS =
(Inet6Address) (InetAddressUtils.parseNumericAddress("2001:db8::1"));
+ private static final Inet4Address IPV4_DNS_SERVER =
+ (Inet4Address) (InetAddressUtils.parseNumericAddress("8.8.8.8"));
+ private static final Inet6Address IPV6_DNS_SERVER =
+ (Inet6Address) (InetAddressUtils.parseNumericAddress("2001:4860:4860::8888"));
+
private ChildSaProposal mSaProposal;
@Before
@@ -130,4 +139,43 @@ public final class TunnelModeChildSessionOptionsTest {
}
}
+
+ @Test
+ public void testBuildChildSessionOptionsWithDnsServerReq() {
+ TunnelModeChildSessionOptions childOptions =
+ new TunnelModeChildSessionOptions.Builder()
+ .addSaProposal(mSaProposal)
+ .addInternalDnsServerRequest(AF_INET, 1)
+ .addInternalDnsServerRequest(AF_INET6, 1)
+ .addInternalDnsServerRequest(IPV4_DNS_SERVER)
+ .addInternalDnsServerRequest(IPV6_DNS_SERVER)
+ .build();
+
+ verifyCommon(childOptions);
+
+ SparseArray<Integer> exptectedAttrCntMap = new SparseArray<>();
+ exptectedAttrCntMap.put(CONFIG_ATTR_INTERNAL_IP4_DNS, 2);
+ exptectedAttrCntMap.put(CONFIG_ATTR_INTERNAL_IP6_DNS, 2);
+
+ verifyAttrTypes(exptectedAttrCntMap, childOptions);
+ }
+
+ @Test
+ public void testBuildChildSessionOptionsWithSubnetReq() {
+ TunnelModeChildSessionOptions childOptions =
+ new TunnelModeChildSessionOptions.Builder()
+ .addSaProposal(mSaProposal)
+ .addInternalSubnetRequest(AF_INET, 1)
+ .addInternalSubnetRequest(AF_INET6, 1)
+ .build();
+
+ verifyCommon(childOptions);
+
+ SparseArray<Integer> exptectedAttrCntMap = new SparseArray<>();
+ exptectedAttrCntMap.put(CONFIG_ATTR_INTERNAL_IP4_SUBNET, 1);
+ exptectedAttrCntMap.put(CONFIG_ATTR_INTERNAL_IP6_SUBNET, 1);
+
+ verifyAttrTypes(exptectedAttrCntMap, childOptions);
+ }
}
+
diff --git a/tests/iketests/src/java/com/android/ike/ikev2/message/IkeConfigPayloadTest.java b/tests/iketests/src/java/com/android/ike/ikev2/message/IkeConfigPayloadTest.java
index 9ee6a620..e8a67d79 100644
--- a/tests/iketests/src/java/com/android/ike/ikev2/message/IkeConfigPayloadTest.java
+++ b/tests/iketests/src/java/com/android/ike/ikev2/message/IkeConfigPayloadTest.java
@@ -17,6 +17,7 @@
package com.android.ike.ikev2.message;
import static com.android.ike.ikev2.message.IkeConfigPayload.CONFIG_ATTR_INTERNAL_IP4_ADDRESS;
+import static com.android.ike.ikev2.message.IkeConfigPayload.CONFIG_ATTR_INTERNAL_IP4_DHCP;
import static com.android.ike.ikev2.message.IkeConfigPayload.CONFIG_ATTR_INTERNAL_IP4_DNS;
import static com.android.ike.ikev2.message.IkeConfigPayload.CONFIG_ATTR_INTERNAL_IP4_NETMASK;
import static com.android.ike.ikev2.message.IkeConfigPayload.CONFIG_ATTR_INTERNAL_IP4_SUBNET;
@@ -47,6 +48,7 @@ import com.android.ike.ikev2.message.IkeConfigPayload.ConfigAttrIpv4AddressBase;
import com.android.ike.ikev2.message.IkeConfigPayload.ConfigAttrIpv6AddrRangeBase;
import com.android.ike.ikev2.message.IkeConfigPayload.ConfigAttribute;
import com.android.ike.ikev2.message.IkeConfigPayload.ConfigAttributeIpv4Address;
+import com.android.ike.ikev2.message.IkeConfigPayload.ConfigAttributeIpv4Dhcp;
import com.android.ike.ikev2.message.IkeConfigPayload.ConfigAttributeIpv4Dns;
import com.android.ike.ikev2.message.IkeConfigPayload.ConfigAttributeIpv4Netmask;
import com.android.ike.ikev2.message.IkeConfigPayload.ConfigAttributeIpv4Subnet;
@@ -104,6 +106,13 @@ public final class IkeConfigPayloadTest {
private static final byte[] IPV4_DNS_ATTRIBUTE_WITHOUT_VALUE =
TestUtils.hexStringToByteArray("00030000");
+ private static final Inet4Address IPV4_DHCP =
+ (Inet4Address) (InetAddressUtils.parseNumericAddress("192.0.2.200"));
+ private static final byte[] IPV4_DHCP_ATTRIBUTE_WITH_VALUE =
+ TestUtils.hexStringToByteArray("00060004c00002c8");
+ private static final byte[] IPV4_DHCP_ATTRIBUTE_WITHOUT_VALUE =
+ TestUtils.hexStringToByteArray("00060000");
+
private static final byte[] IPV4_SUBNET_ATTRIBUTE_VALUE =
TestUtils.hexStringToByteArray("c0000264fffffff0");
private static final byte[] IPV4_SUBNET_ATTRIBUTE_WITH_VALUE =
@@ -420,6 +429,44 @@ public final class IkeConfigPayloadTest {
}
@Test
+ public void testDecodeIpv4DhcpWithValue() throws Exception {
+ ConfigAttributeIpv4Dhcp attribute = new ConfigAttributeIpv4Dhcp(IPV4_DHCP.getAddress());
+
+ assertEquals(CONFIG_ATTR_INTERNAL_IP4_DHCP, attribute.attributeType);
+ assertEquals(IPV4_DHCP, attribute.address);
+ }
+
+ @Test
+ public void testDecodeIpv4DhcpWithoutValue() throws Exception {
+ ConfigAttributeIpv4Dhcp attribute = new ConfigAttributeIpv4Dhcp(new byte[0]);
+
+ assertEquals(CONFIG_ATTR_INTERNAL_IP4_DHCP, attribute.attributeType);
+ assertNull(attribute.address);
+ }
+
+ @Test
+ public void testEncodeIpv4DhcpWithValue() throws Exception {
+ ConfigAttributeIpv4Dhcp attributeIp4Dhcp = new ConfigAttributeIpv4Dhcp(IPV4_DHCP);
+
+ verifyEncodeIpv4AddresBaseAttribute(
+ attributeIp4Dhcp,
+ CONFIG_ATTR_INTERNAL_IP4_DHCP,
+ IPV4_DHCP_ATTRIBUTE_WITH_VALUE,
+ IPV4_DHCP);
+ }
+
+ @Test
+ public void testEncodeIpv4DhcpWithoutValue() throws Exception {
+ ConfigAttributeIpv4Dhcp attribute = new ConfigAttributeIpv4Dhcp();
+
+ verifyEncodeIpv4AddresBaseAttribute(
+ attribute,
+ CONFIG_ATTR_INTERNAL_IP4_DHCP,
+ IPV4_DHCP_ATTRIBUTE_WITHOUT_VALUE,
+ null /*expectedAddress*/);
+ }
+
+ @Test
public void testDecodeIpv4SubnetWithValue() throws Exception {
ConfigAttributeIpv4Subnet attributeIp4Subnet =
new ConfigAttributeIpv4Subnet(IPV4_SUBNET_ATTRIBUTE_VALUE);
@@ -450,18 +497,6 @@ public final class IkeConfigPayloadTest {
}
@Test
- public void testEncodeIpv4SubnetWithValue() throws Exception {
- ConfigAttributeIpv4Subnet attributeIp4Subnet =
- new ConfigAttributeIpv4Subnet(IPV4_LINK_ADDRESS);
-
- verifyBuildAndEncodeAttributeCommon(
- attributeIp4Subnet,
- CONFIG_ATTR_INTERNAL_IP4_SUBNET,
- IPV4_SUBNET_ATTRIBUTE_WITH_VALUE);
- assertEquals(IPV4_LINK_ADDRESS, attributeIp4Subnet.linkAddress);
- }
-
- @Test
public void testEncodeIpv4SubnetWithoutValue() throws Exception {
ConfigAttributeIpv4Subnet attributeIp4Subnet = new ConfigAttributeIpv4Subnet();
@@ -559,18 +594,6 @@ public final class IkeConfigPayloadTest {
}
@Test
- public void testEncodeIpv6SubnetWithValue() throws Exception {
- ConfigAttributeIpv6Subnet attributeIp6Subnet =
- new ConfigAttributeIpv6Subnet(IPV6_LINK_ADDRESS);
-
- verifyEncodeIpv6RangeBaseAttribute(
- attributeIp6Subnet,
- CONFIG_ATTR_INTERNAL_IP6_SUBNET,
- IPV6_SUBNET_ATTRIBUTE_WITH_VALUE,
- IPV6_LINK_ADDRESS);
- }
-
- @Test
public void testEncodeIpv6SubnetWithoutValue() throws Exception {
ConfigAttributeIpv6Subnet attributeIp6Subnet = new ConfigAttributeIpv6Subnet();