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

Commit a7b8452e authored by Remi NGUYEN VAN's avatar Remi NGUYEN VAN Committed by paulhu
Browse files

Add tests for DhcpErrorEvent

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

Change-Id: I52976bbbaca26fb317836e8461e372c25df02a22
parent 4a208ae1
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