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

Commit 5ee782b1 authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Fixed the unit tests" into main

parents 49cef7dc 51a5fc02
Loading
Loading
Loading
Loading
+27 −53
Original line number Diff line number Diff line
@@ -25,10 +25,10 @@ import static org.mockito.Mockito.eq;
import static org.mockito.Mockito.verify;

import android.os.AsyncResult;
import android.os.HandlerThread;
import android.os.PersistableBundle;
import android.telephony.AccessNetworkConstants;
import android.telephony.CarrierConfigManager;
import android.telephony.CarrierConfigManager.CarrierConfigChangeListener;
import android.telephony.CellIdentity;
import android.telephony.CellIdentityCdma;
import android.telephony.CellIdentityLte;
@@ -42,14 +42,11 @@ import android.testing.AndroidTestingRunner;
import android.testing.TestableLooper;
import android.text.TextUtils;

import com.android.internal.telephony.flags.FeatureFlags;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.ArgumentCaptor;
import org.mockito.Mockito;

import java.util.Collections;
import java.util.concurrent.Executor;
@@ -64,21 +61,20 @@ public class DisplayInfoControllerTest extends TelephonyTest {
    private static final String NETWORK = "TestNet";

    // Mocked classes
    private FeatureFlags mFeatureFlags;

    private DisplayInfoController mDic;
    private ServiceStateTracker mSst;
    private ServiceStateTrackerTestHandler mSstHandler;
    private PersistableBundle mBundle;
    private CarrierConfigManager.CarrierConfigChangeListener mCarrierConfigChangeListener;
    private CarrierConfigChangeListener mCarrierConfigChangeListener;

    private class ServiceStateTrackerTestHandler extends HandlerThread {
        private ServiceStateTrackerTestHandler(String name) {
            super(name);
        }
    @Before
    public void setUp() throws Exception {
        logd("DisplayInfoControllerTest setup!");
        super.setUp(getClass().getSimpleName());

        doReturn((Executor) Runnable::run).when(mContext).getMainExecutor();
        mBundle = mContextFixture.getCarrierConfigBundle();
        mBundle.putBoolean(CarrierConfigManager.KEY_SHOW_ROAMING_INDICATOR_BOOL, true);

        @Override
        public void onLooperPrepared() {
        SignalStrengthController ssc = new SignalStrengthController(mPhone);
        doReturn(ssc).when(mPhone).getSignalStrengthController();
        doReturn(new ServiceState()).when(mPhone).getServiceState();
@@ -88,42 +84,20 @@ public class DisplayInfoControllerTest extends TelephonyTest {
        // Capture listener registered for ServiceStateTracker to emulate the carrier config
        // change notification used later. In this test, it's the second one. The first one
        // comes from RatRatcheter.
            ArgumentCaptor<CarrierConfigManager.CarrierConfigChangeListener>
        ArgumentCaptor<CarrierConfigChangeListener>
                listenerArgumentCaptor = ArgumentCaptor.forClass(
                    CarrierConfigManager.CarrierConfigChangeListener.class);
                CarrierConfigChangeListener.class);
        mSst = new ServiceStateTracker(mPhone, mSimulatedCommands, mFeatureFlags);
        verify(mCarrierConfigManager, atLeast(2)).registerCarrierConfigChangeListener(any(),
                listenerArgumentCaptor.capture());
        mCarrierConfigChangeListener = listenerArgumentCaptor.getAllValues().get(1);
        doReturn(mSst).when(mPhone).getServiceStateTracker();
            setReady(true);
        }
    }

    @Before
    public void setUp() throws Exception {
        logd("DisplayInfoControllerTest setup!");
        super.setUp(getClass().getSimpleName());

        mFeatureFlags = Mockito.mock(FeatureFlags.class);
        doReturn((Executor) Runnable::run).when(mContext).getMainExecutor();
        mBundle = mContextFixture.getCarrierConfigBundle();
        mBundle.putBoolean(CarrierConfigManager.KEY_SHOW_ROAMING_INDICATOR_BOOL, true);
        mSstHandler = new ServiceStateTrackerTestHandler(getClass().getSimpleName());
        mSstHandler.start();
        waitUntilReady();
        waitForLastHandlerAction(mSstHandler.getThreadHandler());
        processAllMessages();
    }

    @After
    public void tearDown() throws Exception {
        mSst.removeCallbacksAndMessages(null);
        mSst = null;
        mSstHandler.quit();
        mSstHandler.join();
        mSstHandler = null;
        mBundle = null;
        mCarrierConfigChangeListener = null;
        super.tearDown();
    }

@@ -131,7 +105,7 @@ public class DisplayInfoControllerTest extends TelephonyTest {
        mCarrierConfigChangeListener.onCarrierConfigChanged(PHONE_ID,
                SubscriptionManager.INVALID_SUBSCRIPTION_ID, TelephonyManager.UNKNOWN_CARRIER_ID,
                TelephonyManager.UNKNOWN_CARRIER_ID);
        waitForLastHandlerAction(mSstHandler.getThreadHandler());
        processAllMessages();
    }

    private static String getPlmnFromCellIdentity(final CellIdentity ci) {
@@ -155,7 +129,7 @@ public class DisplayInfoControllerTest extends TelephonyTest {
                new LteVopsSupportInfo(
                        LteVopsSupportInfo.LTE_STATUS_SUPPORTED,
                        LteVopsSupportInfo.LTE_STATUS_SUPPORTED);
        waitForLastHandlerAction(mSstHandler.getThreadHandler());
        processAllMessages();
        NetworkRegistrationInfo dataResult = new NetworkRegistrationInfo(
                NetworkRegistrationInfo.DOMAIN_PS, AccessNetworkConstants.TRANSPORT_TYPE_WWAN,
                state, dataRat, 0, false, null, cid, getPlmnFromCellIdentity(cid), 1, false, false,
@@ -166,13 +140,13 @@ public class DisplayInfoControllerTest extends TelephonyTest {
                mSst.obtainMessage(
                        ServiceStateTracker.EVENT_POLL_STATE_OPERATOR,
                        new AsyncResult(mSst.mPollingContext, oldOpNamesResult, null)));
        waitForLastHandlerAction(mSstHandler.getThreadHandler());
        processAllMessages();
        // update data reg state to be in service
        mSst.sendMessage(
                mSst.obtainMessage(
                        ServiceStateTracker.EVENT_POLL_STATE_PS_CELLULAR_REGISTRATION,
                        new AsyncResult(mSst.mPollingContext, dataResult, null)));
        waitForLastHandlerAction(mSstHandler.getThreadHandler());
        processAllMessages();
        NetworkRegistrationInfo voiceResult = new NetworkRegistrationInfo(
                NetworkRegistrationInfo.DOMAIN_CS, AccessNetworkConstants.TRANSPORT_TYPE_WWAN,
                state, voiceRat, 0, false, null, cid, getPlmnFromCellIdentity(cid), false, 0, 0, 0);
@@ -180,7 +154,7 @@ public class DisplayInfoControllerTest extends TelephonyTest {
                mSst.obtainMessage(
                        ServiceStateTracker.EVENT_POLL_STATE_CS_CELLULAR_REGISTRATION,
                        new AsyncResult(mSst.mPollingContext, voiceResult, null)));
        waitForLastHandlerAction(mSstHandler.getThreadHandler());
        processAllMessages();
    }

    @Test
+161 −252

File changed.

Preview size limit exceeded, changes collapsed.

+1 −1
Original line number Diff line number Diff line
@@ -120,6 +120,7 @@ public class DataServiceManagerTest extends TelephonyTest {
        Field field = DataService.class.getDeclaredField("mHandler");
        field.setAccessible(true);
        mDataServiceHandler = (Handler) field.get(mCellularDataService);
        monitorTestableLooper(new TestableLooper(mDataServiceHandler.getLooper()));

        ServiceInfo serviceInfo = new ServiceInfo();
        serviceInfo.packageName = "com.android.phone";
@@ -138,7 +139,6 @@ public class DataServiceManagerTest extends TelephonyTest {
    }

    private void waitAndVerifyResult(Message message, int resultCode) {
        waitForLastHandlerAction(mDataServiceHandler);
        processAllMessages();

        ArgumentCaptor<Message> messageCaptor = ArgumentCaptor.forClass(Message.class);
+16 −32
Original line number Diff line number Diff line
@@ -22,65 +22,49 @@ import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;

import android.os.AsyncResult;
import android.os.HandlerThread;
import android.os.Message;
import android.testing.AndroidTestingRunner;
import android.testing.TestableLooper;

import com.android.internal.telephony.TelephonyTest;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;

import java.util.ArrayList;
import java.util.List;

@RunWith(AndroidTestingRunner.class)
@TestableLooper.RunWithLooper
public class SimPhonebookRecordCacheTest extends TelephonyTest {
    private static final int EVENT_PHONEBOOK_RECORDS_RECEIVED = 2;

    private SimPhonebookRecordCache mSimPhonebookRecordCacheUt;
    private SimPhonebookRecordHandler mSimPhonebookRecordHandler;

    private class SimPhonebookRecordHandler extends HandlerThread {
        SimPhonebookRecordHandler(String name) {
            super(name);
        }

        @Override
        public void onLooperPrepared() {
            mSimPhonebookRecordCacheUt =
                    new SimPhonebookRecordCache(mContext, 0, mSimulatedCommands);
            setReady(true);
        }

    };

    @Before
    public void setUp() throws Exception {
        super.setUp(getClass().getSimpleName());
        mSimPhonebookRecordHandler = new SimPhonebookRecordHandler(getClass().getSimpleName());
        mSimPhonebookRecordHandler.start();
        waitUntilReady();
        mSimPhonebookRecordCacheUt =
                new SimPhonebookRecordCache(mContext, 0, mSimulatedCommands);
    }

    @After
    public void tearDown() throws Exception {
        mSimPhonebookRecordHandler.quit();
        mSimPhonebookRecordHandler.join();
        mSimPhonebookRecordHandler = null;
        mSimPhonebookRecordCacheUt = null;
        super.tearDown();
    }

    @Test
    public void testSimPhonebookChangedOnBootup() {
        mSimulatedCommands.notifySimPhonebookChanged();
        waitForLastHandlerAction(mSimPhonebookRecordCacheUt);
        processAllMessages();
        AdnCapacity capacity = mSimPhonebookRecordCacheUt.getAdnCapacity();
        AdnCapacity capVerifer = new AdnCapacity(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
        assertNotNull(capacity);
        assertTrue(capVerifer.equals(capacity));
        mSimulatedCommands.notifySimPhonebookChanged();
        waitForLastHandlerAction(mSimPhonebookRecordCacheUt);
        processAllMessages();
        assertTrue(capacity != mSimPhonebookRecordCacheUt.getAdnCapacity());
        assertTrue(capVerifer.equals(capacity));
    }
@@ -89,10 +73,10 @@ public class SimPhonebookRecordCacheTest extends TelephonyTest {
    public void testGetPhonebookRecords() {
        assertFalse(mSimPhonebookRecordCacheUt.isLoading());
        mSimulatedCommands.notifySimPhonebookChanged();
        waitForLastHandlerAction(mSimPhonebookRecordCacheUt);
        processAllMessages();
        assertFalse(mSimPhonebookRecordCacheUt.isLoading());
        mSimPhonebookRecordCacheUt.requestLoadAllPbRecords(null);
        waitForLastHandlerAction(mSimPhonebookRecordCacheUt);
        processAllMessages();

        mSimPhonebookRecordCacheUt.clear();

@@ -114,14 +98,14 @@ public class SimPhonebookRecordCacheTest extends TelephonyTest {
        assertFalse(mSimPhonebookRecordCacheUt.isLoading());
        mSimPhonebookRecordCacheUt.requestLoadAllPbRecords(null);
        assertTrue(mSimPhonebookRecordCacheUt.isLoading());
        waitForLastHandlerAction(mSimPhonebookRecordCacheUt);
        processAllMessages();
        assertFalse(mSimPhonebookRecordCacheUt.isLoading());
    }

    @Test
    public void testUpdatePhonebookRecord() {
        mSimulatedCommands.notifySimPhonebookChanged();
        waitForLastHandlerAction(mSimPhonebookRecordCacheUt);
        processAllMessages();
        List<AdnRecord> adnRecords = mSimPhonebookRecordCacheUt.getAdnRecords();
        if (mSimPhonebookRecordCacheUt.ENABLE_INFLATE_WITH_EMPTY_RECORDS) {
            assertEquals(adnRecords.size(), 1); // Max ADN from capacity
@@ -133,7 +117,7 @@ public class SimPhonebookRecordCacheTest extends TelephonyTest {
        AdnRecord newAdn = new AdnRecord(IccConstants.EF_ADN, 1, "AB", "123", null, null);
        // add
        mSimPhonebookRecordCacheUt.updateSimPbAdnBySearch(null, newAdn, null);
        waitForLastHandlerAction(mSimPhonebookRecordCacheUt);
        processAllMessages();
        adnRecords = mSimPhonebookRecordCacheUt.getAdnRecords();
        assertEquals(adnRecords.size(), 1);
        AdnRecord oldAdn = adnRecords.get(0);
@@ -143,7 +127,7 @@ public class SimPhonebookRecordCacheTest extends TelephonyTest {
        // update
        newAdn = new AdnRecord(IccConstants.EF_ADN, 1, "ABCD", "123456789", null, null);
        mSimPhonebookRecordCacheUt.updateSimPbAdnBySearch(oldAdn, newAdn, null);
        waitForLastHandlerAction(mSimPhonebookRecordCacheUt);
        processAllMessages();
        adnRecords = mSimPhonebookRecordCacheUt.getAdnRecords();
        assertEquals(adnRecords.size(), 1);
        oldAdn = adnRecords.get(0);
@@ -153,7 +137,7 @@ public class SimPhonebookRecordCacheTest extends TelephonyTest {
        // Delete
        newAdn = new AdnRecord(IccConstants.EF_ADN, 1, null, null, null, null);
        mSimPhonebookRecordCacheUt.updateSimPbAdnBySearch(oldAdn, newAdn, null);
        waitForLastHandlerAction(mSimPhonebookRecordCacheUt);
        processAllMessages();
        adnRecords = mSimPhonebookRecordCacheUt.getAdnRecords();
        if (mSimPhonebookRecordCacheUt.ENABLE_INFLATE_WITH_EMPTY_RECORDS) {
            assertEquals(adnRecords.size(), 1);