Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 18ad8bf0 authored by fionaxu's avatar fionaxu
Browse files

PhoneSubInfoControllerTest Unit Test

bug: 2569137
Change-Id: I39f8d3ddf16e5b3dcb61a11fc22003a41c81fe2c
parent 9a2d68f1
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -53,7 +53,7 @@ public class PhoneSubInfoController extends IPhoneSubInfo.Stub {
            ServiceManager.addService("iphonesubinfo", this);
        }
        mContext = context;
        mAppOps = mContext.getSystemService(AppOpsManager.class);
        mAppOps = (AppOpsManager) mContext.getSystemService(Context.APP_OPS_SERVICE);
    }

    public String getDeviceId(String callingPackage) {
+33 −8
Original line number Diff line number Diff line
@@ -54,7 +54,6 @@ import android.os.UserHandle;
import android.os.UserManager;
import android.preference.PreferenceManager;
import android.provider.Settings;
import android.provider.Telephony;
import android.telephony.CarrierConfigManager;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
@@ -67,12 +66,11 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Locale;
import java.util.Map;

import static org.mockito.Matchers.anyBoolean;
import static org.mockito.Matchers.anyString;
import static org.mockito.Mockito.any;
import static org.mockito.Mockito.anyInt;
import static org.mockito.Mockito.doAnswer;
@@ -92,6 +90,7 @@ import static org.mockito.Mockito.when;
 */
public class ContextFixture implements TestFixture<Context> {
    private static final String TAG = "ContextFixture";
    public static final String PERMISSION_ENABLE_ALL = "android.permission.STUB_PERMISSION";

    public class FakeContentProvider extends MockContentProvider {
        @Override
@@ -324,7 +323,12 @@ public class ContextFixture implements TestFixture<Context> {

        @Override
        public void enforceCallingOrSelfPermission(String permission, String message) {
            // Don't bother enforcing anything in mock.
            if (mPermissionTable.contains(permission)
                    || mPermissionTable.contains(PERMISSION_ENABLE_ALL)) {
                return;
            }
            logd("requested permission: " + permission + " got denied");
            throw new SecurityException(permission + " denied: " + message);
        }

        @Override
@@ -367,6 +371,9 @@ public class ContextFixture implements TestFixture<Context> {
            new HashMap<String, Intent>();
    private final Multimap<Intent, BroadcastReceiver> mOrderedBroadcastReceivers =
            ArrayListMultimap.create();
    private final HashSet<String> mPermissionTable = new HashSet<>();



    // The application context is the most important object this class provides to the system
    // under test.
@@ -391,8 +398,8 @@ public class ContextFixture implements TestFixture<Context> {
    private final ContentProvider mContentProvider = spy(new FakeContentProvider());

    private final Configuration mConfiguration = new Configuration();
    private final SharedPreferences mSharedPreferences = PreferenceManager.
            getDefaultSharedPreferences(TestApplication.getAppContext());
    private final SharedPreferences mSharedPreferences = PreferenceManager
            .getDefaultSharedPreferences(TestApplication.getAppContext());
    private final MockContentResolver mContentResolver = new MockContentResolver();
    private final PersistableBundle mBundle = new PersistableBundle();

@@ -423,6 +430,7 @@ public class ContextFixture implements TestFixture<Context> {
        doReturn(mConfiguration).when(mResources).getConfiguration();

        mContentResolver.addProvider(Settings.System.CONTENT_URI.getAuthority(), mContentProvider);
        mPermissionTable.add(PERMISSION_ENABLE_ALL);
    }

    @Override
@@ -488,6 +496,23 @@ public class ContextFixture implements TestFixture<Context> {
        }
    }

    public void addCallingOrSelfPermission(String permission) {
        synchronized (mPermissionTable) {
            if (mPermissionTable != null && permission != null) {
                mPermissionTable.remove(PERMISSION_ENABLE_ALL);
                mPermissionTable.add(permission);
            }
        }
    }

    public void removeCallingOrSelfPermission(String permission) {
        synchronized (mPermissionTable) {
            if (mPermissionTable != null && permission != null) {
                mPermissionTable.remove(permission);
            }
        }
    }

    private static void logd(String s) {
        Log.d(TAG, s);
    }
+681 −0

File added.

Preview size limit exceeded, changes collapsed.

+1 −10
Original line number Diff line number Diff line
@@ -76,15 +76,6 @@ import java.util.Iterator;
import java.util.LinkedList;
import java.util.Set;

import static org.mockito.Matchers.anyString;
import static org.mockito.Mockito.any;
import static org.mockito.Mockito.anyInt;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.doAnswer;
import static org.mockito.Mockito.eq;
import org.mockito.invocation.InvocationOnMock;
import org.mockito.stubbing.Answer;

public abstract class TelephonyTest {
    protected static String TAG;