aboutsummaryrefslogtreecommitdiff
path: root/tests/src/com
diff options
context:
space:
mode:
Diffstat (limited to 'tests/src/com')
-rw-r--r--tests/src/com/android/ims/ContextFixture.java13
-rw-r--r--tests/src/com/android/ims/ImsManagerTest.java10
-rw-r--r--tests/src/com/android/ims/rcs/uce/UceControllerTest.java8
-rw-r--r--tests/src/com/android/ims/rcs/uce/presence/publish/DeviceCapabilityInfoTest.java128
-rw-r--r--tests/src/com/android/ims/rcs/uce/presence/publish/DeviceCapabilityListenerTest.java83
-rw-r--r--tests/src/com/android/ims/rcs/uce/presence/publish/PublishControllerImplTest.java65
-rw-r--r--tests/src/com/android/ims/rcs/uce/presence/publish/PublishProcessorTest.java33
-rw-r--r--tests/src/com/android/ims/rcs/uce/presence/publish/PublishServiceDescTrackerTest.java25
-rw-r--r--tests/src/com/android/ims/rcs/uce/request/SubscribeCoordinatorTest.java58
-rw-r--r--tests/src/com/android/ims/rcs/uce/request/SubscribeRequestTest.java27
-rw-r--r--tests/src/com/android/ims/rcs/uce/request/UceRequestManagerTest.java9
11 files changed, 398 insertions, 61 deletions
diff --git a/tests/src/com/android/ims/ContextFixture.java b/tests/src/com/android/ims/ContextFixture.java
index e987b387..21dd6348 100644
--- a/tests/src/com/android/ims/ContextFixture.java
+++ b/tests/src/com/android/ims/ContextFixture.java
@@ -33,6 +33,7 @@ import android.content.IntentFilter;
import android.content.pm.PackageManager;
import android.content.res.Resources;
import android.net.ConnectivityManager;
+import android.os.Handler;
import android.os.PersistableBundle;
import android.telecom.TelecomManager;
import android.telephony.CarrierConfigManager;
@@ -131,6 +132,18 @@ public class ContextFixture {
}
@Override
+ public Intent registerReceiver(BroadcastReceiver receiver, IntentFilter filter,
+ String broadcastPermission, Handler scheduler) {
+ return null;
+ }
+
+ @Override
+ public Intent registerReceiver(BroadcastReceiver receiver, IntentFilter filter,
+ String broadcastPermission, Handler scheduler, int flags) {
+ return null;
+ }
+
+ @Override
public void unregisterReceiver(BroadcastReceiver receiver) {
}
diff --git a/tests/src/com/android/ims/ImsManagerTest.java b/tests/src/com/android/ims/ImsManagerTest.java
index 0653908d..ad5051be 100644
--- a/tests/src/com/android/ims/ImsManagerTest.java
+++ b/tests/src/com/android/ims/ImsManagerTest.java
@@ -119,7 +119,7 @@ public class ImsManagerTest extends ImsTestBase {
doReturn(true).when(mSubscriptionManagerProxy).isValidSubscriptionId(anyInt());
doReturn(mSubId).when(mSubscriptionManagerProxy).getActiveSubscriptionIdList();
- doReturn(mSubId).when(mSubscriptionManagerProxy).getSubscriptionIds(anyInt());
+ doReturn(mSubId[0]).when(mSubscriptionManagerProxy).getSubscriptionId(anyInt());
doReturn(mPhoneId).when(mSubscriptionManagerProxy).getDefaultVoicePhoneId();
doReturn(-1).when(mSubscriptionManagerProxy).getIntegerSubscriptionProperty(anyInt(),
anyString(), anyInt());
@@ -1012,6 +1012,14 @@ public class ImsManagerTest extends ImsTestBase {
}
+ @Test @SmallTest
+ public void onMemoryAvailableTest() throws Exception{
+ ImsManager imsManager = getImsManagerAndInitProvisionedValues();
+ int token = 1;
+ imsManager.onMemoryAvailable(token);
+ verify(mMmTelFeatureConnection).onMemoryAvailable(eq(token));
+ }
+
private ImsManager getImsManagerAndInitProvisionedValues() {
when(mImsConfigImplBaseMock.getConfigInt(anyInt()))
.thenAnswer(invocation -> {
diff --git a/tests/src/com/android/ims/rcs/uce/UceControllerTest.java b/tests/src/com/android/ims/rcs/uce/UceControllerTest.java
index 021a7c10..79702ed5 100644
--- a/tests/src/com/android/ims/rcs/uce/UceControllerTest.java
+++ b/tests/src/com/android/ims/rcs/uce/UceControllerTest.java
@@ -147,7 +147,7 @@ public class UceControllerTest extends ImsTestBase {
List<Uri> uriList = new ArrayList<>();
uceController.requestCapabilities(uriList, mCapabilitiesCallback);
- verify(mCapabilitiesCallback).onError(RcsUceAdapter.ERROR_GENERIC_FAILURE, 0L);
+ verify(mCapabilitiesCallback).onError(RcsUceAdapter.ERROR_GENERIC_FAILURE, 0L, null);
verify(mTaskManager, never()).sendCapabilityRequest(any(), eq(false), any());
}
@@ -164,7 +164,7 @@ public class UceControllerTest extends ImsTestBase {
uriList.add(Uri.fromParts("sip", "test", null));
uceController.requestCapabilities(uriList, mCapabilitiesCallback);
- verify(mCapabilitiesCallback).onError(RcsUceAdapter.ERROR_FORBIDDEN, 0L);
+ verify(mCapabilitiesCallback).onError(RcsUceAdapter.ERROR_FORBIDDEN, 0L, null);
verify(mTaskManager, never()).sendCapabilityRequest(any(), eq(false), any());
}
@@ -194,7 +194,7 @@ public class UceControllerTest extends ImsTestBase {
Uri contact = Uri.fromParts("sip", "test", null);
uceController.requestAvailability(contact, mCapabilitiesCallback);
- verify(mCapabilitiesCallback).onError(RcsUceAdapter.ERROR_GENERIC_FAILURE, 0L);
+ verify(mCapabilitiesCallback).onError(RcsUceAdapter.ERROR_GENERIC_FAILURE, 0L, null);
verify(mTaskManager, never()).sendAvailabilityRequest(any(), any());
}
@@ -210,7 +210,7 @@ public class UceControllerTest extends ImsTestBase {
Uri contact = Uri.fromParts("sip", "test", null);
uceController.requestAvailability(contact, mCapabilitiesCallback);
- verify(mCapabilitiesCallback).onError(RcsUceAdapter.ERROR_FORBIDDEN, 0L);
+ verify(mCapabilitiesCallback).onError(RcsUceAdapter.ERROR_FORBIDDEN, 0L, null);
verify(mTaskManager, never()).sendCapabilityRequest(any(), eq(false), any());
}
diff --git a/tests/src/com/android/ims/rcs/uce/presence/publish/DeviceCapabilityInfoTest.java b/tests/src/com/android/ims/rcs/uce/presence/publish/DeviceCapabilityInfoTest.java
index c977a080..de045de4 100644
--- a/tests/src/com/android/ims/rcs/uce/presence/publish/DeviceCapabilityInfoTest.java
+++ b/tests/src/com/android/ims/rcs/uce/presence/publish/DeviceCapabilityInfoTest.java
@@ -16,6 +16,19 @@
package com.android.ims.rcs.uce.presence.publish;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.any;
+import static org.mockito.Mockito.anyBoolean;
+import static org.mockito.Mockito.anyInt;
+import static org.mockito.Mockito.doReturn;
+
+import android.content.Context;
+import android.telephony.CarrierConfigManager;
+import android.telephony.TelephonyManager;
+import android.telephony.ims.RcsContactPresenceTuple;
+import android.util.ArraySet;
+
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
@@ -26,6 +39,7 @@ import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.filters.SmallTest;
import com.android.ims.ImsTestBase;
+import com.android.ims.rcs.uce.util.UceUtils;
import org.junit.After;
import org.junit.Before;
@@ -33,11 +47,18 @@ import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.Set;
+
@RunWith(AndroidJUnit4.class)
public class DeviceCapabilityInfoTest extends ImsTestBase {
-
int mSubId = 1;
+ @Mock PublishServiceDescTracker mPublishServiceDescTracker;
+ @Mock Context mMockContext;
+
String sipNumber = "123456789";
String telNumber = "987654321";
@@ -53,6 +74,22 @@ public class DeviceCapabilityInfoTest extends ImsTestBase {
@Test
@SmallTest
+ public void testGetPresenceCapabilityForSameDescription() throws Exception {
+ DeviceCapabilityInfo deviceCapInfo = createDeviceCapabilityInfo();
+
+ Set<ServiceDescription> mTestCapability = new ArraySet<>();
+ mTestCapability.add(getChatDescription());
+ mTestCapability.add(getMmtelDescription());
+ mTestCapability.add(getUndefinedDescription());
+
+ deviceCapInfo.addLastSuccessfulServiceDescription(getMmtelDescription());
+ deviceCapInfo.addLastSuccessfulServiceDescription(getChatDescription());
+ deviceCapInfo.addLastSuccessfulServiceDescription(getUndefinedDescription());
+ assertFalse(deviceCapInfo.isPresenceCapabilityChanged(mTestCapability));
+ }
+
+ @Test
+ @SmallTest
public void testGetImsAssociatedUriWithoutPreferTelUri() throws Exception {
DeviceCapabilityInfo deviceCapInfo = createDeviceCapabilityInfo();
@@ -90,6 +127,23 @@ public class DeviceCapabilityInfoTest extends ImsTestBase {
@Test
@SmallTest
+ public void testGetPresenceCapabilityForSameSizeOfDescription() throws Exception {
+ DeviceCapabilityInfo deviceCapInfo = createDeviceCapabilityInfo();
+
+ Set<ServiceDescription> mTestCapability = new ArraySet<>();
+ mTestCapability.add(getChatDescription());
+ mTestCapability.add(getMmtelDescription());
+ mTestCapability.add(getUndefinedDescription());
+
+ deviceCapInfo.addLastSuccessfulServiceDescription(getMmtelDescription());
+ deviceCapInfo.addLastSuccessfulServiceDescription(getChatDescription());
+ deviceCapInfo.addLastSuccessfulServiceDescription(getUndefined2Description());
+
+ assertTrue(deviceCapInfo.isPresenceCapabilityChanged(mTestCapability));
+ }
+
+ @Test
+ @SmallTest
public void testGetImsAssociatedUriWithPreferTelUri() throws Exception {
DeviceCapabilityInfo deviceCapInfo = createDeviceCapabilityInfo();
@@ -138,7 +192,43 @@ public class DeviceCapabilityInfoTest extends ImsTestBase {
number = numberParts[0];
assertEquals(number, telNumber);
+ }
+ @Test
+ @SmallTest
+ public void testGetLastSuccessfulPresenceTuples() throws Exception {
+ DeviceCapabilityInfo deviceCapInfo = createDeviceCapabilityInfo();
+
+ List<RcsContactPresenceTuple> tuples =
+ deviceCapInfo.getLastSuccessfulPresenceTuplesWithoutContactUri();
+ // Verify that the presence tuples are empty when the last capabilities are empty.
+ assertTrue(tuples.isEmpty());
+
+ doReturn(null).when(mMockContext).getSystemService(CarrierConfigManager.class);
+ doReturn(null).when(mMockContext).getSystemService(TelephonyManager.class);
+ ServiceDescription mmtelDescription = getMmtelDescription();
+ deviceCapInfo.addLastSuccessfulServiceDescription(mmtelDescription);
+ ServiceDescription chatDescription = getChatDescription();
+ deviceCapInfo.addLastSuccessfulServiceDescription(chatDescription);
+ tuples = deviceCapInfo.getLastSuccessfulPresenceTuplesWithoutContactUri();
+ assertEquals(2, tuples.size());
+
+ Uri[] uris = new Uri[1];
+ uris[0] = Uri.fromParts(PhoneAccount.SCHEME_SIP, sipNumber, null);
+ deviceCapInfo.updateRcsAssociatedUri(uris);
+ List<RcsContactPresenceTuple> expectedTuples = new ArrayList<>();
+ expectedTuples.add(mmtelDescription.getTupleBuilder().setContactUri(uris[0]).build());
+ expectedTuples.add(chatDescription.getTupleBuilder().setContactUri(uris[0]).build());
+
+ tuples = deviceCapInfo.getLastSuccessfulPresenceTuplesWithoutContactUri();
+ assertTrue(!tuples.isEmpty());
+ assertEquals(expectedTuples.size(), tuples.size());
+ for (int i = 0; i < tuples.size(); i++) {
+ assertEquals(expectedTuples.get(i).getServiceId(), tuples.get(i).getServiceId());
+ assertEquals(expectedTuples.get(i).getServiceVersion(),
+ tuples.get(i).getServiceVersion());
+ assertNull(tuples.get(i).getContactUri());
+ }
}
private DeviceCapabilityInfo createDeviceCapabilityInfo() {
@@ -146,4 +236,40 @@ public class DeviceCapabilityInfoTest extends ImsTestBase {
return deviceCapInfo;
}
+ private ServiceDescription getChatDescription() {
+ ServiceDescription SERVICE_DESCRIPTION_CHAT_SESSION =
+ new ServiceDescription(
+ RcsContactPresenceTuple.SERVICE_ID_CHAT_V2,
+ "2.0" /*version*/,
+ null /*description*/
+ );
+ return SERVICE_DESCRIPTION_CHAT_SESSION;
+ }
+
+ private ServiceDescription getMmtelDescription() {
+ ServiceDescription SERVICE_DESCRIPTION_MMTEL_VOICE = new ServiceDescription(
+ RcsContactPresenceTuple.SERVICE_ID_MMTEL,
+ "1.0" /*version*/,
+ "Voice Service" /*description*/
+ );
+ return SERVICE_DESCRIPTION_MMTEL_VOICE;
+ }
+
+ private ServiceDescription getUndefinedDescription() {
+ ServiceDescription SERVICE_DESCRIPTION_TEST = new ServiceDescription(
+ "test",
+ "1.0" /*version*/,
+ "Test_Service" /*description*/
+ );
+ return SERVICE_DESCRIPTION_TEST;
+ }
+
+ private ServiceDescription getUndefined2Description() {
+ ServiceDescription SERVICE_DESCRIPTION_TEST2 = new ServiceDescription(
+ "test1",
+ "1.0" /*version*/,
+ "Test_Service" /*description*/
+ );
+ return SERVICE_DESCRIPTION_TEST2;
+ }
} \ No newline at end of file
diff --git a/tests/src/com/android/ims/rcs/uce/presence/publish/DeviceCapabilityListenerTest.java b/tests/src/com/android/ims/rcs/uce/presence/publish/DeviceCapabilityListenerTest.java
index 2d170ab6..11350393 100644
--- a/tests/src/com/android/ims/rcs/uce/presence/publish/DeviceCapabilityListenerTest.java
+++ b/tests/src/com/android/ims/rcs/uce/presence/publish/DeviceCapabilityListenerTest.java
@@ -84,7 +84,6 @@ public class DeviceCapabilityListenerTest extends ImsTestBase {
getProvisioningManager(anyInt());
doReturn(true).when(mDeviceCapability).updateTtyPreferredMode(anyInt());
- doReturn(true).when(mDeviceCapability).updateAirplaneMode(anyBoolean());
doReturn(true).when(mDeviceCapability).updateMobileData(anyBoolean());
doReturn(true).when(mDeviceCapability).updateVtSetting(anyBoolean());
doReturn(true).when(mDeviceCapability).updateVtSetting(anyBoolean());
@@ -107,7 +106,8 @@ public class DeviceCapabilityListenerTest extends ImsTestBase {
deviceCapListener.initialize();
- verify(mContext).registerReceiver(any(), any());
+ verify(mContext).registerReceiver(any(), any(),
+ eq(android.Manifest.permission.MODIFY_PHONE_STATE), any(), anyInt());
verify(mProvisioningManager).registerProvisioningChangedCallback(any(), any());
}
@@ -143,23 +143,6 @@ public class DeviceCapabilityListenerTest extends ImsTestBase {
@Test
@SmallTest
- public void testAirplaneModeChange() throws Exception {
- DeviceCapabilityListener deviceCapListener = createDeviceCapabilityListener();
- final BroadcastReceiver receiver = deviceCapListener.mReceiver;
-
- Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED);
- receiver.onReceive(mContext, intent);
-
- Handler handler = deviceCapListener.getHandler();
- waitForHandlerActionDelayed(handler, HANDLER_WAIT_TIMEOUT_MS, HANDLER_SENT_DELAY_MS);
-
- verify(mDeviceCapability).updateAirplaneMode(anyBoolean());
- verify(mCallback).requestPublishFromInternal(
- PublishController.PUBLISH_TRIGGER_AIRPLANE_MODE_CHANGE);
- }
-
- @Test
- @SmallTest
public void testMmtelRegistration() throws Exception {
DeviceCapabilityListener deviceCapListener = createDeviceCapabilityListener();
deviceCapListener.setImsCallbackRegistered(true);
@@ -171,7 +154,8 @@ public class DeviceCapabilityListenerTest extends ImsTestBase {
waitForHandlerActionDelayed(handler, HANDLER_WAIT_TIMEOUT_MS, HANDLER_SENT_DELAY_MS);
verify(mDeviceCapability).updateImsMmtelRegistered(1);
- verify(mCallback).requestPublishFromInternal(
+ // update capability, but not trigger PUBLISH message when MmTel registered.
+ verify(mCallback, never()).requestPublishFromInternal(
PublishController.PUBLISH_TRIGGER_MMTEL_REGISTERED);
}
@@ -266,6 +250,65 @@ public class DeviceCapabilityListenerTest extends ImsTestBase {
verify(mCallback).updateImsUnregistered();
}
+ @Test
+ @SmallTest
+ public void testRcsAndMmtelUnregistration() throws Exception {
+ DeviceCapabilityListener deviceCapListener = createDeviceCapabilityListener();
+ deviceCapListener.setImsCallbackRegistered(true);
+
+ Handler handler = deviceCapListener.getHandler();
+ ImsReasonInfo info = new ImsReasonInfo(ImsReasonInfo.CODE_LOCAL_NOT_REGISTERED, -1, "");
+ // RCS unregistered
+ RegistrationCallback rcsRegiCallback = deviceCapListener.mRcsRegistrationCallback;
+
+ doReturn(true).when(mDeviceCapability).updateImsRcsUnregistered();
+ // RCS is unregistered but MMTEL is registered.
+ doReturn(true).when(mDeviceCapability).isImsRegistered();
+ rcsRegiCallback.onUnregistered(info);
+
+ // MMTEL unregistered
+ RegistrationCallback mmtelRegiCallback = deviceCapListener.mMmtelRegistrationCallback;
+ // set the Ims is unregistered
+ doReturn(false).when(mDeviceCapability).isImsRegistered();
+ mmtelRegiCallback.onUnregistered(info);
+
+ waitForHandlerActionDelayed(handler, HANDLER_WAIT_TIMEOUT_MS, HANDLER_SENT_DELAY_MS);
+
+ // Do not send internal publish trigger
+ verify(mCallback, never()).requestPublishFromInternal(anyInt());
+ // IMS is unregistered. Verify send ImsUnregistered.
+ verify(mCallback).updateImsUnregistered();
+ }
+
+ @Test
+ @SmallTest
+ public void testUnregisterRcsOnlyFromImsRegistration() throws Exception {
+ DeviceCapabilityListener deviceCapListener = createDeviceCapabilityListener();
+ deviceCapListener.setImsCallbackRegistered(true);
+ Handler handler = deviceCapListener.getHandler();
+
+ // set the Ims is registered
+ doReturn(true).when(mDeviceCapability).isImsRegistered();
+ ImsReasonInfo info = new ImsReasonInfo(ImsReasonInfo.CODE_LOCAL_NOT_REGISTERED, -1, "");
+ // RCS unregistered
+ RegistrationCallback rcsRegiCallback = deviceCapListener.mRcsRegistrationCallback;
+
+ doReturn(true).when(mDeviceCapability).updateImsRcsUnregistered();
+ // RCS is unregistered but MMTEL is registered.
+ doReturn(true).when(mDeviceCapability).isImsRegistered();
+ rcsRegiCallback.onUnregistered(info);
+
+ waitForHandlerActionDelayed(handler, HANDLER_WAIT_TIMEOUT_MS, HANDLER_SENT_DELAY_MS);
+
+ verify(mDeviceCapability).updateImsRcsUnregistered();
+ // Only RCS unregistered. Verify the request of the modify publish is sent.
+ verify(mCallback).requestPublishFromInternal(
+ PublishController.PUBLISH_TRIGGER_RCS_URI_CHANGE);
+
+ // Only RCS unregistered. Verify do not send ImsUnregistered.
+ verify(mCallback, never()).updateImsUnregistered();
+ }
+
private DeviceCapabilityListener createDeviceCapabilityListener() {
DeviceCapabilityListener deviceCapListener = new DeviceCapabilityListener(mContext,
mSubId, mDeviceCapability, mCallback, mUceStatsWriter);
diff --git a/tests/src/com/android/ims/rcs/uce/presence/publish/PublishControllerImplTest.java b/tests/src/com/android/ims/rcs/uce/presence/publish/PublishControllerImplTest.java
index a7e0bbbe..aa145c7c 100644
--- a/tests/src/com/android/ims/rcs/uce/presence/publish/PublishControllerImplTest.java
+++ b/tests/src/com/android/ims/rcs/uce/presence/publish/PublishControllerImplTest.java
@@ -22,6 +22,8 @@ import static com.android.ims.rcs.uce.presence.publish.PublishController.PUBLISH
import static junit.framework.Assert.assertFalse;
import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyBoolean;
import static org.mockito.ArgumentMatchers.anyInt;
@@ -34,6 +36,7 @@ import android.os.Handler;
import android.os.Looper;
import android.os.RemoteCallbackList;
import android.telephony.ims.RcsUceAdapter;
+import android.telephony.ims.SipDetails;
import android.telephony.ims.aidl.IImsCapabilityCallback;
import android.telephony.ims.aidl.IRcsUcePublishStateCallback;
import android.telephony.ims.feature.RcsFeature.RcsImsCapabilities;
@@ -137,7 +140,7 @@ public class PublishControllerImplTest extends ImsTestBase {
assertEquals(RcsUceAdapter.PUBLISH_STATE_NOT_PUBLISHED, initState);
publishController.getPublishControllerCallback().updatePublishRequestResult(
- RcsUceAdapter.PUBLISH_STATE_OK, Instant.now(), null);
+ RcsUceAdapter.PUBLISH_STATE_OK, Instant.now(), null, null);
Handler handler = publishController.getPublishHandler();
waitForHandlerAction(handler, 1000);
@@ -154,7 +157,7 @@ public class PublishControllerImplTest extends ImsTestBase {
assertEquals(RcsUceAdapter.PUBLISH_STATE_NOT_PUBLISHED, initState);
publishController.getPublishControllerCallback().updatePublishRequestResult(
- RcsUceAdapter.PUBLISH_STATE_PUBLISHING, Instant.now(), null);
+ RcsUceAdapter.PUBLISH_STATE_PUBLISHING, Instant.now(), null, null);
Handler handler = publishController.getPublishHandler();
waitForHandlerAction(handler, 1000);
@@ -223,8 +226,10 @@ public class PublishControllerImplTest extends ImsTestBase {
public void testPublishUpdated() throws Exception {
PublishControllerImpl publishController = createPublishController();
int responseCode = 200;
+ String responsePhrase = "OK";
- publishController.onPublishUpdated(responseCode, "", 0, "");
+ publishController.onPublishUpdated(new SipDetails.Builder(SipDetails.METHOD_PUBLISH)
+ .setSipResponseCode(responseCode, responsePhrase).build());
Handler handler = publishController.getPublishHandler();
waitForHandlerAction(handler, 1000);
@@ -235,14 +240,64 @@ public class PublishControllerImplTest extends ImsTestBase {
verify(mPublishProcessor).publishUpdated(captor.capture());
PublishRequestResponse response = captor.getValue();
int expectedCode = response.getNetworkRespSipCode().orElse(-1);
+ String expectedPhrase = response.getReasonPhrase().orElse("");
assertEquals(responseCode, expectedCode);
+ assertEquals(responsePhrase, expectedPhrase);
+ SipDetails details = response.getSipDetails().orElse(null);
+ assertNotNull(details);
+ assertEquals(responseCode, details.getResponseCode());
+ assertEquals(responsePhrase, details.getResponsePhrase());
+ }
+
+ @Test
+ @SmallTest
+ public void testPublishUpdatedWithSipDetails() throws Exception {
+ PublishControllerImpl publishController = createPublishController();
+ int responseCode = 200;
+ String responsePhrase = "OK";
+ int reasonHdrCause = 7;
+ String reasonHdrText = "reasonHeaderText";
+ int cseq = 10;
+ String callId = "TestCallId";
+
+ publishController.onPublishUpdated(new SipDetails.Builder(SipDetails.METHOD_PUBLISH)
+ .setCSeq(cseq).setSipResponseCode(responseCode, responsePhrase).setCallId(callId)
+ .setSipResponseReasonHeader(reasonHdrCause, reasonHdrText).build());
+
+ Handler handler = publishController.getPublishHandler();
+ waitForHandlerAction(handler, 1000);
+
+ ArgumentCaptor<PublishRequestResponse> captor =
+ ArgumentCaptor.forClass(PublishRequestResponse.class);
+
+ verify(mPublishProcessor).publishUpdated(captor.capture());
+ PublishRequestResponse response = captor.getValue();
+ int expectedCode = response.getNetworkRespSipCode().orElse(-1);
+ String expectedPhrase = response.getReasonPhrase().orElse("");
+ int expectedReasonCause = response.getReasonHeaderCause().orElse(-1);
+ String expectedReasonText = response.getReasonHeaderText().orElse("");
+
+ assertEquals(responseCode, expectedCode);
+ assertEquals(responsePhrase, expectedPhrase);
+ assertEquals(reasonHdrCause, expectedReasonCause);
+ assertEquals(reasonHdrText, expectedReasonText);
+
+ SipDetails details = response.getSipDetails().orElse(null);
+ assertNotNull(details);
+ assertEquals(SipDetails.METHOD_PUBLISH, details.getMethod());
+ assertEquals(cseq, details.getCSeq());
+ assertEquals(responseCode, details.getResponseCode());
+ assertEquals(responsePhrase, details.getResponsePhrase());
+ assertEquals(reasonHdrCause, details.getReasonHeaderCause());
+ assertEquals(reasonHdrText, details.getReasonHeaderText());
+ assertEquals(callId, details.getCallId());
}
@Test
@SmallTest
public void testPublishingStateTargetingEnable() throws Exception {
doReturn(1).when(mPublishStateCallbacks).getRegisteredCallbackCount();
- Boolean boolObj = new Boolean(true);
+ Boolean boolObj = Boolean.TRUE;
Object uid1 = (Object)boolObj;
doReturn(uid1).when(mPublishStateCallbacks).getRegisteredCallbackCookie(anyInt());
@@ -282,7 +337,7 @@ public class PublishControllerImplTest extends ImsTestBase {
@SmallTest
public void testPublishingStateTargetingDisable() throws Exception {
doReturn(1).when(mPublishStateCallbacks).getRegisteredCallbackCount();
- Boolean boolObj = new Boolean(false);
+ Boolean boolObj = Boolean.FALSE;
Object uid1 = (Object)boolObj;
doReturn(uid1).when(mPublishStateCallbacks).getRegisteredCallbackCookie(anyInt());
diff --git a/tests/src/com/android/ims/rcs/uce/presence/publish/PublishProcessorTest.java b/tests/src/com/android/ims/rcs/uce/presence/publish/PublishProcessorTest.java
index 4e8cdfdc..2de47146 100644
--- a/tests/src/com/android/ims/rcs/uce/presence/publish/PublishProcessorTest.java
+++ b/tests/src/com/android/ims/rcs/uce/presence/publish/PublishProcessorTest.java
@@ -30,6 +30,7 @@ import android.content.Context;
import android.net.Uri;
import android.telephony.ims.RcsContactPresenceTuple;
import android.telephony.ims.RcsContactUceCapability;
+import android.telephony.ims.SipDetails;
import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.filters.SmallTest;
@@ -82,6 +83,7 @@ public class PublishProcessorTest extends ImsTestBase {
doReturn(true).when(mDeviceCapabilities).isImsRegistered();
RcsContactUceCapability capability = getRcsContactUceCapability();
+ doReturn(capability).when(mDeviceCapabilities).getChangedPresenceCapability(any());
doReturn(capability).when(mDeviceCapabilities).getDeviceCapabilities(anyInt(), any());
doReturn(mTaskId).when(mResponseCallback).getTaskId();
@@ -112,7 +114,7 @@ public class PublishProcessorTest extends ImsTestBase {
PublishProcessor publishProcessor = getPublishProcessor();
publishProcessor.doPublish(PublishController.PUBLISH_TRIGGER_RETRY);
-
+ verify(mDeviceCapabilities).getChangedPresenceCapability(any());
verify(mProcessorState, never()).resetRetryCount();
}
@@ -139,7 +141,7 @@ public class PublishProcessorTest extends ImsTestBase {
publishProcessor.onNetworkResponse(mResponseCallback);
- verify(mPublishCtrlCallback).updatePublishRequestResult(anyInt(), any(), any());
+ verify(mPublishCtrlCallback).updatePublishRequestResult(anyInt(), any(), any(), eq(null));
verify(mResponseCallback).onDestroy();
verify(mProcessorState).setPublishingFlag(false);
verify(mPublishCtrlCallback).clearRequestCanceledTimer();
@@ -171,6 +173,7 @@ public class PublishProcessorTest extends ImsTestBase {
publishProcessor.onCommandError(mResponseCallback);
+ verify(mDeviceCapabilities).setPresencePublishResult(false);
verify(mProcessorState).increaseRetryCount();
verify(mPublishCtrlCallback).requestPublishFromInternal(
eq(PublishController.PUBLISH_TRIGGER_RETRY));
@@ -188,11 +191,13 @@ public class PublishProcessorTest extends ImsTestBase {
doReturn(mTaskId).when(mProcessorState).getCurrentTaskId();
doReturn(mTaskId).when(mResponseCallback).getTaskId();
doReturn(false).when(mResponseCallback).needRetry();
+ doReturn(true).when(mResponseCallback).isRequestSuccess();
PublishProcessor publishProcessor = getPublishProcessor();
publishProcessor.onCommandError(mResponseCallback);
- verify(mPublishCtrlCallback).updatePublishRequestResult(anyInt(), any(), any());
+ verify(mDeviceCapabilities).setPresencePublishResult(true);
+ verify(mPublishCtrlCallback).updatePublishRequestResult(anyInt(), any(), any(), eq(null));
verify(mResponseCallback).onDestroy();
verify(mProcessorState).setPublishingFlag(false);
verify(mPublishCtrlCallback).clearRequestCanceledTimer();
@@ -209,6 +214,7 @@ public class PublishProcessorTest extends ImsTestBase {
publishProcessor.onNetworkResponse(mResponseCallback);
+ verify(mDeviceCapabilities).setPresencePublishResult(false);
verify(mProcessorState).increaseRetryCount();
verify(mPublishCtrlCallback).requestPublishFromInternal(
eq(PublishController.PUBLISH_TRIGGER_RETRY));
@@ -226,11 +232,20 @@ public class PublishProcessorTest extends ImsTestBase {
doReturn(false).when(mResponseCallback).needRetry();
doReturn(true).when(mResponseCallback).isRequestSuccess();
doReturn(Optional.of(200)).when(mResponseCallback).getNetworkRespSipCode();
+
+ SipDetails details = new SipDetails.Builder(SipDetails.METHOD_PUBLISH)
+ .setCSeq(10).setSipResponseCode(200, "OK").setCallId("CallId").build();
+ Optional<SipDetails> sipDetails = Optional.ofNullable(details);
+ doReturn(sipDetails).when(mResponseCallback).getSipDetails();
+
PublishProcessor publishProcessor = getPublishProcessor();
publishProcessor.onNetworkResponse(mResponseCallback);
+ SipDetails actualInfo = sipDetails.orElse(null);
- verify(mPublishCtrlCallback).updatePublishRequestResult(anyInt(), any(), any());
+ verify(mDeviceCapabilities).setPresencePublishResult(true);
+ verify(mPublishCtrlCallback).updatePublishRequestResult(anyInt(), any(), any(),
+ eq(actualInfo));
verify(mResponseCallback).onDestroy();
verify(mProcessorState).setPublishingFlag(false);
verify(mPublishCtrlCallback).clearRequestCanceledTimer();
@@ -260,13 +275,21 @@ public class PublishProcessorTest extends ImsTestBase {
doReturn(0).when(mResponseCallback).getPublishState();
doReturn("").when(mResponseCallback).getPidfXml();
+ SipDetails details = new SipDetails.Builder(SipDetails.METHOD_PUBLISH)
+ .setCSeq(10).setSipResponseCode(200, "").setCallId("CallId").build();
+ Optional<SipDetails> sipDetails = Optional.ofNullable(details);
+ doReturn(sipDetails).when(mResponseCallback).getSipDetails();
+
PublishProcessor publishProcessor = getPublishProcessor();
publishProcessor.publishUpdated(mResponseCallback);
+ SipDetails actualInfo = sipDetails.orElse(null);
+ verify(mDeviceCapabilities).setPresencePublishResult(true);
verify(mProcessorState).setLastPublishedTime(any());
verify(mProcessorState).resetRetryCount();
- verify(mPublishCtrlCallback).updatePublishRequestResult(anyInt(), any(), any());
+ verify(mPublishCtrlCallback).updatePublishRequestResult(anyInt(), any(), any(),
+ eq(actualInfo));
}
private PublishProcessor getPublishProcessor() {
diff --git a/tests/src/com/android/ims/rcs/uce/presence/publish/PublishServiceDescTrackerTest.java b/tests/src/com/android/ims/rcs/uce/presence/publish/PublishServiceDescTrackerTest.java
index 55006299..52017c7a 100644
--- a/tests/src/com/android/ims/rcs/uce/presence/publish/PublishServiceDescTrackerTest.java
+++ b/tests/src/com/android/ims/rcs/uce/presence/publish/PublishServiceDescTrackerTest.java
@@ -107,7 +107,6 @@ public class PublishServiceDescTrackerTest {
t1.updateImsRegistration(imsReg);
assertEquals(expectedSet, t1.copyRegistrationCapabilities());
-
expectedSet = Collections.singleton(
ServiceDescription.SERVICE_DESCRIPTION_CHATBOT_SESSION);
imsReg = createImsRegistration(
@@ -139,6 +138,30 @@ public class PublishServiceDescTrackerTest {
FeatureTags.FEATURE_TAG_VIDEO);
t1.updateImsRegistration(imsReg);
assertEquals(expectedSet, t1.copyRegistrationCapabilities());
+
+ expectedSet = Collections.singleton(
+ ServiceDescription.SERVICE_DESCRIPTION_SLM);
+ imsReg = createImsRegistration(
+ FeatureTags.FEATURE_TAG_PAGER_MODE,
+ FeatureTags.FEATURE_TAG_LARGE_MODE,
+ FeatureTags.FEATURE_TAG_DEFERRED_MESSAGING,
+ FeatureTags.FEATURE_TAG_LARGE_PAGER_MODE);
+ t1.updateImsRegistration(imsReg);
+ assertEquals(expectedSet, t1.copyRegistrationCapabilities());
+
+
+ expectedSet = Collections.singleton(
+ ServiceDescription.SERVICE_DESCRIPTION_SLM_PAGER_LARGE);
+ imsReg = createImsRegistration(
+ FeatureTags.FEATURE_TAG_PAGER_MODE,
+ FeatureTags.FEATURE_TAG_LARGE_MODE);
+ t1.updateImsRegistration(imsReg);
+ assertEquals(expectedSet, t1.copyRegistrationCapabilities());
+
+ // delete the feature tags for Unregistered
+ expectedSet = new ArraySet<>();
+ t1.updateImsRegistration(Collections.emptySet());
+ assertEquals(expectedSet, t1.copyRegistrationCapabilities());
}
@SmallTest
diff --git a/tests/src/com/android/ims/rcs/uce/request/SubscribeCoordinatorTest.java b/tests/src/com/android/ims/rcs/uce/request/SubscribeCoordinatorTest.java
index bcd3c98d..2c0042ea 100644
--- a/tests/src/com/android/ims/rcs/uce/request/SubscribeCoordinatorTest.java
+++ b/tests/src/com/android/ims/rcs/uce/request/SubscribeCoordinatorTest.java
@@ -25,14 +25,11 @@ import static com.android.ims.rcs.uce.request.UceRequestCoordinator.REQUEST_UPDA
import static com.android.ims.rcs.uce.request.UceRequestCoordinator.REQUEST_UPDATE_RESOURCE_TERMINATED;
import static com.android.ims.rcs.uce.request.UceRequestCoordinator.REQUEST_UPDATE_TERMINATED;
-import static java.lang.Boolean.TRUE;
-
import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.ArgumentMatchers.anyLong;
-import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.never;
@@ -41,6 +38,7 @@ import static org.mockito.Mockito.verify;
import android.net.Uri;
import android.telephony.ims.RcsContactPresenceTuple;
import android.telephony.ims.RcsContactUceCapability;
+import android.telephony.ims.SipDetails;
import android.telephony.ims.aidl.IRcsUceControllerCallback;
import androidx.test.ext.junit.runners.AndroidJUnit4;
@@ -49,21 +47,23 @@ import androidx.test.filters.SmallTest;
import com.android.ims.ImsTestBase;
import com.android.ims.rcs.uce.UceDeviceState.DeviceStateResult;
import com.android.ims.rcs.uce.UceStatsWriter;
+import com.android.ims.rcs.uce.eab.EabCapabilityResult;
import com.android.ims.rcs.uce.request.UceRequestCoordinator.RequestResult;
import com.android.ims.rcs.uce.request.UceRequestManager.RequestManagerCallback;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-import java.util.Optional;
-
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Optional;
+
@RunWith(AndroidJUnit4.class)
public class SubscribeCoordinatorTest extends ImsTestBase {
@@ -127,6 +127,17 @@ public class SubscribeCoordinatorTest extends ImsTestBase {
@Test
@SmallTest
public void testRequestNetworkRespSuccess() throws Exception {
+ int responseCode = 200;
+ String responsePhrase = "OK";
+ int reasonHdrCause = 1;
+ String reasonHdrText = "reasonText";
+ int cSeq = 10;
+ String callId = "TestCallId";
+ SipDetails details = new SipDetails.Builder(SipDetails.METHOD_SUBSCRIBE).setCSeq(cSeq)
+ .setSipResponseCode(responseCode, responsePhrase).setCallId(callId)
+ .setSipResponseReasonHeader(reasonHdrCause, reasonHdrText).build();
+ doReturn(Optional.ofNullable(details)).when(mResponse).getSipDetails();
+
SubscribeRequestCoordinator coordinator = getSubscribeCoordinator();
doReturn(true).when(mResponse).isNetworkResponseOK();
doReturn(Optional.of(200)).when(mResponse).getNetworkRespSipCode();
@@ -138,8 +149,21 @@ public class SubscribeCoordinatorTest extends ImsTestBase {
assertEquals(1, requestList.size());
assertTrue(resultList.isEmpty());
- verify(mUceStatsWriter).setSubscribeResponse(eq(mSubId), eq(mTaskId), eq(200));
+ Iterator<RequestResult> requestResults = resultList.iterator();
+ while (requestResults.hasNext()) {
+ RequestResult req = requestResults.next();
+ SipDetails receivedInfo = req.getSipDetails().orElse(null);
+ assertNotNull(receivedInfo);
+ assertEquals(SipDetails.METHOD_SUBSCRIBE, receivedInfo.getMethod());
+ assertEquals(cSeq, receivedInfo.getCSeq());
+ assertEquals(responseCode, receivedInfo.getResponseCode());
+ assertEquals(responsePhrase, receivedInfo.getResponsePhrase());
+ assertEquals(reasonHdrCause, receivedInfo.getReasonHeaderCause());
+ assertEquals(reasonHdrText, receivedInfo.getReasonHeaderText());
+ assertEquals(callId, receivedInfo.getCallId());
+ }
+ verify(mUceStatsWriter).setSubscribeResponse(eq(mSubId), eq(mTaskId), eq(200));
verify(mRequest, never()).onFinish();
}
@@ -150,10 +174,20 @@ public class SubscribeCoordinatorTest extends ImsTestBase {
SubscribeRequestCoordinator coordinator = getSubscribeCoordinator();
+ List<EabCapabilityResult> eabResultList = new ArrayList<>();
+
+ Uri contactUri = Uri.fromParts("tel", "123456789", null);
+ EabCapabilityResult result = new EabCapabilityResult(contactUri,
+ EabCapabilityResult.EAB_CONTACT_NOT_FOUND_FAILURE, null);
+ eabResultList.add(result);
+
+ doReturn(eabResultList).when(mRequestMgrCallback).
+ getCapabilitiesFromCacheIncludingExpired(any());
+
coordinator.onRequestUpdated(mTaskId, REQUEST_UPDATE_NETWORK_RESPONSE);
verify(mUceStatsWriter).setSubscribeResponse(eq(mSubId), eq(mTaskId), eq(400));
-
+ verify(mRequestMgrCallback, never()).saveCapabilities(any());
verify(mRequest).onFinish();
}
diff --git a/tests/src/com/android/ims/rcs/uce/request/SubscribeRequestTest.java b/tests/src/com/android/ims/rcs/uce/request/SubscribeRequestTest.java
index b4f9cca4..543ad6d2 100644
--- a/tests/src/com/android/ims/rcs/uce/request/SubscribeRequestTest.java
+++ b/tests/src/com/android/ims/rcs/uce/request/SubscribeRequestTest.java
@@ -19,7 +19,9 @@ package com.android.ims.rcs.uce.request;
import static android.telephony.ims.stub.RcsCapabilityExchangeImplBase.COMMAND_CODE_NOT_SUPPORTED;
import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.ArgumentMatchers.anyLong;
+import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.never;
@@ -28,6 +30,7 @@ import static org.mockito.Mockito.verify;
import android.net.Uri;
import android.telephony.ims.RcsContactTerminatedReason;
import android.telephony.ims.RcsUceAdapter;
+import android.telephony.ims.SipDetails;
import android.telephony.ims.aidl.ISubscribeResponseCallback;
import androidx.test.ext.junit.runners.AndroidJUnit4;
@@ -36,10 +39,6 @@ import androidx.test.filters.SmallTest;
import com.android.ims.ImsTestBase;
import com.android.ims.rcs.uce.presence.subscribe.SubscribeController;
import com.android.ims.rcs.uce.request.UceRequestManager.RequestManagerCallback;
-import com.android.ims.rcs.uce.util.NetworkSipCode;
-
-import java.util.ArrayList;
-import java.util.List;
import org.junit.After;
import org.junit.Before;
@@ -47,6 +46,9 @@ import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
+import java.util.ArrayList;
+import java.util.List;
+
@RunWith(AndroidJUnit4.class)
public class SubscribeRequestTest extends ImsTestBase {
@@ -88,6 +90,7 @@ public class SubscribeRequestTest extends ImsTestBase {
subscribeRequest.requestCapabilities(uriList);
verify(mRequestResponse).setRequestInternalError(RcsUceAdapter.ERROR_GENERIC_FAILURE);
+ verify(mRequestResponse, never()).setSipDetails(any());
verify(mRequestManagerCallback).notifyRequestError(eq(mCoordId), anyLong());
verify(mSubscribeController, never()).requestCapabilities(any(), any());
}
@@ -101,6 +104,7 @@ public class SubscribeRequestTest extends ImsTestBase {
callback.onCommandError(COMMAND_CODE_NOT_SUPPORTED);
verify(mRequestResponse).setCommandError(COMMAND_CODE_NOT_SUPPORTED);
+ verify(mRequestResponse, never()).setSipDetails(any(SipDetails.class));
verify(mRequestManagerCallback).notifyCommandError(eq(mCoordId), anyLong());
}
@@ -109,12 +113,16 @@ public class SubscribeRequestTest extends ImsTestBase {
public void testNetworkResponse() throws Exception {
SubscribeRequest subscribeRequest = getSubscribeRequest();
- int sipCode = NetworkSipCode.SIP_CODE_FORBIDDEN;
- String reason = "forbidden";
+ int sipCode = 200;
+ String reason = "OK";
+ SipDetails details = new SipDetails.Builder(SipDetails.METHOD_SUBSCRIBE).setCSeq(1)
+ .setSipResponseCode(sipCode, reason).setCallId("callId").build();
+
ISubscribeResponseCallback callback = subscribeRequest.getResponseCallback();
- callback.onNetworkResponse(sipCode, reason);
+ callback.onNetworkResponse(details);
- verify(mRequestResponse).setNetworkResponseCode(sipCode, reason);
+ verify(mRequestResponse).setSipDetails(eq(details));
+ verify(mRequestResponse, never()).setNetworkResponseCode(anyInt(), anyString());
verify(mRequestManagerCallback).notifyNetworkResponse(eq(mCoordId), anyLong());
}
@@ -130,6 +138,7 @@ public class SubscribeRequestTest extends ImsTestBase {
callback.onResourceTerminated(list);
verify(mRequestResponse).addTerminatedResource(list);
+ verify(mRequestResponse, never()).setSipDetails(any());
verify(mRequestManagerCallback).notifyResourceTerminated(eq(mCoordId), anyLong());
}
@@ -144,6 +153,7 @@ public class SubscribeRequestTest extends ImsTestBase {
callback.onNotifyCapabilitiesUpdate(pidfXml);
verify(mRequestResponse).addUpdatedCapabilities(any());
+ verify(mRequestResponse, never()).setSipDetails(any());
verify(mRequestManagerCallback).notifyCapabilitiesUpdated(eq(mCoordId), anyLong());
}
@@ -159,6 +169,7 @@ public class SubscribeRequestTest extends ImsTestBase {
callback.onTerminated(reason, retryAfterMillis);
verify(mRequestResponse).setTerminated(reason, retryAfterMillis);
+ verify(mRequestResponse, never()).setSipDetails(any());
verify(mRequestManagerCallback).notifyTerminated(eq(mCoordId), anyLong());
}
diff --git a/tests/src/com/android/ims/rcs/uce/request/UceRequestManagerTest.java b/tests/src/com/android/ims/rcs/uce/request/UceRequestManagerTest.java
index b380eac9..fa8214ed 100644
--- a/tests/src/com/android/ims/rcs/uce/request/UceRequestManagerTest.java
+++ b/tests/src/com/android/ims/rcs/uce/request/UceRequestManagerTest.java
@@ -31,6 +31,7 @@ import static com.android.ims.rcs.uce.request.UceRequestCoordinator.REQUEST_UPDA
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyLong;
+import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.verify;
@@ -133,7 +134,7 @@ public class UceRequestManagerTest extends ImsTestBase {
waitForHandlerAction(handler, 500L);
verify(mUceRequest, never()).executeRequest();
- verify(mCapabilitiesCallback).onError(RcsUceAdapter.ERROR_GENERIC_FAILURE, 0L);
+ verify(mCapabilitiesCallback).onError(RcsUceAdapter.ERROR_GENERIC_FAILURE, 0L, null);
}
/**
@@ -164,7 +165,7 @@ public class UceRequestManagerTest extends ImsTestBase {
verify(mCapabilitiesCallback).onCapabilitiesReceived(
cachedNumbers.stream().map(EabCapabilityResult::getContactCapabilities).collect(
Collectors.toList()));
- verify(mCapabilitiesCallback).onComplete();
+ verify(mCapabilitiesCallback).onComplete(eq(null));
// The cache should have been hit, so no network requests should have been generated.
verify(mRequestRepository, never()).addRequestCoordinator(any());
}
@@ -196,7 +197,7 @@ public class UceRequestManagerTest extends ImsTestBase {
waitForHandlerAction(handler, 500L);
// Extract caps from EabCapabilityResult and ensure the Lists match.
verify(mCapabilitiesCallback, never()).onCapabilitiesReceived(any());
- verify(mCapabilitiesCallback, never()).onComplete();
+ verify(mCapabilitiesCallback, never()).onComplete(any());
// A network request should have been generated for the expired contact.
verify(mRequestRepository).addRequestCoordinator(any());
}
@@ -240,7 +241,7 @@ public class UceRequestManagerTest extends ImsTestBase {
// Extract caps from EabCapabilityResult and ensure the Lists match.
verify(mCapabilitiesCallback).onCapabilitiesReceived(
Collections.singletonList(cachedItem.getContactCapabilities()));
- verify(mCapabilitiesCallback, never()).onComplete();
+ verify(mCapabilitiesCallback, never()).onComplete(any());
// The cache should have been hit, but there was also entry that was not in the cache, so
// ensure that is requested.
verify(mRequestRepository).addRequestCoordinator(any());