diff options
| author | 2017-04-03 10:37:00 +0000 | |
|---|---|---|
| committer | 2017-04-03 10:37:01 +0000 | |
| commit | 9a029b52625c3852f2b7628c208d57cf4f64b34e (patch) | |
| tree | 06313153fe0a9f4435947aec4aa4b7810111f00e | |
| parent | c98db5caa210e662d12163d8c710ffcad59d90a8 (diff) | |
| parent | 6556a220d7d3240be325328c718f28f1be9e381a (diff) | |
Merge "Add test coverage for NetworkSpecifiers."
| -rw-r--r-- | tests/net/java/com/android/server/ConnectivityServiceTest.java | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/tests/net/java/com/android/server/ConnectivityServiceTest.java b/tests/net/java/com/android/server/ConnectivityServiceTest.java index 519e7ab9447e..1cf0d5350fd2 100644 --- a/tests/net/java/com/android/server/ConnectivityServiceTest.java +++ b/tests/net/java/com/android/server/ConnectivityServiceTest.java @@ -345,6 +345,11 @@ public class ConnectivityServiceTest extends AndroidTestCase { mNetworkAgent.sendNetworkCapabilities(mNetworkCapabilities); } + public void setNetworkSpecifier(String specifier) { + mNetworkCapabilities.setNetworkSpecifier(specifier); + mNetworkAgent.sendNetworkCapabilities(mNetworkCapabilities); + } + public void connectWithoutInternet() { mNetworkInfo.setDetailedState(DetailedState.CONNECTED, null, null); mNetworkAgent.sendNetworkInfo(mNetworkInfo); @@ -1849,6 +1854,66 @@ public class ConnectivityServiceTest extends AndroidTestCase { captivePortalCallback.assertNoCallback(); } + private NetworkRequest.Builder newWifiRequestBuilder() { + return new NetworkRequest.Builder().addTransportType(TRANSPORT_WIFI); + } + + @SmallTest + public void testNetworkSpecifier() { + NetworkRequest.Builder b = new NetworkRequest.Builder().addTransportType(TRANSPORT_WIFI); + NetworkRequest rEmpty1 = newWifiRequestBuilder().build(); + NetworkRequest rEmpty2 = newWifiRequestBuilder().setNetworkSpecifier(null).build(); + NetworkRequest rEmpty3 = newWifiRequestBuilder().setNetworkSpecifier("").build(); + NetworkRequest rFoo = newWifiRequestBuilder().setNetworkSpecifier("foo").build(); + NetworkRequest rBar = newWifiRequestBuilder().setNetworkSpecifier("bar").build(); + + TestNetworkCallback cEmpty1 = new TestNetworkCallback(); + TestNetworkCallback cEmpty2 = new TestNetworkCallback(); + TestNetworkCallback cEmpty3 = new TestNetworkCallback(); + TestNetworkCallback cFoo = new TestNetworkCallback(); + TestNetworkCallback cBar = new TestNetworkCallback(); + TestNetworkCallback[] emptyCallbacks = new TestNetworkCallback[] { + cEmpty1, cEmpty2, cEmpty3 }; + + mCm.registerNetworkCallback(rEmpty1, cEmpty1); + mCm.registerNetworkCallback(rEmpty2, cEmpty2); + mCm.registerNetworkCallback(rEmpty3, cEmpty3); + mCm.registerNetworkCallback(rFoo, cFoo); + mCm.registerNetworkCallback(rBar, cBar); + + mWiFiNetworkAgent = new MockNetworkAgent(TRANSPORT_WIFI); + mWiFiNetworkAgent.connect(false); + cEmpty1.expectAvailableCallbacks(mWiFiNetworkAgent); + cEmpty2.expectAvailableCallbacks(mWiFiNetworkAgent); + cEmpty3.expectAvailableCallbacks(mWiFiNetworkAgent); + assertNoCallbacks(cFoo, cBar); + + mWiFiNetworkAgent.setNetworkSpecifier("foo"); + cFoo.expectAvailableCallbacks(mWiFiNetworkAgent); + for (TestNetworkCallback c: emptyCallbacks) { + c.expectCallback(CallbackState.NETWORK_CAPABILITIES, mWiFiNetworkAgent); + } + cFoo.expectCallback(CallbackState.NETWORK_CAPABILITIES, mWiFiNetworkAgent); + cFoo.assertNoCallback(); + + mWiFiNetworkAgent.setNetworkSpecifier("bar"); + cFoo.expectCallback(CallbackState.LOST, mWiFiNetworkAgent); + cBar.expectAvailableCallbacks(mWiFiNetworkAgent); + for (TestNetworkCallback c: emptyCallbacks) { + c.expectCallback(CallbackState.NETWORK_CAPABILITIES, mWiFiNetworkAgent); + } + cBar.expectCallback(CallbackState.NETWORK_CAPABILITIES, mWiFiNetworkAgent); + cBar.assertNoCallback(); + + mWiFiNetworkAgent.setNetworkSpecifier(null); + cBar.expectCallback(CallbackState.LOST, mWiFiNetworkAgent); + for (TestNetworkCallback c: emptyCallbacks) { + c.expectCallback(CallbackState.NETWORK_CAPABILITIES, mWiFiNetworkAgent); + } + + assertNoCallbacks(cEmpty1, cEmpty2, cEmpty3, cFoo, cBar); + } + @SmallTest public void testInvalidNetworkSpecifier() { boolean execptionCalled = true; |