From d3b6046c658e09d81f2dce27880602c36eedeb9f Mon Sep 17 00:00:00 2001 From: Paul Jensen Date: Wed, 28 Mar 2018 09:30:09 -0400 Subject: [PATCH] Add CTS test for Network.fromNetworkHandle() Bug: 77210159 Bug: 64148938 Test: make CtsNetTestCases Change-Id: I38d34cb4af681f1b1030d7f8d0404af210e43912 --- .../android/net/cts/MultinetworkApiTest.java | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/tests/cts/net/src/android/net/cts/MultinetworkApiTest.java b/tests/cts/net/src/android/net/cts/MultinetworkApiTest.java index 51ee50ed2a..b2c9d9b26a 100644 --- a/tests/cts/net/src/android/net/cts/MultinetworkApiTest.java +++ b/tests/cts/net/src/android/net/cts/MultinetworkApiTest.java @@ -152,4 +152,27 @@ public class MultinetworkApiTest extends AndroidTestCase { // to query on the default network. // assertEquals(-OsConstants.ENONET, runGetaddrinfoCheck(eNoNetHandle)); } + + public void testNetworkHandle() { + // Test Network -> NetworkHandle -> Network results in the same Network. + for (Network network : getTestableNetworks()) { + long networkHandle = network.getNetworkHandle(); + Network newNetwork = Network.fromNetworkHandle(networkHandle); + assertEquals(newNetwork, network); + } + + // Test that only obfuscated handles are allowed. + try { + Network.fromNetworkHandle(100); + fail(); + } catch (IllegalArgumentException e) {} + try { + Network.fromNetworkHandle(-1); + fail(); + } catch (IllegalArgumentException e) {} + try { + Network.fromNetworkHandle(0); + fail(); + } catch (IllegalArgumentException e) {} + } }