summaryrefslogtreecommitdiff
path: root/common/tests/unit/src/com/android/net/module/util/ArpPacketTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'common/tests/unit/src/com/android/net/module/util/ArpPacketTest.java')
-rw-r--r--common/tests/unit/src/com/android/net/module/util/ArpPacketTest.java201
1 files changed, 0 insertions, 201 deletions
diff --git a/common/tests/unit/src/com/android/net/module/util/ArpPacketTest.java b/common/tests/unit/src/com/android/net/module/util/ArpPacketTest.java
deleted file mode 100644
index e25d5548..00000000
--- a/common/tests/unit/src/com/android/net/module/util/ArpPacketTest.java
+++ /dev/null
@@ -1,201 +0,0 @@
-/*
- * 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.net.module.util;
-
-import static com.android.net.module.util.NetworkStackConstants.ARP_REQUEST;
-import static com.android.net.module.util.NetworkStackConstants.ETHER_ADDR_LEN;
-import static com.android.net.module.util.NetworkStackConstants.ETHER_BROADCAST;
-import static com.android.testutils.MiscAsserts.assertThrows;
-
-import static org.junit.Assert.assertArrayEquals;
-import static org.junit.Assert.assertEquals;
-
-import android.net.InetAddresses;
-import android.net.MacAddress;
-
-import androidx.test.filters.SmallTest;
-import androidx.test.runner.AndroidJUnit4;
-
-import com.android.net.module.util.arp.ArpPacket;
-
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-import java.net.Inet4Address;
-import java.nio.ByteBuffer;
-
-@RunWith(AndroidJUnit4.class)
-@SmallTest
-public final class ArpPacketTest {
-
- private static final Inet4Address TEST_IPV4_ADDR =
- (Inet4Address) InetAddresses.parseNumericAddress("192.168.1.2");
- private static final Inet4Address INADDR_ANY =
- (Inet4Address) InetAddresses.parseNumericAddress("0.0.0.0");
- private static final byte[] TEST_SENDER_MAC_ADDR = new byte[] {
- 0x00, 0x1a, 0x11, 0x22, 0x33, 0x33 };
- private static final byte[] TEST_TARGET_MAC_ADDR = new byte[] {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
- private static final byte[] TEST_ARP_PROBE = new byte[] {
- // dst mac address
- (byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0xff,
- // src mac address
- (byte) 0x00, (byte) 0x1a, (byte) 0x11, (byte) 0x22, (byte) 0x33, (byte) 0x33,
- // ether type
- (byte) 0x08, (byte) 0x06,
- // hardware type
- (byte) 0x00, (byte) 0x01,
- // protocol type
- (byte) 0x08, (byte) 0x00,
- // hardware address size
- (byte) 0x06,
- // protocol address size
- (byte) 0x04,
- // opcode
- (byte) 0x00, (byte) 0x01,
- // sender mac address
- (byte) 0x00, (byte) 0x1a, (byte) 0x11, (byte) 0x22, (byte) 0x33, (byte) 0x33,
- // sender IP address
- (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00,
- // target mac address
- (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00,
- // target IP address
- (byte) 0xc0, (byte) 0xa8, (byte) 0x01, (byte) 0x02,
- };
-
- private static final byte[] TEST_ARP_ANNOUNCE = new byte[] {
- // dst mac address
- (byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0xff,
- // src mac address
- (byte) 0x00, (byte) 0x1a, (byte) 0x11, (byte) 0x22, (byte) 0x33, (byte) 0x33,
- // ether type
- (byte) 0x08, (byte) 0x06,
- // hardware type
- (byte) 0x00, (byte) 0x01,
- // protocol type
- (byte) 0x08, (byte) 0x00,
- // hardware address size
- (byte) 0x06,
- // protocol address size
- (byte) 0x04,
- // opcode
- (byte) 0x00, (byte) 0x01,
- // sender mac address
- (byte) 0x00, (byte) 0x1a, (byte) 0x11, (byte) 0x22, (byte) 0x33, (byte) 0x33,
- // sender IP address
- (byte) 0xc0, (byte) 0xa8, (byte) 0x01, (byte) 0x02,
- // target mac address
- (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00,
- // target IP address
- (byte) 0xc0, (byte) 0xa8, (byte) 0x01, (byte) 0x02,
- };
-
- private static final byte[] TEST_ARP_PROBE_TRUNCATED = new byte[] {
- // dst mac address
- (byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0xff,
- // src mac address
- (byte) 0x00, (byte) 0x1a, (byte) 0x11, (byte) 0x22, (byte) 0x33, (byte) 0x33,
- // ether type
- (byte) 0x08, (byte) 0x06,
- // hardware type
- (byte) 0x00, (byte) 0x01,
- // protocol type
- (byte) 0x08, (byte) 0x00,
- // hardware address size
- (byte) 0x06,
- // protocol address size
- (byte) 0x04,
- // opcode
- (byte) 0x00,
- };
-
- private static final byte[] TEST_ARP_PROBE_TRUNCATED_MAC = new byte[] {
- // dst mac address
- (byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0xff,
- // src mac address
- (byte) 0x00, (byte) 0x1a, (byte) 0x11, (byte) 0x22, (byte) 0x33, (byte) 0x33,
- // ether type
- (byte) 0x08, (byte) 0x06,
- // hardware type
- (byte) 0x00, (byte) 0x01,
- // protocol type
- (byte) 0x08, (byte) 0x00,
- // hardware address size
- (byte) 0x06,
- // protocol address size
- (byte) 0x04,
- // opcode
- (byte) 0x00, (byte) 0x01,
- // sender mac address
- (byte) 0x00, (byte) 0x1a, (byte) 0x11, (byte) 0x22, (byte) 0x33,
- };
-
- @Test
- public void testBuildArpProbePacket() throws Exception {
- final ByteBuffer arpProbe = ArpPacket.buildArpPacket(ETHER_BROADCAST,
- TEST_SENDER_MAC_ADDR, TEST_IPV4_ADDR.getAddress(), new byte[ETHER_ADDR_LEN],
- INADDR_ANY.getAddress(), (short) ARP_REQUEST);
- assertArrayEquals(arpProbe.array(), TEST_ARP_PROBE);
- }
-
- @Test
- public void testBuildArpAnnouncePacket() throws Exception {
- final ByteBuffer arpAnnounce = ArpPacket.buildArpPacket(ETHER_BROADCAST,
- TEST_SENDER_MAC_ADDR, TEST_IPV4_ADDR.getAddress(), new byte[ETHER_ADDR_LEN],
- TEST_IPV4_ADDR.getAddress(), (short) ARP_REQUEST);
- assertArrayEquals(arpAnnounce.array(), TEST_ARP_ANNOUNCE);
- }
-
- @Test
- public void testParseArpProbePacket() throws Exception {
- final ArpPacket packet = ArpPacket.parseArpPacket(TEST_ARP_PROBE, TEST_ARP_PROBE.length);
- assertEquals(packet.opCode, ARP_REQUEST);
- assertEquals(packet.senderHwAddress, MacAddress.fromBytes(TEST_SENDER_MAC_ADDR));
- assertEquals(packet.targetHwAddress, MacAddress.fromBytes(TEST_TARGET_MAC_ADDR));
- assertEquals(packet.senderIp, INADDR_ANY);
- assertEquals(packet.targetIp, TEST_IPV4_ADDR);
- }
-
- @Test
- public void testParseArpAnnouncePacket() throws Exception {
- final ArpPacket packet = ArpPacket.parseArpPacket(TEST_ARP_ANNOUNCE,
- TEST_ARP_ANNOUNCE.length);
- assertEquals(packet.opCode, ARP_REQUEST);
- assertEquals(packet.senderHwAddress, MacAddress.fromBytes(TEST_SENDER_MAC_ADDR));
- assertEquals(packet.targetHwAddress, MacAddress.fromBytes(TEST_TARGET_MAC_ADDR));
- assertEquals(packet.senderIp, TEST_IPV4_ADDR);
- assertEquals(packet.targetIp, TEST_IPV4_ADDR);
- }
-
- @Test
- public void testParseArpPacket_invalidByteBufferParameters() throws Exception {
- assertThrows(ArpPacket.ParseException.class, () -> ArpPacket.parseArpPacket(
- TEST_ARP_PROBE, 0));
- }
-
- @Test
- public void testParseArpPacket_truncatedPacket() throws Exception {
- assertThrows(ArpPacket.ParseException.class, () -> ArpPacket.parseArpPacket(
- TEST_ARP_PROBE_TRUNCATED, TEST_ARP_PROBE_TRUNCATED.length));
- }
-
- @Test
- public void testParseArpPacket_truncatedMacAddress() throws Exception {
- assertThrows(ArpPacket.ParseException.class, () -> ArpPacket.parseArpPacket(
- TEST_ARP_PROBE_TRUNCATED_MAC, TEST_ARP_PROBE_TRUNCATED.length));
- }
-}