Merge "ClatCoordinatorTest: add testDump" am: 1076248194
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2110085 Change-Id: Ie3dbcaab138d6fd2942cf4a8d4af1cbefd586157 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -36,6 +36,7 @@ import static org.mockito.Mockito.argThat;
|
||||
import static org.mockito.Mockito.clearInvocations;
|
||||
import static org.mockito.Mockito.eq;
|
||||
import static org.mockito.Mockito.inOrder;
|
||||
import static org.mockito.Mockito.spy;
|
||||
|
||||
import android.annotation.NonNull;
|
||||
import android.net.INetd;
|
||||
@@ -46,6 +47,7 @@ import android.os.ParcelFileDescriptor;
|
||||
|
||||
import androidx.test.filters.SmallTest;
|
||||
|
||||
import com.android.internal.util.IndentingPrintWriter;
|
||||
import com.android.net.module.util.IBpfMap;
|
||||
import com.android.net.module.util.bpf.ClatEgress4Key;
|
||||
import com.android.net.module.util.bpf.ClatEgress4Value;
|
||||
@@ -53,6 +55,7 @@ import com.android.net.module.util.bpf.ClatIngress6Key;
|
||||
import com.android.net.module.util.bpf.ClatIngress6Value;
|
||||
import com.android.testutils.DevSdkIgnoreRule;
|
||||
import com.android.testutils.DevSdkIgnoreRunner;
|
||||
import com.android.testutils.TestBpfMap;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
@@ -64,6 +67,7 @@ import org.mockito.Spy;
|
||||
|
||||
import java.io.FileDescriptor;
|
||||
import java.io.IOException;
|
||||
import java.io.StringWriter;
|
||||
import java.net.Inet4Address;
|
||||
import java.net.Inet6Address;
|
||||
import java.util.Objects;
|
||||
@@ -121,10 +125,13 @@ public class ClatCoordinatorTest {
|
||||
private static final ClatIngress6Value INGRESS_VALUE = new ClatIngress6Value(STACKED_IFINDEX,
|
||||
INET4_LOCAL4);
|
||||
|
||||
private final TestBpfMap<ClatIngress6Key, ClatIngress6Value> mIngressMap =
|
||||
spy(new TestBpfMap<>(ClatIngress6Key.class, ClatIngress6Value.class));
|
||||
private final TestBpfMap<ClatEgress4Key, ClatEgress4Value> mEgressMap =
|
||||
spy(new TestBpfMap<>(ClatEgress4Key.class, ClatEgress4Value.class));
|
||||
|
||||
@Mock private INetd mNetd;
|
||||
@Spy private TestDependencies mDeps = new TestDependencies();
|
||||
@Mock private IBpfMap<ClatIngress6Key, ClatIngress6Value> mIngressMap;
|
||||
@Mock private IBpfMap<ClatEgress4Key, ClatEgress4Value> mEgressMap;
|
||||
|
||||
/**
|
||||
* The dependency injection class is used to mock the JNI functions and system functions
|
||||
@@ -505,4 +512,25 @@ public class ClatCoordinatorTest {
|
||||
// Expected mtu is that CLAT_MAX_MTU(65536) minus MTU_DELTA(28).
|
||||
assertEquals(65508, ClatCoordinator.adjustMtu(CLAT_MAX_MTU + 1 /* over maximum mtu */));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDump() throws Exception {
|
||||
final ClatCoordinator coordinator = makeClatCoordinator();
|
||||
final StringWriter stringWriter = new StringWriter();
|
||||
final IndentingPrintWriter ipw = new IndentingPrintWriter(stringWriter, " ");
|
||||
coordinator.clatStart(BASE_IFACE, NETID, NAT64_IP_PREFIX);
|
||||
coordinator.dump(ipw);
|
||||
|
||||
final String[] dumpStrings = stringWriter.toString().split("\n");
|
||||
assertEquals(5, dumpStrings.length);
|
||||
assertEquals("Forwarding rules:", dumpStrings[0].trim());
|
||||
assertEquals("BPF ingress map: iif nat64Prefix v6Addr -> v4Addr oif",
|
||||
dumpStrings[1].trim());
|
||||
assertEquals("1000 /64:ff9b::/96 /2001:db8:0:b11::464 -> /192.0.0.46 1001",
|
||||
dumpStrings[2].trim());
|
||||
assertEquals("BPF egress map: iif v4Addr -> v6Addr nat64Prefix oif",
|
||||
dumpStrings[3].trim());
|
||||
assertEquals("1001 /192.0.0.46 -> /2001:db8:0:b11::464 /64:ff9b::/96 1000 ether",
|
||||
dumpStrings[4].trim());
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user