Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit be257d80 authored by Paul Hu's avatar Paul Hu
Browse files

Add tests for DhcpErrorEvent

The tests are run both in unit and CTS tests.
Test: atest FrameworksNetTests NetworkStackTestCases
Bug: 129200175

Change-Id: I78d78dd421cc3ffea774ff5eaa6aa758debc9cf2
Merged-In: I9b65a2eef94567d2b79a9955619938e64906080d
Merged-In: I78d78dd421cc3ffea774ff5eaa6aa758debc9cf2
(cherry picked from commit 9e046d50)
parent 1cff26a7
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -18,7 +18,7 @@
// They must be fast and stable, and exercise public or test APIs.
java_library {
    name: "FrameworksNetCommonTests",
    srcs: ["java/**/*.java"],
    srcs: ["java/**/*.java", "java/**/*.kt"],
    static_libs: [
        "androidx.test.rules",
        "frameworks-net-testutils",
+2 −2
Original line number Diff line number Diff line
@@ -868,12 +868,12 @@ public class LinkPropertiesTest {

        source.setNat64Prefix(new IpPrefix("2001:db8:1:2:64:64::/96"));

        TestUtils.assertParcelingIsLossless(source, LinkProperties.CREATOR);
        TestUtils.assertParcelingIsLossless(source);
    }

    @Test
    public void testParcelUninitialized() throws Exception {
        LinkProperties empty = new LinkProperties();
        TestUtils.assertParcelingIsLossless(empty, LinkProperties.CREATOR);
        TestUtils.assertParcelingIsLossless(empty);
    }
}
+1 −1
Original line number Diff line number Diff line
@@ -36,7 +36,7 @@ public class ApfCapabilitiesTest {
        final ApfCapabilities caps = new ApfCapabilities(123, 456, 789);
        ParcelableTestUtil.assertFieldCountEquals(3, ApfCapabilities.class);

        TestUtils.assertParcelingIsLossless(caps, ApfCapabilities.CREATOR);
        TestUtils.assertParcelingIsLossless(caps);
    }

    @Test
+67 −0
Original line number Diff line number Diff line
package android.net.metrics

import android.net.metrics.DhcpErrorEvent.errorCodeWithOption
import android.net.metrics.DhcpErrorEvent.DHCP_INVALID_OPTION_LENGTH
import androidx.test.filters.SmallTest
import androidx.test.runner.AndroidJUnit4
import com.android.internal.util.TestUtils.parcelingRoundTrip
import java.lang.reflect.Modifier
import org.junit.Assert.assertEquals
import org.junit.Assert.assertNotNull
import org.junit.Assert.assertTrue
import org.junit.Test
import org.junit.runner.RunWith

private const val TEST_ERROR_CODE = 12345
/**
 * DHCP Optional Type: DHCP Subnet Mask (Copy from DhcpPacket.java)
 */
private const val DHCP_SUBNET_MASK = 1

@RunWith(AndroidJUnit4::class)
@SmallTest
class DhcpErrorEventTest {

    @Test
    fun testConstructor() {
        val event = DhcpErrorEvent(TEST_ERROR_CODE)
        assertEquals(TEST_ERROR_CODE, event.errorCode)
    }

    @Test
    fun testParcelUnparcel() {
        val event = DhcpErrorEvent(TEST_ERROR_CODE)
        val parceled = parcelingRoundTrip(event)
        assertEquals(TEST_ERROR_CODE, parceled.errorCode)
    }

    @Test
    fun testErrorCodeWithOption() {
        val errorCode = errorCodeWithOption(DHCP_INVALID_OPTION_LENGTH, DHCP_SUBNET_MASK);
        assertTrue((DHCP_INVALID_OPTION_LENGTH and errorCode) == DHCP_INVALID_OPTION_LENGTH);
        assertTrue((DHCP_SUBNET_MASK and errorCode) == DHCP_SUBNET_MASK);
    }

    @Test
    fun testToString() {
        val names = listOf("L2_ERROR", "L3_ERROR", "L4_ERROR", "DHCP_ERROR", "MISC_ERROR")
        val errorFields = DhcpErrorEvent::class.java.declaredFields.filter {
            it.type == Int::class.javaPrimitiveType
                    && Modifier.isPublic(it.modifiers) && Modifier.isStatic(it.modifiers)
                    && it.name !in names
        }

        errorFields.forEach {
            val intValue = it.getInt(null)
            val stringValue = DhcpErrorEvent(intValue).toString()
            assertTrue("Invalid string for error 0x%08X (field %s): %s".format(intValue, it.name,
                    stringValue),
                    stringValue.contains(it.name))
        }
    }

    @Test
    fun testToString_InvalidErrorCode() {
        assertNotNull(DhcpErrorEvent(TEST_ERROR_CODE).toString())
    }
}
 No newline at end of file
+1 −1
Original line number Diff line number Diff line
@@ -79,7 +79,7 @@ public final class TcpKeepalivePacketDataTest {
        assertEquals(testInfo.tos, resultData.ipTos);
        assertEquals(testInfo.ttl, resultData.ipTtl);

        TestUtils.assertParcelingIsLossless(resultData, TcpKeepalivePacketData.CREATOR);
        TestUtils.assertParcelingIsLossless(resultData);

        final byte[] packet = resultData.getPacket();
        // IP version and IHL
Loading