summaryrefslogtreecommitdiff
path: root/test/com/google/android/iwlan/IwlanDataServiceTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'test/com/google/android/iwlan/IwlanDataServiceTest.java')
-rw-r--r--test/com/google/android/iwlan/IwlanDataServiceTest.java34
1 files changed, 34 insertions, 0 deletions
diff --git a/test/com/google/android/iwlan/IwlanDataServiceTest.java b/test/com/google/android/iwlan/IwlanDataServiceTest.java
index 2f8f2c3..b7cda5b 100644
--- a/test/com/google/android/iwlan/IwlanDataServiceTest.java
+++ b/test/com/google/android/iwlan/IwlanDataServiceTest.java
@@ -1780,4 +1780,38 @@ public class IwlanDataServiceTest {
method.setAccessible(true);
return method.invoke(target, args);
}
+
+ @Test
+ public void testNetworkChangeDuringTunnelBringUp_closeTunnel() {
+ DataProfile dp = buildImsDataProfile();
+ Network newNetwork1 = createMockNetwork(mLinkProperties);
+ onSystemDefaultNetworkConnected(
+ newNetwork1, mLinkProperties, TRANSPORT_WIFI, DEFAULT_SUB_INDEX);
+
+ mSpyIwlanDataServiceProvider.setupDataCall(
+ AccessNetworkType.IWLAN, /* AccessNetworkType */
+ dp, /* dataProfile */
+ false, /* isRoaming */
+ true, /* allowRoaming */
+ DataService.REQUEST_REASON_NORMAL, /* DataService.REQUEST_REASON_NORMAL */
+ null, /* LinkProperties */
+ 1, /* pduSessionId */
+ null, /* sliceInfo */
+ null, /* trafficDescriptor */
+ true, /* matchAllRuleAllowed */
+ mMockDataServiceCallback);
+ mTestLooper.dispatchAll();
+
+ /* Check bringUpTunnel() is called. */
+ verify(mMockEpdgTunnelManager, times(1))
+ .bringUpTunnel(
+ any(TunnelSetupRequest.class),
+ any(IwlanTunnelCallback.class),
+ any(IwlanTunnelMetricsImpl.class));
+
+ Network newNetwork2 = createMockNetwork(mLinkProperties);
+ onSystemDefaultNetworkConnected(
+ newNetwork2, mLinkProperties, TRANSPORT_WIFI, DEFAULT_SUB_INDEX);
+ verify(mMockEpdgTunnelManager, times(1)).closeTunnel(any(), anyBoolean(), any(), any());
+ }
}