diff options
| author | Xin Li <delphij@google.com> | 2020-09-08 16:56:21 -0700 |
|---|---|---|
| committer | Xin Li <delphij@google.com> | 2020-09-08 16:56:21 -0700 |
| commit | cbbd712e067b94d7f916159e3cd73136dd160467 (patch) | |
| tree | e041eef0fff3530b2a2f426a3836119f3a279472 /tests | |
| parent | 4c4eea7c1c2038f1e917f420d03c8c941f2d733d (diff) | |
| parent | 316e24b8936e7c4a672c7bac3efa237bcd5a301b (diff) | |
| download | platform_packages_services_AlternativeNetworkAccess-master.tar.gz platform_packages_services_AlternativeNetworkAccess-master.tar.bz2 platform_packages_services_AlternativeNetworkAccess-master.zip | |
Bug: 168057903
Merged-In: I76a40f211cb9022b7ee1c372266c8cc1e2537e57
Change-Id: I0e116f3777af27d0e768ac234e4cc97b23fe23f8
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/src/com/android/ons/ONSProfileSelectorTest.java | 55 | ||||
| -rw-r--r-- | tests/src/com/android/ons/OpportunisticNetworkServiceTest.java | 30 |
2 files changed, 59 insertions, 26 deletions
diff --git a/tests/src/com/android/ons/ONSProfileSelectorTest.java b/tests/src/com/android/ons/ONSProfileSelectorTest.java index 4816ec6..e86726a 100644 --- a/tests/src/com/android/ons/ONSProfileSelectorTest.java +++ b/tests/src/com/android/ons/ONSProfileSelectorTest.java @@ -20,7 +20,9 @@ import static org.mockito.Mockito.*; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; +import android.os.IBinder; import android.os.Looper; +import android.os.ServiceManager; import android.telephony.AvailableNetworkInfo; import android.telephony.CellIdentityLte; import android.telephony.CellInfo; @@ -30,6 +32,7 @@ import android.telephony.SubscriptionManager; import android.telephony.TelephonyManager; import android.util.Log; +import com.android.internal.telephony.ISub; import com.android.internal.telephony.IUpdateAvailableNetworksCallback; import org.junit.After; @@ -38,8 +41,10 @@ import org.junit.Test; import org.mockito.Mock; import org.mockito.MockitoAnnotations; +import java.lang.reflect.Field; import java.util.ArrayList; import java.util.List; +import java.util.Map; public class ONSProfileSelectorTest extends ONSBaseTest { @@ -52,6 +57,12 @@ public class ONSProfileSelectorTest extends ONSBaseTest { ONSNetworkScanCtlr mONSNetworkScanCtlr; @Mock TelephonyManager mSubscriptionBoundTelephonyManager; + @Mock + ISub mISubMock; + @Mock + IBinder mISubBinderMock; + @Mock + SubscriptionInfo mSubInfo; private Looper mLooper; private static final String TAG = "ONSProfileSelectorTest"; @@ -103,15 +114,30 @@ public class ONSProfileSelectorTest extends ONSBaseTest { } } + private void addISubService() throws Exception { + Field field = ServiceManager.class.getDeclaredField("sCache"); + field.setAccessible(true); + ((Map<String, IBinder>)field.get(null)).put("isub", mISubBinderMock); + doReturn(mISubMock).when(mISubBinderMock).queryLocalInterface(any()); + } + + private void removeISubService() throws Exception { + Field field = ServiceManager.class.getDeclaredField("sCache"); + field.setAccessible(true); + ((Map<String, IBinder>)field.get(null)).remove("isub"); + } + @Before public void setUp() throws Exception { super.setUp("ONSTest"); mLooper = null; MockitoAnnotations.initMocks(this); + addISubService(); } @After public void tearDown() throws Exception { + removeISubService(); super.tearDown(); if (mLooper != null) { mLooper.quit(); @@ -174,15 +200,16 @@ public class ONSProfileSelectorTest extends ONSBaseTest { assertFalse(mCallbackInvoked); } - @Test public void testStartProfileSelectionSuccess() { + int subId = 5; List<SubscriptionInfo> subscriptionInfoList = new ArrayList<SubscriptionInfo>(); - SubscriptionInfo subscriptionInfo = new SubscriptionInfo(5, "", 1, "TMO", "TMO", 1, 1, + SubscriptionInfo subscriptionInfo = new SubscriptionInfo(subId, "", 1, "TMO", "TMO", 1, 1, "123", 1, null, "310", "210", "", false, null, "1"); SubscriptionInfo subscriptionInfo2 = new SubscriptionInfo(5, "", 1, "TMO", "TMO", 1, 1, "123", 1, null, "310", "211", "", false, null, "1"); subscriptionInfoList.add(subscriptionInfo); + doReturn(subscriptionInfo).when(mSubscriptionManager).getActiveSubscriptionInfo(subId); List<CellInfo> results2 = new ArrayList<CellInfo>(); CellIdentityLte cellIdentityLte = new CellIdentityLte(310, 210, 1, 1, 1); @@ -191,7 +218,7 @@ public class ONSProfileSelectorTest extends ONSBaseTest { results2.add((CellInfo) cellInfoLte); ArrayList<String> mccMncs = new ArrayList<>(); mccMncs.add("310210"); - AvailableNetworkInfo availableNetworkInfo = new AvailableNetworkInfo(1, 1, mccMncs, + AvailableNetworkInfo availableNetworkInfo = new AvailableNetworkInfo(subId, 1, mccMncs, new ArrayList<Integer>()); ArrayList<AvailableNetworkInfo> availableNetworkInfos = new ArrayList<AvailableNetworkInfo>(); availableNetworkInfos.add(availableNetworkInfo); @@ -211,7 +238,7 @@ public class ONSProfileSelectorTest extends ONSBaseTest { Looper.prepare(); doReturn(subscriptionInfoList).when(mSubscriptionManager) .getOpportunisticSubscriptions(); - doReturn(true).when(mSubscriptionManager).isActiveSubId(anyInt()); + doReturn(true).when(mSubscriptionManager).isActiveSubId(subId); doReturn(true).when(mSubscriptionBoundTelephonyManager).enableModemForSlot( anyInt(), anyBoolean()); mONSProfileSelector = new MyONSProfileSelector(mContext, @@ -240,7 +267,7 @@ public class ONSProfileSelectorTest extends ONSBaseTest { mONSProfileSelector.mNetworkAvailableCallBackCpy.onNetworkAvailability(results2); Intent callbackIntent = new Intent(MyONSProfileSelector.ACTION_SUB_SWITCH); callbackIntent.putExtra("sequenceId", 1); - callbackIntent.putExtra("subId", 5); + callbackIntent.putExtra("subId", subId); waitUntilReady(); assertEquals(TelephonyManager.UPDATE_AVAILABLE_NETWORKS_SUCCESS, mResult); assertTrue(mReady); @@ -258,6 +285,8 @@ public class ONSProfileSelectorTest extends ONSBaseTest { SubscriptionInfo subscriptionInfo_2 = new SubscriptionInfo(8, "", 1, "Vzw", "Vzw", 1, 1, "123", 1, null, "311", "480", "", false, null, "1"); subscriptionInfoList.add(subscriptionInfo_2); + doReturn(subscriptionInfo).when(mSubscriptionManager).getActiveSubscriptionInfo(5); + doReturn(subscriptionInfo_2).when(mSubscriptionManager).getActiveSubscriptionInfo(8); List<CellInfo> results2 = new ArrayList<CellInfo>(); CellIdentityLte cellIdentityLte = new CellIdentityLte(310, 210, 1, 1, 1); @@ -331,6 +360,8 @@ public class ONSProfileSelectorTest extends ONSBaseTest { "123", 1, null, "310", "211", "", true, null, "1", false, null, 1839, 1); opportunisticSubscriptionInfoList.add(subscriptionInfo); activeSubscriptionInfoList.add(subscriptionInfo2); + doReturn(subscriptionInfo).when(mSubscriptionManager).getActiveSubscriptionInfo(5); + doReturn(subscriptionInfo2).when(mSubscriptionManager).getActiveSubscriptionInfo(6); ArrayList<String> mccMncs = new ArrayList<>(); mccMncs.add("310210"); @@ -428,6 +459,7 @@ public class ONSProfileSelectorTest extends ONSBaseTest { SubscriptionInfo subscriptionInfo = new SubscriptionInfo(5, "", 1, "TMO", "TMO", 1, 1, "123", 1, null, "310", "210", "", false, null, "1"); subscriptionInfoList.add(subscriptionInfo); + doReturn(subscriptionInfo).when(mSubscriptionManager).getActiveSubscriptionInfo(5); mReady = false; doReturn(new ArrayList<>()).when(mSubscriptionManager).getOpportunisticSubscriptions(); new Thread(new Runnable() { @@ -458,6 +490,7 @@ public class ONSProfileSelectorTest extends ONSBaseTest { SubscriptionInfo subscriptionInfo = new SubscriptionInfo(5, "", 1, "TMO", "TMO", 1, 1, "123", 1, null, "310", "210", "", false, null, "1"); subscriptionInfoList.add(subscriptionInfo); + doReturn(subscriptionInfo).when(mSubscriptionManager).getActiveSubscriptionInfo(5); mReady = false; doReturn(subscriptionInfoList).when(mSubscriptionManager).getOpportunisticSubscriptions(); doNothing().when(mSubscriptionManager).setPreferredDataSubscriptionId( @@ -492,6 +525,7 @@ public class ONSProfileSelectorTest extends ONSBaseTest { SubscriptionInfo subscriptionInfo = new SubscriptionInfo(5, "", 1, "TMO", "TMO", 1, 1, "123", 1, null, "310", "210", "", false, null, "1"); subscriptionInfoList.add(subscriptionInfo); + doReturn(subscriptionInfo).when(mSubscriptionManager).getActiveSubscriptionInfo(5); mReady = false; doReturn(subscriptionInfoList).when(mSubscriptionManager) .getActiveSubscriptionInfoList(); @@ -528,9 +562,11 @@ public class ONSProfileSelectorTest extends ONSBaseTest { List<SubscriptionInfo> subscriptionInfoList = new ArrayList<SubscriptionInfo>(); SubscriptionInfo subscriptionInfo = new SubscriptionInfo(5, "", 1, "TMO", "TMO", 1, 1, "123", 1, null, "310", "210", "", false, null, "1"); - SubscriptionInfo subscriptionInfo2 = new SubscriptionInfo(5, "", 1, "TMO", "TMO", 1, 1, + SubscriptionInfo subscriptionInfo2 = new SubscriptionInfo(6, "", 1, "TMO", "TMO", 1, 1, "123", 1, null, "310", "211", "", false, null, "1"); subscriptionInfoList.add(subscriptionInfo); + doReturn(subscriptionInfo).when(mSubscriptionManager).getActiveSubscriptionInfo(5); + doReturn(subscriptionInfo2).when(mSubscriptionManager).getActiveSubscriptionInfo(6); List<CellInfo> results2 = new ArrayList<CellInfo>(); CellIdentityLte cellIdentityLte = new CellIdentityLte(310, 210, 1, 1, 1); @@ -539,7 +575,7 @@ public class ONSProfileSelectorTest extends ONSBaseTest { results2.add((CellInfo) cellInfoLte); ArrayList<String> mccMncs = new ArrayList<>(); mccMncs.add("310210"); - AvailableNetworkInfo availableNetworkInfo = new AvailableNetworkInfo(1, 1, mccMncs, + AvailableNetworkInfo availableNetworkInfo = new AvailableNetworkInfo(5, 1, mccMncs, new ArrayList<Integer>()); ArrayList<AvailableNetworkInfo> availableNetworkInfos = new ArrayList<AvailableNetworkInfo>(); availableNetworkInfos.add(availableNetworkInfo); @@ -634,6 +670,7 @@ public class ONSProfileSelectorTest extends ONSBaseTest { SubscriptionInfo subscriptionInfo = new SubscriptionInfo(5, "", 1, "TMO", "TMO", 1, 1, "123", 1, null, "310", "210", "", true, null, "1", true, null, 0, 0); subscriptionInfoList.add(subscriptionInfo); + doReturn(subscriptionInfo).when(mSubscriptionManager).getActiveSubscriptionInfo(5); IUpdateAvailableNetworksCallback mCallback = new IUpdateAvailableNetworksCallback.Stub() { @Override @@ -673,7 +710,7 @@ public class ONSProfileSelectorTest extends ONSBaseTest { }).start(); waitUntilReady(); waitForMs(500); - assertEquals(mONSProfileSelector.getCurrentPreferredData(), SubscriptionManager.DEFAULT_SUBSCRIPTION_ID); + assertEquals(SubscriptionManager.DEFAULT_SUBSCRIPTION_ID, mONSProfileSelector.getCurrentPreferredData()); } @Test @@ -682,6 +719,7 @@ public class ONSProfileSelectorTest extends ONSBaseTest { SubscriptionInfo subscriptionInfo = new SubscriptionInfo(5, "", 1, "TMO", "TMO", 1, 1, "123", 1, null, "310", "210", "", true, null, "1", true, null, 0, 0); subscriptionInfoList.add(subscriptionInfo); + doReturn(subscriptionInfo).when(mSubscriptionManager).getActiveSubscriptionInfo(5); IUpdateAvailableNetworksCallback mCallback = new IUpdateAvailableNetworksCallback.Stub() { @Override @@ -723,5 +761,4 @@ public class ONSProfileSelectorTest extends ONSBaseTest { waitForMs(500); assertEquals(mONSProfileSelector.getCurrentPreferredData(), 5); } - } diff --git a/tests/src/com/android/ons/OpportunisticNetworkServiceTest.java b/tests/src/com/android/ons/OpportunisticNetworkServiceTest.java index 05a7f17..0a75371 100644 --- a/tests/src/com/android/ons/OpportunisticNetworkServiceTest.java +++ b/tests/src/com/android/ons/OpportunisticNetworkServiceTest.java @@ -15,6 +15,7 @@ */ package com.android.ons; +import static org.mockito.Mockito.any; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.never; import static org.mockito.Mockito.times; @@ -23,13 +24,15 @@ import static org.mockito.Mockito.verify; import android.content.Intent; import android.os.Looper; import android.os.RemoteException; -import android.os.ServiceManager; import android.telephony.AvailableNetworkInfo; import android.telephony.SubscriptionInfo; import android.telephony.SubscriptionManager; +import android.telephony.TelephonyFrameworkInitializer; import android.telephony.TelephonyManager; import android.util.Log; +import androidx.test.runner.AndroidJUnit4; + import com.android.internal.telephony.IOns; import com.android.internal.telephony.ISetOpportunisticDataCallback; import com.android.internal.telephony.IUpdateAvailableNetworksCallback; @@ -39,13 +42,10 @@ import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; -import static org.mockito.Mockito.any; import java.util.ArrayList; import java.util.HashMap; -import androidx.test.runner.AndroidJUnit4; - @RunWith(AndroidJUnit4.class) public class OpportunisticNetworkServiceTest extends ONSBaseTest { private static final String TAG = "ONSTest"; @@ -67,30 +67,22 @@ public class OpportunisticNetworkServiceTest extends ONSBaseTest { public void setUp() throws Exception { super.setUp("ONSTest"); pkgForDebug = mContext != null ? mContext.getOpPackageName() : "<unknown>"; - pkgForFeature = null; + pkgForFeature = mContext != null ? mContext.getAttributionTag() : null; Intent intent = new Intent(mContext, OpportunisticNetworkService.class); new Thread(new Runnable() { @Override public void run() { Looper.prepare(); mOpportunisticNetworkService = new OpportunisticNetworkService(); - mContext.startService(intent); mOpportunisticNetworkService.initialize(mContext); - mOpportunisticNetworkService.mContext = mContext; mOpportunisticNetworkService.mSubscriptionManager = mSubscriptionManager; + iOpportunisticNetworkService = (IOns) mOpportunisticNetworkService.onBind(null); mLooper = Looper.myLooper(); + setReady(true); Looper.loop(); } }).start(); - iOpportunisticNetworkService = getIOns(); - for (int i = 0; i < 5; i++) { - if (iOpportunisticNetworkService == null) { - waitForMs(500); - iOpportunisticNetworkService = getIOns(); - } else { - break; - } - } + waitUntilReady(200); } @After @@ -359,7 +351,11 @@ public class OpportunisticNetworkServiceTest extends ONSBaseTest { } private IOns getIOns() { - return IOns.Stub.asInterface(ServiceManager.getService("ions")); + return IOns.Stub.asInterface( + TelephonyFrameworkInitializer + .getTelephonyServiceManager() + .getOpportunisticNetworkServiceRegisterer() + .get()); } public static void waitForMs(long ms) { |
