diff options
author | Treehugger Robot <treehugger-gerrit@google.com> | 2020-10-14 13:18:58 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2020-10-14 13:18:58 +0000 |
commit | b7aee190a5b41020c5a18f72a337443f16ea59ac (patch) | |
tree | 6e1f1c5e26f30f80c7b36d578aab8fa5312c2530 | |
parent | 83d9ddc6cbc07380c48f8120d52f9a29f3d8daf6 (diff) | |
parent | 7d5c2cf25a7991d4f70049b2cce40d47af3c9a3c (diff) |
Merge "Test conflict notification work when using cached address"
-rw-r--r-- | packages/Tethering/tests/unit/src/com/android/networkstack/tethering/PrivateAddressCoordinatorTest.java | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/packages/Tethering/tests/unit/src/com/android/networkstack/tethering/PrivateAddressCoordinatorTest.java b/packages/Tethering/tests/unit/src/com/android/networkstack/tethering/PrivateAddressCoordinatorTest.java index 86e6f11659c6..da13e341fb54 100644 --- a/packages/Tethering/tests/unit/src/com/android/networkstack/tethering/PrivateAddressCoordinatorTest.java +++ b/packages/Tethering/tests/unit/src/com/android/networkstack/tethering/PrivateAddressCoordinatorTest.java @@ -194,17 +194,16 @@ public final class PrivateAddressCoordinatorTest { @Test public void testRequestLastDownstreamAddress() throws Exception { - final int fakeHotspotSubAddr = 0x2b05; - final IpPrefix predefinedPrefix = new IpPrefix("192.168.43.0/24"); + final int fakeHotspotSubAddr = 0x2b05; // 43.5 when(mPrivateAddressCoordinator.getRandomInt()).thenReturn(fakeHotspotSubAddr); final LinkAddress hotspotAddress = mPrivateAddressCoordinator.requestDownstreamAddress( mHotspotIpServer, true /* useLastAddress */); - assertEquals("Wrong wifi prefix: ", predefinedPrefix, asIpPrefix(hotspotAddress)); + assertEquals("Wrong wifi prefix: ", new LinkAddress("192.168.43.5/24"), hotspotAddress); when(mHotspotIpServer.getAddress()).thenReturn(hotspotAddress); final LinkAddress usbAddress = mPrivateAddressCoordinator.requestDownstreamAddress( mUsbIpServer, true /* useLastAddress */); - assertNotEquals(predefinedPrefix, asIpPrefix(usbAddress)); + assertEquals("Wrong wifi prefix: ", new LinkAddress("192.168.45.5/24"), usbAddress); mPrivateAddressCoordinator.releaseDownstream(mHotspotIpServer); mPrivateAddressCoordinator.releaseDownstream(mUsbIpServer); @@ -218,6 +217,18 @@ public final class PrivateAddressCoordinatorTest { final LinkAddress newUsbAddress = mPrivateAddressCoordinator.requestDownstreamAddress( mUsbIpServer, true /* useLastAddress */); assertEquals(usbAddress, newUsbAddress); + + // BUG: the code should detect a conflict, but it doesn't. + // Regression introduced in r.android.com/168169687. + // Ensure conflict notification works when using cached address. + when(mHotspotIpServer.getAddress()).thenReturn(newHotspotAddress); + when(mUsbIpServer.getAddress()).thenReturn(usbAddress); + final UpstreamNetworkState wifiUpstream = buildUpstreamNetworkState(mWifiNetwork, + new LinkAddress("192.168.88.23/16"), null, + makeNetworkCapabilities(TRANSPORT_WIFI)); + mPrivateAddressCoordinator.updateUpstreamPrefix(wifiUpstream); + verify(mHotspotIpServer, never()).sendMessage(IpServer.CMD_NOTIFY_PREFIX_CONFLICT); + verify(mUsbIpServer, never()).sendMessage(IpServer.CMD_NOTIFY_PREFIX_CONFLICT); } private UpstreamNetworkState buildUpstreamNetworkState(final Network network, |