summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorXin Li <delphij@google.com>2020-09-08 16:56:21 -0700
committerXin Li <delphij@google.com>2020-09-08 16:56:21 -0700
commitcbbd712e067b94d7f916159e3cd73136dd160467 (patch)
treee041eef0fff3530b2a2f426a3836119f3a279472 /tests
parent4c4eea7c1c2038f1e917f420d03c8c941f2d733d (diff)
parent316e24b8936e7c4a672c7bac3efa237bcd5a301b (diff)
downloadplatform_packages_services_AlternativeNetworkAccess-master.tar.gz
platform_packages_services_AlternativeNetworkAccess-master.tar.bz2
platform_packages_services_AlternativeNetworkAccess-master.zip
Merge Android RHEADmaster
Bug: 168057903 Merged-In: I76a40f211cb9022b7ee1c372266c8cc1e2537e57 Change-Id: I0e116f3777af27d0e768ac234e4cc97b23fe23f8
Diffstat (limited to 'tests')
-rw-r--r--tests/src/com/android/ons/ONSProfileSelectorTest.java55
-rw-r--r--tests/src/com/android/ons/OpportunisticNetworkServiceTest.java30
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) {