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

Commit 651b165f authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Added unit test for data retry request removed case" into tm-dev am:...

Merge "Added unit test for data retry request removed case" into tm-dev am: f08feeac am: 40fb0718

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/opt/telephony/+/17779646



Change-Id: I1e6f313e6cd8c703aa20cf13a239f2929b4b7f27
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 31ea5469 40fb0718
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -729,6 +729,8 @@ public class ContextFixture implements TestFixture<Context> {
            .getDefaultSharedPreferences(TestApplication.getAppContext());
    private final MockContentResolver mContentResolver = new MockContentResolver();
    private final PersistableBundle mBundle = new PersistableBundle();
    private final Network mNetwork = mock(Network.class);
    private int mNetworkId = 200;

    public ContextFixture() {
        MockitoAnnotations.initMocks(this);
@@ -768,10 +770,9 @@ public class ContextFixture implements TestFixture<Context> {
        }

        doReturn(mBundle).when(mCarrierConfigManager).getConfigForSubId(anyInt());
        //doReturn(mBundle).when(mCarrierConfigManager).getConfig(anyInt());
        doReturn(mBundle).when(mCarrierConfigManager).getConfig();

        doReturn(mock(Network.class)).when(mConnectivityManager).registerNetworkAgent(
        doAnswer(invocation -> mNetworkId++).when(mNetwork).getNetId();
        doReturn(mNetwork).when(mConnectivityManager).registerNetworkAgent(
                any(), any(), any(), any(), any(), any(), anyInt());

        doReturn(true).when(mEuiccManager).isEnabled();
+48 −0
Original line number Diff line number Diff line
@@ -1848,6 +1848,54 @@ public class DataNetworkControllerTest extends TelephonyTest {
                any(), any(), anyBoolean(), any(Message.class));
    }

    @Test
    public void testSetupDataNetworkRetryFailedNetworkRequestRemoved() {
        mDataNetworkControllerUT.getDataRetryManager()
                .registerCallback(mMockedDataRetryManagerCallback);
        setFailedSetupDataResponse(mMockedWwanDataServiceManager, DataFailCause.CONGESTION,
                DataCallResponse.RETRY_DURATION_UNDEFINED, false);
        TelephonyNetworkRequest tnr = createNetworkRequest(
                NetworkCapabilities.NET_CAPABILITY_INTERNET);
        mDataNetworkControllerUT.addNetworkRequest(tnr);

        processAllMessages();

        verify(mMockedWwanDataServiceManager, times(1)).setupDataCall(anyInt(),
                any(DataProfile.class), anyBoolean(), anyBoolean(), anyInt(), any(), anyInt(),
                any(), any(), anyBoolean(), any(Message.class));
        Mockito.clearInvocations(mMockedWwanDataServiceManager);

        logd("Remove internet network request");
        mDataNetworkControllerUT.removeNetworkRequest(tnr);

        moveTimeForward(2500);
        processAllMessages();

        // There should be no retry since request has been removed.
        verify(mMockedWwanDataServiceManager, never()).setupDataCall(anyInt(),
                any(DataProfile.class), anyBoolean(), anyBoolean(), anyInt(), any(), anyInt(),
                any(), any(), anyBoolean(), any(Message.class));
        Mockito.clearInvocations(mMockedWwanDataServiceManager);

        // Now send another IMS request
        tnr = createNetworkRequest(NetworkCapabilities.NET_CAPABILITY_IMS);
        mDataNetworkControllerUT.addNetworkRequest(tnr);
        processAllMessages();

        verify(mMockedWwanDataServiceManager, times(1)).setupDataCall(anyInt(),
                any(DataProfile.class), anyBoolean(), anyBoolean(), anyInt(), any(), anyInt(),
                any(), any(), anyBoolean(), any(Message.class));
        Mockito.clearInvocations(mMockedWwanDataServiceManager);

        logd("Remove IMS network request");
        mDataNetworkControllerUT.removeNetworkRequest(tnr);

        // There should be no retry since request has been removed.
        verify(mMockedWwanDataServiceManager, never()).setupDataCall(anyInt(),
                any(DataProfile.class), anyBoolean(), anyBoolean(), anyInt(), any(), anyInt(),
                any(), any(), anyBoolean(), any(Message.class));
    }

    @Test
    public void testSetupDataNetworkPermanentFailure() {
        setFailedSetupDataResponse(mMockedWwanDataServiceManager, DataFailCause.PROTOCOL_ERRORS,