Adding 5 sms/mms test cases over 5G NSA
1. Sending mms over 5G NSA, APM is off.
2. Sending sms/mms over 5G NSA, APM is off and VoLTE is enabled.
3. Sending sms/mms over 5G NSA, APM is on and WFC is enabled.
Test: Yes, locally
Bug: 161048384
Change-Id: I9c2cf95ee64923b562eddca12e6076cac97b9e00
diff --git a/acts_tests/tests/google/tel/live/TelLiveSmsTest.py b/acts_tests/tests/google/tel/live/TelLiveSmsTest.py
index 2529aea..21d30f0 100644
--- a/acts_tests/tests/google/tel/live/TelLiveSmsTest.py
+++ b/acts_tests/tests/google/tel/live/TelLiveSmsTest.py
@@ -614,6 +614,49 @@
self.log.info("PASS - SMS test over 5G NSA validated")
return True
+ @test_tracker_info(uuid="2bb5b60f-7269-44a4-9cbd-e1c7d00e53c9")
+ @TelephonyBaseTest.tel_test_wrap
+ def test_mms_mo_mt_5g_nsa(self):
+ """Test MMS basic function between two phones. Phones in 5G NSA.
+
+ Airplane mode is off.
+ Send MMS from PhoneA to PhoneB.
+ Verify received message on PhoneB is correct.
+
+ Returns:
+ True if success.
+ False if failed.
+ """
+ ads = self.android_devices
+
+ # Mode Pref
+ tasks = [(set_preferred_mode_for_5g, [ad])
+ for ad in self.android_devices]
+ if not multithread_func(self.log, tasks):
+ self.log.error("Failed to set preferred network mode.")
+ return False
+
+ # Attach 5g
+ tasks = [(is_current_network_5g_nsa, [ad])
+ for ad in self.android_devices]
+ if not multithread_func(self.log, tasks):
+ self.log.error("Phone not on 5G NSA before sending MMS.")
+ return False
+
+ if not self._mms_test_mo(ads):
+ self.log.error("Failed to send receive MMS over 5G NSA.")
+ return False
+
+ # Attach 5g
+ tasks = [(is_current_network_5g_nsa, [ad])
+ for ad in self.android_devices]
+ if not multithread_func(self.log, tasks):
+ self.log.error("Phone not on 5G NSA after sending MMS.")
+ return False
+
+ self.log.info("PASS - MMS test over 5G NSA validated")
+ return True
+
@test_tracker_info(uuid="f2779e1e-7d09-43f0-8b5c-87eae5d146be")
@TelephonyBaseTest.tel_test_wrap
def test_mms_mt_general(self):
@@ -1037,6 +1080,106 @@
return self._mms_test_mt(ads)
+ @test_tracker_info(uuid="2bef0029-bbed-423b-8745-f3f678a61fc8")
+ @TelephonyBaseTest.tel_test_wrap
+ def test_sms_mo_mt_volte_5g_nsa(self):
+ """Test SMS text function between two phones. Phones with VoLTE in 5G NSA network.
+
+ Airplane mode is off. VoLTE is enabled on Phones.
+ Send SMS from PhoneA to PhoneB.
+ Verify received message on PhoneB is correct.
+
+ Returns:
+ True if success.
+ False if failed.
+ """
+
+ ads = self.android_devices
+ # LTE attach and enable VoLTE on both phones
+ tasks = [(phone_setup_volte, (self.log, ads[0])),
+ (phone_setup_volte, (self.log, ads[1]))]
+ if not multithread_func(self.log, tasks):
+ self.log.error("Phone Failed to Set Up in VoLTE.")
+ return False
+
+ # Mode Pref
+ tasks = [(set_preferred_mode_for_5g, [ad])
+ for ad in self.android_devices]
+ if not multithread_func(self.log, tasks):
+ self.log.error("Failed to set preferred network mode.")
+ return False
+
+ # Attach 5g
+ tasks = [(is_current_network_5g_nsa, [ad])
+ for ad in self.android_devices]
+ if not multithread_func(self.log, tasks):
+ self.log.error("Phone not attached on 5G NSA before call.")
+ return False
+
+ if not self._sms_test_mo(ads):
+ self.log.error("Failed to send receive SMS over 5G NSA.")
+ return False
+
+ # Attach 5g
+ tasks = [(is_current_network_5g_nsa, [ad])
+ for ad in self.android_devices]
+ if not multithread_func(self.log, tasks):
+ self.log.error("Phone not attached on 5G NSA after call end.")
+ return False
+
+ self.log.info("PASS - VoLTE SMS test over 5G NSA validated")
+ return True
+
+ @test_tracker_info(uuid="11960768-2e8f-4306-9698-150d5050f961")
+ @TelephonyBaseTest.tel_test_wrap
+ def test_mms_mo_mt_volte_5g_nsa(self):
+ """Test MMS text function between two phones. Phones with VoLTE in 5G NSA network.
+
+ Airplane mode is off. VoLTE is enabled on Phones.
+ Send MMS from PhoneA to PhoneB.
+ Verify received message on PhoneB is correct.
+
+ Returns:
+ True if success.
+ False if failed.
+ """
+
+ ads = self.android_devices
+ # LTE attach and enable VoLTE on both phones
+ tasks = [(phone_setup_volte, (self.log, ads[0])),
+ (phone_setup_volte, (self.log, ads[1]))]
+ if not multithread_func(self.log, tasks):
+ self.log.error("Phone Failed to Set Up in VoLTE.")
+ return False
+
+ # Mode Pref
+ tasks = [(set_preferred_mode_for_5g, [ad])
+ for ad in self.android_devices]
+ if not multithread_func(self.log, tasks):
+ self.log.error("Failed to set preferred network mode.")
+ return False
+
+ # Attach 5g
+ tasks = [(is_current_network_5g_nsa, [ad])
+ for ad in self.android_devices]
+ if not multithread_func(self.log, tasks):
+ self.log.error("Phone not attached on 5G NSA before call.")
+ return False
+
+ if not self._mms_test_mo(ads):
+ self.log.error("Failed to send receive MMS over 5G NSA.")
+ return False
+
+ # Attach 5g
+ tasks = [(is_current_network_5g_nsa, [ad])
+ for ad in self.android_devices]
+ if not multithread_func(self.log, tasks):
+ self.log.error("Phone not attached on 5G NSA after call end.")
+ return False
+
+ self.log.info("PASS - VoLTE MMS test over 5G NSA validated")
+ return True
+
@test_tracker_info(uuid="54a68d6a-dae7-4fe6-b2bb-7c73151a4a73")
@TelephonyBaseTest.tel_test_wrap
def test_sms_mo_4g_volte(self):
@@ -1996,6 +2139,106 @@
return self._mt_mms_in_3g_call(ads, wifi=True)
+ @test_tracker_info(uuid="f23cd374-1502-4bcb-a636-d2a873499e17")
+ @TelephonyBaseTest.tel_test_wrap
+ def test_sms_mo_mt_iwlan_5g_nsa(self):
+ """ Test SMS text function between two phones, Phones in APM, WiFi connected, WFC Cell Preferred mode.
+
+ Set Phones are operated at 5G NSA
+ Make sure Phones are operated at 5G NSA
+ Make sure PhoneA/B APM, WiFi connected, WFC wifi preferred mode.
+ Make sure PhoneA/B report iwlan as data rat.
+ Make sure PhoneB is able to receive sms.
+ Send SMS on PhoneA.
+
+ Returns:
+ True if pass; False if fail.
+ """
+
+ ads = self.android_devices
+
+ # Mode Pref
+ tasks = [(set_preferred_mode_for_5g, [ad])
+ for ad in self.android_devices]
+ if not multithread_func(self.log, tasks):
+ self.log.error("Failed to set preferred network mode.")
+ return False
+
+ # Attach 5g
+ tasks = [(is_current_network_5g_nsa, [ad])
+ for ad in self.android_devices]
+ if not multithread_func(self.log, tasks):
+ self.log.error("Phone not attached on 5G NSA before call.")
+ return False
+
+ tasks = [(phone_setup_iwlan,
+ (self.log, ads[0], True, WFC_MODE_CELLULAR_PREFERRED,
+ self.wifi_network_ssid, self.wifi_network_pass)),
+ (phone_setup_iwlan,
+ (self.log, ads[1], True, WFC_MODE_CELLULAR_PREFERRED,
+ self.wifi_network_ssid, self.wifi_network_pass))]
+ if not multithread_func(self.log, tasks):
+ self.log.error("Phone Failed to Set Up Properly.")
+ return False
+ time.sleep(WAIT_TIME_ANDROID_STATE_SETTLING)
+
+ if not self._sms_test_mo(ads):
+ self.log.error("Failed to send receive SMS over 5G NSA.")
+ return False
+
+ self.log.info("PASS - iwlan SMS test over 5G NSA validated")
+ return True
+
+ @test_tracker_info(uuid="3ecf3fb0-0c76-4ff7-b91b-842de97bdc50")
+ @TelephonyBaseTest.tel_test_wrap
+ def test_mms_mo_mt_iwlan_5g_nsa(self):
+ """ Test MMS text function between two phones, Phones in APM, WiFi connected, WFC Cell Preferred mode.
+
+ Set Phones are operated at 5G NSA
+ Make sure Phones are operated at 5G NSA
+ Make sure PhoneA/B APM, WiFi connected, WFC wifi preferred mode.
+ Make sure PhoneA/B report iwlan as data rat.
+ Make sure PhoneB is able to receive sms.
+ Send MMS on PhoneA.
+
+ Returns:
+ True if pass; False if fail.
+ """
+
+ ads = self.android_devices
+
+ # Mode Pref
+ tasks = [(set_preferred_mode_for_5g, [ad])
+ for ad in self.android_devices]
+ if not multithread_func(self.log, tasks):
+ self.log.error("Failed to set preferred network mode.")
+ return False
+
+ # Attach 5g
+ tasks = [(is_current_network_5g_nsa, [ad])
+ for ad in self.android_devices]
+ if not multithread_func(self.log, tasks):
+ self.log.error("Phone not attached on 5G NSA before call.")
+ return False
+
+ tasks = [(phone_setup_iwlan,
+ (self.log, ads[0], True, WFC_MODE_CELLULAR_PREFERRED,
+ self.wifi_network_ssid, self.wifi_network_pass)),
+ (phone_setup_iwlan,
+ (self.log, ads[1], True, WFC_MODE_CELLULAR_PREFERRED,
+ self.wifi_network_ssid, self.wifi_network_pass))]
+ if not multithread_func(self.log, tasks):
+ self.log.error("Phone Failed to Set Up Properly.")
+ return False
+ time.sleep(WAIT_TIME_ANDROID_STATE_SETTLING)
+
+ if not self._mms_test_mo(ads):
+ self.log.error("Failed to send receive MMS over 5G NSA.")
+ return False
+
+ self.log.info("PASS - iwlan MMS test over 5G NSA validated")
+ return True
+
@test_tracker_info(uuid="ed720013-e366-448b-8901-bb09d26cea05")
@TelephonyBaseTest.tel_test_wrap
def test_sms_mo_iwlan(self):