summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHyein Yu <hyeinyu@google.com>2022-01-06 16:14:11 +0000
committerHyein Yu <hyeinyu@google.com>2022-01-12 00:28:24 +0000
commit612b3e1a1f5a6c59798dbfe9480de7144932608d (patch)
tree5477a6ac8654a8f8bbc3c24250c54397b9ece089
parentd6c57fde71eae0d516c20bb2af11d9768d4fdd95 (diff)
downloadCellBroadcastReceiver-612b3e1a1f5a6c59798dbfe9480de7144932608d.tar.gz
Add unit test for channel cofigurations not covered before
Bug: 213237329 Test: atest com.android.cellbroadcastreceiver.unit.CellBroadcastConfigServiceTest Change-Id: I5aab587bfb52b4c80994211aa9e1bd828af6ff55
-rw-r--r--tests/unit/src/com/android/cellbroadcastreceiver/unit/CellBroadcastConfigServiceTest.java130
1 files changed, 130 insertions, 0 deletions
diff --git a/tests/unit/src/com/android/cellbroadcastreceiver/unit/CellBroadcastConfigServiceTest.java b/tests/unit/src/com/android/cellbroadcastreceiver/unit/CellBroadcastConfigServiceTest.java
index 6d60b8ceb..6aae8bab6 100644
--- a/tests/unit/src/com/android/cellbroadcastreceiver/unit/CellBroadcastConfigServiceTest.java
+++ b/tests/unit/src/com/android/cellbroadcastreceiver/unit/CellBroadcastConfigServiceTest.java
@@ -147,6 +147,20 @@ public class CellBroadcastConfigServiceTest extends CellBroadcastTest {
"0x1003-0x1003:rat=cdma",
"0x1128-0x1128:rat=gsm",
});
+ putResources(com.android.cellbroadcastreceiver.R.array
+ .geo_fencing_trigger_messages_range_strings, new String[]{
+ "0x1130:rat=gsm, emergency=true",
+ });
+ putResources(com.android.cellbroadcastreceiver.R.array
+ .state_local_test_alert_range_strings, new String[]{
+ "0x112E:rat=gsm, emergency=true",
+ "0x112F:rat=gsm, emergency=true",
+ });
+ putResources(com.android.cellbroadcastreceiver.R.array
+ .public_safety_messages_channels_range_strings, new String[]{
+ "0x112C:rat=gsm, emergency=true",
+ "0x112D:rat=gsm, emergency=true",
+ });
}
@After
@@ -324,6 +338,30 @@ public class CellBroadcastConfigServiceTest extends CellBroadcastTest {
eq(SmsCbConstants.MESSAGE_ID_CMAS_ALERT_REQUIRED_MONTHLY_TEST),
eq(SmsCbConstants.MESSAGE_ID_CMAS_ALERT_REQUIRED_MONTHLY_TEST),
eq(SmsCbMessage.MESSAGE_FORMAT_3GPP));
+
+ verify(mMockedSmsService, times(1)).disableCellBroadcastRangeForSubscriber(
+ eq(0),
+ eq(SmsCbConstants.MESSAGE_ID_CMAS_ALERT_EXERCISE),
+ eq(SmsCbConstants.MESSAGE_ID_CMAS_ALERT_EXERCISE),
+ eq(SmsCbMessage.MESSAGE_FORMAT_3GPP));
+
+ verify(mMockedSmsService, times(1)).disableCellBroadcastRangeForSubscriber(
+ eq(0),
+ eq(SmsCbConstants.MESSAGE_ID_CMAS_ALERT_PUBLIC_SAFETY),
+ eq(SmsCbConstants.MESSAGE_ID_CMAS_ALERT_PUBLIC_SAFETY),
+ eq(SmsCbMessage.MESSAGE_FORMAT_3GPP));
+
+ verify(mMockedSmsService, times(1)).disableCellBroadcastRangeForSubscriber(
+ eq(0),
+ eq(SmsCbConstants.MESSAGE_ID_CMAS_ALERT_STATE_LOCAL_TEST),
+ eq(SmsCbConstants.MESSAGE_ID_CMAS_ALERT_STATE_LOCAL_TEST),
+ eq(SmsCbMessage.MESSAGE_FORMAT_3GPP));
+
+ verify(mMockedSmsService, times(1)).enableCellBroadcastRangeForSubscriber(
+ eq(0),
+ eq(SmsCbConstants.MESSAGE_ID_CMAS_GEO_FENCING_TRIGGER),
+ eq(SmsCbConstants.MESSAGE_ID_CMAS_GEO_FENCING_TRIGGER),
+ eq(SmsCbMessage.MESSAGE_FORMAT_3GPP));
}
/**
@@ -664,6 +702,98 @@ public class CellBroadcastConfigServiceTest extends CellBroadcastTest {
}
/**
+ * Test enabling channels for geo-fencing message
+ */
+ @Test
+ @SmallTest
+ public void testEnablingGeoFencingTriggeredChannel() throws Exception {
+ mConfigService.enableCellBroadcastChannels(SubscriptionManager.DEFAULT_SUBSCRIPTION_ID);
+
+ verify(mMockedSmsService, times(1)).enableCellBroadcastRangeForSubscriber(
+ eq(0),
+ eq(SmsCbConstants.MESSAGE_ID_CMAS_GEO_FENCING_TRIGGER),
+ eq(SmsCbConstants.MESSAGE_ID_CMAS_GEO_FENCING_TRIGGER),
+ eq(SmsCbMessage.MESSAGE_FORMAT_3GPP));
+
+ putResources(com.android.cellbroadcastreceiver.R.array
+ .geo_fencing_trigger_messages_range_strings, new String[]{
+ });
+
+ mConfigService.enableCellBroadcastChannels(SubscriptionManager.DEFAULT_SUBSCRIPTION_ID);
+ verify(mMockedSmsService, times(0)).disableCellBroadcastRangeForSubscriber(
+ eq(0),
+ eq(SmsCbConstants.MESSAGE_ID_CMAS_GEO_FENCING_TRIGGER),
+ eq(SmsCbConstants.MESSAGE_ID_CMAS_GEO_FENCING_TRIGGER),
+ eq(SmsCbMessage.MESSAGE_FORMAT_3GPP));
+ }
+
+ /**
+ * Test enabling channels for non-cmas series message
+ */
+ @Test
+ @SmallTest
+ public void testEnablingNonCmasMessages() throws Exception {
+ putResources(com.android.cellbroadcastreceiver.R.array
+ .emergency_alerts_channels_range_strings, new String[]{
+ "0xA000:rat=gsm",
+ });
+ setPreference(CellBroadcastSettings.KEY_ENABLE_ALERTS_MASTER_TOGGLE, true);
+ setPreference(CellBroadcastSettings.KEY_ENABLE_EMERGENCY_ALERTS, true);
+ mConfigService.enableCellBroadcastChannels(SubscriptionManager.DEFAULT_SUBSCRIPTION_ID);
+
+ verify(mMockedSmsService, times(1)).enableCellBroadcastRangeForSubscriber(
+ eq(0),
+ eq(0xA000),
+ eq(0xA000),
+ eq(SmsCbMessage.MESSAGE_FORMAT_3GPP));
+
+ setPreference(CellBroadcastSettings.KEY_ENABLE_ALERTS_MASTER_TOGGLE, true);
+ setPreference(CellBroadcastSettings.KEY_ENABLE_EMERGENCY_ALERTS, false);
+ mConfigService.enableCellBroadcastChannels(SubscriptionManager.DEFAULT_SUBSCRIPTION_ID);
+
+ verify(mMockedSmsService, times(1)).disableCellBroadcastRangeForSubscriber(
+ eq(0),
+ eq(0xA000),
+ eq(0xA000),
+ eq(SmsCbMessage.MESSAGE_FORMAT_3GPP));
+ }
+
+ /**
+ * Test enabling channels for additional channels
+ */
+ @Test
+ @SmallTest
+ public void testEnablingAdditionalChannels() throws Exception {
+ putResources(com.android.cellbroadcastreceiver.R.array
+ .additional_cbs_channels_strings, new String[]{
+ "0x032:type=area, emergency=false",
+ });
+ doReturn(true).when(mMockedSharedPreferences).getBoolean(
+ eq(CellBroadcastSettings.KEY_ENABLE_AREA_UPDATE_INFO_ALERTS), eq(false));
+ doReturn(mResources).when(mConfigService).getResources(anyInt(), anyString());
+ putResources(com.android.cellbroadcastreceiver.R.bool.config_showAreaUpdateInfoSettings,
+ true);
+
+ mConfigService.enableCellBroadcastChannels(SubscriptionManager.DEFAULT_SUBSCRIPTION_ID);
+
+ verify(mMockedSmsService, times(1)).enableCellBroadcastRangeForSubscriber(
+ eq(0),
+ eq(0x032),
+ eq(0x032),
+ eq(SmsCbMessage.MESSAGE_FORMAT_3GPP));
+
+ doReturn(false).when(mMockedSharedPreferences).getBoolean(
+ eq(CellBroadcastSettings.KEY_ENABLE_AREA_UPDATE_INFO_ALERTS), eq(false));
+ mConfigService.enableCellBroadcastChannels(SubscriptionManager.DEFAULT_SUBSCRIPTION_ID);
+
+ verify(mMockedSmsService, times(1)).disableCellBroadcastRangeForSubscriber(
+ eq(0),
+ eq(0x032),
+ eq(0x032),
+ eq(SmsCbMessage.MESSAGE_FORMAT_3GPP));
+ }
+
+ /**
* Test handling the intent to enable channels
*/
@Test