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

Commit 367c7586 authored by Paul Hu's avatar Paul Hu Committed by Gerrit Code Review
Browse files

Merge "Add tests for DhcpErrorEvent"

parents 950767f9 a7b8452e
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