aboutsummaryrefslogtreecommitdiff
path: root/tests/iketests/src/java
diff options
context:
space:
mode:
authorevitayan <evitayan@google.com>2019-10-14 17:09:04 -0700
committerevitayan <evitayan@google.com>2019-10-24 12:54:25 -0700
commit630e023e06c4fc2ed27360bfe5634637a79bfca8 (patch)
tree7f72d8c48812753d64b55ccc66cda2e6364bc8da /tests/iketests/src/java
parent819c419ff9a87355a0cfa2776cd9afe324158667 (diff)
downloadike-630e023e06c4fc2ed27360bfe5634637a79bfca8.tar.gz
Adding interface for requesting DHCPv4 server
Bug: 140644654 Test: atest FrameworksIkeTests(all tests passed) Change-Id: Ib62e7060f3a113d7e39b0599e9720b4e88d78f28
Diffstat (limited to 'tests/iketests/src/java')
-rw-r--r--tests/iketests/src/java/com/android/ike/ikev2/TunnelModeChildSessionOptionsTest.java78
1 files changed, 63 insertions, 15 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 5ed6480c..e14e6e86 100644
--- a/tests/iketests/src/java/com/android/ike/ikev2/TunnelModeChildSessionOptionsTest.java
+++ b/tests/iketests/src/java/com/android/ike/ikev2/TunnelModeChildSessionOptionsTest.java
@@ -20,6 +20,7 @@ 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_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;
@@ -51,6 +52,8 @@ public final class TunnelModeChildSessionOptionsTest {
private static final int IP4_PREFIX_LEN = 32;
private static final int IP6_PREFIX_LEN = 64;
+ private static final int INVALID_ADDR_FAMILY = 5;
+
private static final Inet4Address IPV4_ADDRESS =
(Inet4Address) (InetAddressUtils.parseNumericAddress("192.0.2.100"));
private static final Inet6Address IPV6_ADDRESS =
@@ -61,6 +64,8 @@ public final class TunnelModeChildSessionOptionsTest {
private static final Inet6Address IPV6_DNS_SERVER =
(Inet6Address) (InetAddressUtils.parseNumericAddress("2001:4860:4860::8888"));
+ private static final Inet4Address IPV4_DHCP_SERVER =
+ (Inet4Address) (InetAddressUtils.parseNumericAddress("192.0.2.200"));
private ChildSaProposal mSaProposal;
@Before
@@ -81,10 +86,10 @@ public final class TunnelModeChildSessionOptionsTest {
}
private void verifyAttrTypes(
- SparseArray exptectedAttrCntMap, TunnelModeChildSessionOptions childOptions) {
+ SparseArray expectedAttrCntMap, TunnelModeChildSessionOptions childOptions) {
ConfigAttribute[] configAttributes = childOptions.getConfigurationRequests();
- SparseArray<Integer> atrrCntMap = exptectedAttrCntMap.clone();
+ SparseArray<Integer> atrrCntMap = expectedAttrCntMap.clone();
for (int i = 0; i < configAttributes.length; i++) {
int attType = configAttributes[i].attributeType;
@@ -119,12 +124,12 @@ public final class TunnelModeChildSessionOptionsTest {
verifyCommon(childOptions);
- SparseArray<Integer> exptectedAttrCntMap = new SparseArray<>();
- exptectedAttrCntMap.put(CONFIG_ATTR_INTERNAL_IP4_ADDRESS, 2);
- exptectedAttrCntMap.put(CONFIG_ATTR_INTERNAL_IP6_ADDRESS, 3);
- exptectedAttrCntMap.put(CONFIG_ATTR_INTERNAL_IP4_NETMASK, 1);
+ SparseArray<Integer> expectedAttrCntMap = new SparseArray<>();
+ expectedAttrCntMap.put(CONFIG_ATTR_INTERNAL_IP4_ADDRESS, 2);
+ expectedAttrCntMap.put(CONFIG_ATTR_INTERNAL_IP6_ADDRESS, 3);
+ expectedAttrCntMap.put(CONFIG_ATTR_INTERNAL_IP4_NETMASK, 1);
- verifyAttrTypes(exptectedAttrCntMap, childOptions);
+ verifyAttrTypes(expectedAttrCntMap, childOptions);
}
@Test
@@ -153,11 +158,11 @@ public final class TunnelModeChildSessionOptionsTest {
verifyCommon(childOptions);
- SparseArray<Integer> exptectedAttrCntMap = new SparseArray<>();
- exptectedAttrCntMap.put(CONFIG_ATTR_INTERNAL_IP4_DNS, 2);
- exptectedAttrCntMap.put(CONFIG_ATTR_INTERNAL_IP6_DNS, 2);
+ SparseArray<Integer> expectedAttrCntMap = new SparseArray<>();
+ expectedAttrCntMap.put(CONFIG_ATTR_INTERNAL_IP4_DNS, 2);
+ expectedAttrCntMap.put(CONFIG_ATTR_INTERNAL_IP6_DNS, 2);
- verifyAttrTypes(exptectedAttrCntMap, childOptions);
+ verifyAttrTypes(expectedAttrCntMap, childOptions);
}
@Test
@@ -171,11 +176,54 @@ public final class TunnelModeChildSessionOptionsTest {
verifyCommon(childOptions);
- SparseArray<Integer> exptectedAttrCntMap = new SparseArray<>();
- exptectedAttrCntMap.put(CONFIG_ATTR_INTERNAL_IP4_SUBNET, 1);
- exptectedAttrCntMap.put(CONFIG_ATTR_INTERNAL_IP6_SUBNET, 1);
+ SparseArray<Integer> expectedAttrCntMap = new SparseArray<>();
+ expectedAttrCntMap.put(CONFIG_ATTR_INTERNAL_IP4_SUBNET, 1);
+ expectedAttrCntMap.put(CONFIG_ATTR_INTERNAL_IP6_SUBNET, 1);
+
+ verifyAttrTypes(expectedAttrCntMap, childOptions);
+ }
+
+ @Test
+ public void testBuildChildSessionOptionsWithDhcpServerReq() {
+ TunnelModeChildSessionOptions childOptions =
+ new TunnelModeChildSessionOptions.Builder()
+ .addSaProposal(mSaProposal)
+ .addInternalDhcpServerRequest(AF_INET, 3)
+ .addInternalDhcpServerRequest(IPV4_DHCP_SERVER)
+ .build();
+
+ verifyCommon(childOptions);
+
+ SparseArray<Integer> expectedAttrCntMap = new SparseArray<>();
+ expectedAttrCntMap.put(CONFIG_ATTR_INTERNAL_IP4_DHCP, 4);
+
+ verifyAttrTypes(expectedAttrCntMap, childOptions);
+ }
+
+ @Test
+ public void testBuildChildSessionOptionsWithDhcp6SeverReq() {
+ try {
+ new TunnelModeChildSessionOptions.Builder()
+ .addSaProposal(mSaProposal)
+ .addInternalDhcpServerRequest(AF_INET6, 3)
+ .build();
+ fail("Expected to fail because DHCP6 is not supported.");
+ } catch (IllegalArgumentException expected) {
+
+ }
+ }
+
+ @Test
+ public void testBuildChildSessionOptionsWithInvalidDhcpReq() {
+ try {
+ new TunnelModeChildSessionOptions.Builder()
+ .addSaProposal(mSaProposal)
+ .addInternalDhcpServerRequest(INVALID_ADDR_FAMILY, 3)
+ .build();
+ fail("Expected to fail due to invalid address family value");
+ } catch (IllegalArgumentException expected) {
- verifyAttrTypes(exptectedAttrCntMap, childOptions);
+ }
}
}