#/usr/bin/env python3.4 # # Copyright 2016 - The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. """ Sanity tests for connectivity tests in telephony """ import time from acts.controllers.anritsu_lib._anritsu_utils import AnritsuError from acts.controllers.anritsu_lib.md8475a import MD8475A from acts.controllers.anritsu_lib.md8475a import VirtualPhoneStatus from acts.test_utils.tel.anritsu_utils import set_system_model_1x from acts.test_utils.tel.anritsu_utils import set_system_model_gsm from acts.test_utils.tel.anritsu_utils import set_system_model_lte from acts.test_utils.tel.anritsu_utils import set_system_model_wcdma from acts.test_utils.tel.anritsu_utils import sms_mo_send from acts.test_utils.tel.anritsu_utils import sms_mt_receive_verify from acts.test_utils.tel.tel_defines import DIRECTION_MOBILE_ORIGINATED from acts.test_utils.tel.tel_defines import DIRECTION_MOBILE_TERMINATED from acts.test_utils.tel.tel_defines import NETWORK_MODE_CDMA from acts.test_utils.tel.tel_defines import NETWORK_MODE_GSM_ONLY from acts.test_utils.tel.tel_defines import NETWORK_MODE_GSM_UMTS from acts.test_utils.tel.tel_defines import NETWORK_MODE_LTE_GSM_WCDMA from acts.test_utils.tel.tel_defines import RAT_1XRTT from acts.test_utils.tel.tel_defines import RAT_GSM from acts.test_utils.tel.tel_defines import RAT_LTE from acts.test_utils.tel.tel_defines import RAT_WCDMA from acts.test_utils.tel.tel_defines import RAT_FAMILY_CDMA2000 from acts.test_utils.tel.tel_defines import RAT_FAMILY_GSM from acts.test_utils.tel.tel_defines import RAT_FAMILY_LTE from acts.test_utils.tel.tel_defines import RAT_FAMILY_UMTS from acts.test_utils.tel.tel_test_utils import ensure_network_rat from acts.test_utils.tel.tel_test_utils import ensure_phones_idle from acts.test_utils.tel.TelephonyBaseTest import TelephonyBaseTest from acts.utils import rand_ascii_str SINGLE_PART_LEN = 40 MULTI_PART_LEN = 180 SINGLE_PART_LEN_75 = 75 class TelLabSmsTest(TelephonyBaseTest): phoneNumber = "11234123412" SETTLING_TIME = 15 CELL_PARAM_FILE = 'C:\\MX847570\\CellParam\\ACTS\\2cell_param.wnscp' def __init__(self, controllers): TelephonyBaseTest.__init__(self, controllers) self.ad = self.android_devices[0] self.md8475a_ip_address = self.user_params[ "anritsu_md8475a_ip_address"] self.ad.sim_card = getattr(self.ad, "sim_card", None) def setup_class(self): try: self.anritsu = MD8475A(self.md8475a_ip_address, self.log) except AnritsuError: self.log.error("Error in connecting to Anritsu Simulator") return False return True def setup_test(self): ensure_phones_idle(self.log, self.android_devices) self.virtualPhoneHandle = self.anritsu.get_VirtualPhone() self.ad.droid.connectivityToggleAirplaneMode(True) self.ad.adb.shell("setprop net.lte.ims.volte.provisioned 1", ignore_status=True) return True def teardown_test(self): self.log.info("Stopping Simulation") self.anritsu.stop_simulation() self.ad.droid.connectivityToggleAirplaneMode(True) return True def teardown_class(self): self.anritsu.disconnect() return True def _setup_sms(self, set_simulation_func, rat, phone_number, message, mo_mt=DIRECTION_MOBILE_ORIGINATED): try: self.anritsu.reset() self.anritsu.load_cell_paramfile(self.CELL_PARAM_FILE) set_simulation_func(self.anritsu, self.user_params, self.ad.sim_card) self.anritsu.start_simulation() if rat == RAT_LTE: preferred_network_setting = NETWORK_MODE_LTE_GSM_WCDMA rat_family = RAT_FAMILY_LTE elif rat == RAT_WCDMA: preferred_network_setting = NETWORK_MODE_GSM_UMTS rat_family = RAT_FAMILY_UMTS elif rat == RAT_GSM: preferred_network_setting = NETWORK_MODE_GSM_ONLY rat_family = RAT_FAMILY_GSM elif rat == RAT_1XRTT: preferred_network_setting = NETWORK_MODE_CDMA rat_family = RAT_FAMILY_CDMA2000 else: self.log.error("No valid RAT provided for SMS test.") return False if not ensure_network_rat( self.log, self.ad, preferred_network_setting, rat_family, toggle_apm_after_setting=True): self.log.error( "Failed to set rat family {}, preferred network:{}".format( rat_family, preferred_network_setting)) return False self.anritsu.wait_for_registration_state() time.sleep(self.SETTLING_TIME) if mo_mt == DIRECTION_MOBILE_ORIGINATED: if not sms_mo_send(self.log, self.ad, self.virtualPhoneHandle, phone_number, message, rat): self.log.error("Phone {} Failed to send SMS" .format(self.ad.serial)) return False else: if not sms_mt_receive_verify(self.log, self.ad, self.virtualPhoneHandle, phone_number, message, rat): self.log.error("Phone {} Failed to receive MT SMS" .format(self.ad.serial)) return False except AnritsuError as e: self.log.error("Error in connection with Anritsu Simulator: " + str(e)) return False except Exception as e: self.log.error("Exception during emergency call procedure: " + str(e)) return False return True def insert_string_into_message(self, message, string, index): return message[:index] + string + message[index:] """ Tests Begin """ @TelephonyBaseTest.tel_test_wrap def test_mo_sms_singlepart_lte(self): """ Test MO SMS(less than 160 charcters) functionality on LTE Make Sure Phone is in LTE mode Send a SMS from Phone Verify Anritsu receives the SMS Returns: True if pass; False if fail """ return self._setup_sms(set_system_model_lte, RAT_LTE, self.phoneNumber, rand_ascii_str(SINGLE_PART_LEN), DIRECTION_MOBILE_ORIGINATED) @TelephonyBaseTest.tel_test_wrap def test_mt_sms_singlepart_lte(self): """ Test MT SMS(less than 160 charcters) functionality on LTE Make Sure Phone is in LTE mode Send a SMS from Anritsu Verify Phone receives the SMS Returns: True if pass; False if fail """ return self._setup_sms(set_system_model_lte, RAT_LTE, self.phoneNumber, rand_ascii_str(SINGLE_PART_LEN), DIRECTION_MOBILE_TERMINATED) @TelephonyBaseTest.tel_test_wrap def test_mo_sms_multipart_lte(self): """ Test MO SMS(more than 160 charcters) functionality on LTE Make Sure Phone is in LTE mode Send a SMS from Phone Verify Anritsu receives the SMS Returns: True if pass; False if fail """ return self._setup_sms(set_system_model_lte, RAT_LTE, self.phoneNumber, rand_ascii_str(MULTI_PART_LEN), DIRECTION_MOBILE_ORIGINATED) @TelephonyBaseTest.tel_test_wrap def test_mt_sms_multipart_lte(self): """ Test MT SMS(more than 160 charcters) functionality on LTE Make Sure Phone is in LTE mode Send a SMS from Anritsu Verify Phone receives the SMS Returns: True if pass; False if fail """ return self._setup_sms(set_system_model_lte, RAT_LTE, self.phoneNumber, rand_ascii_str(MULTI_PART_LEN), DIRECTION_MOBILE_TERMINATED) @TelephonyBaseTest.tel_test_wrap def test_mo_sms_singlepart_eacute_lte(self): """ Test MO SMS(single part contains é) functionality on LTE Make Sure Phone is in LTE mode Send a SMS from Phone Verify Anritsu receives the SMS Returns: True if pass; False if fail """ text = self.insert_string_into_message( rand_ascii_str(SINGLE_PART_LEN), "single part contains é", 10) return self._setup_sms(set_system_model_lte, RAT_LTE, self.phoneNumber, text, DIRECTION_MOBILE_ORIGINATED) @TelephonyBaseTest.tel_test_wrap def test_mt_sms_singlepart_eacute_lte(self): """ Test MT SMS(single part contains é) functionality on LTE Make Sure Phone is in LTE mode Send a SMS from Anritsu Verify Phone receives the SMS Returns: True if pass; False if fail """ text = self.insert_string_into_message( rand_ascii_str(SINGLE_PART_LEN), "single part contains é", 10) return self._setup_sms(set_system_model_lte, RAT_LTE, self.phoneNumber, text, DIRECTION_MOBILE_TERMINATED) @TelephonyBaseTest.tel_test_wrap def test_mo_sms_multipart1_eacute_lte(self): """ Test MO SMS(multi part contains é in first part) functionality on LTE Make Sure Phone is in LTE mode Send a SMS from Phone Verify Anritsu receives the SMS Returns: True if pass; False if fail """ text = self.insert_string_into_message( rand_ascii_str(MULTI_PART_LEN), "multi part contains é in first part", 10) return self._setup_sms(set_system_model_lte, RAT_LTE, self.phoneNumber, text, DIRECTION_MOBILE_ORIGINATED) @TelephonyBaseTest.tel_test_wrap def test_mt_sms_multipart1_eacute_lte(self): """ Test MT SMS(multi part contains é in first part) functionality on LTE Make Sure Phone is in LTE mode Send a SMS from Anritsu Verify Phone receives the SMS Returns: True if pass; False if fail """ text = self.insert_string_into_message( rand_ascii_str(MULTI_PART_LEN), "multi part contains é in first part", 10) return self._setup_sms(set_system_model_lte, RAT_LTE, self.phoneNumber, text, DIRECTION_MOBILE_TERMINATED) @TelephonyBaseTest.tel_test_wrap def test_mo_sms_multipart2_eacute_lte(self): """ Test MO SMS(multi part contains é in second part) functionality on LTE Make Sure Phone is in LTE mode Send a SMS from Phone Verify Anritsu receives the SMS Returns: True if pass; False if fail """ text = self.insert_string_into_message( rand_ascii_str(MULTI_PART_LEN), "multi part contains é in second part", 170) return self._setup_sms(set_system_model_lte, RAT_LTE, self.phoneNumber, text, DIRECTION_MOBILE_ORIGINATED) @TelephonyBaseTest.tel_test_wrap def test_mt_sms_multipart2_eacute_lte(self): """ Test MT SMS(multi part contains é in second part) functionality on LTE Make Sure Phone is in LTE mode Send a SMS from Anritsu Verify Phone receives the SMS Returns: True if pass; False if fail """ text = self.insert_string_into_message( rand_ascii_str(MULTI_PART_LEN), "multi part contains é in second part", 10) return self._setup_sms(set_system_model_lte, RAT_LTE, self.phoneNumber, text, DIRECTION_MOBILE_TERMINATED) @TelephonyBaseTest.tel_test_wrap def test_mo_sms_multipart12_eacute_lte(self): """ Test MO SMS(multi part contains é in both parts) functionality on LTE Make Sure Phone is in LTE mode Send a SMS from Phone Verify Anritsu receives the SMS Returns: True if pass; False if fail """ text = rand_ascii_str(MULTI_PART_LEN) text = self.insert_string_into_message(text, "é in first part", 50) text = self.insert_string_into_message(text, "é in second part", 170) return self._setup_sms(set_system_model_lte, RAT_LTE, self.phoneNumber, text, DIRECTION_MOBILE_ORIGINATED) @TelephonyBaseTest.tel_test_wrap def test_mt_sms_multipart12_eacute_lte(self): """ Test MT SMS(multi part contains é in both parts) functionality on LTE Make Sure Phone is in LTE mode Send a SMS from Anritsu Verify Phone receives the SMS Returns: True if pass; False if fail """ text = rand_ascii_str(MULTI_PART_LEN) text = self.insert_string_into_message(text, "é in first part", 50) text = self.insert_string_into_message(text, "é in second part", 170) return self._setup_sms(set_system_model_lte, RAT_LTE, self.phoneNumber, text, DIRECTION_MOBILE_TERMINATED) @TelephonyBaseTest.tel_test_wrap def test_mo_sms_singlepart_71chars_eacute_lte(self): """ Test MO SMS(single part more than 71 characters with é) functionality on LTE Make Sure Phone is in LTE mode Send a SMS from Phone Verify Anritsu receives the SMS Returns: True if pass; False if fail """ text = self.insert_string_into_message( rand_ascii_str(SINGLE_PART_LEN_75), "single part more than 71 characters with é", 72) return self._setup_sms(set_system_model_lte, RAT_LTE, self.phoneNumber, text, DIRECTION_MOBILE_ORIGINATED) @TelephonyBaseTest.tel_test_wrap def test_mt_sms_singlepart_71chars_eacute_lte(self): """ Test MT SMS(single part more than 71 characters with é) functionality on LTE Make Sure Phone is in LTE mode Send a SMS from Anritsu Verify Phone receives the SMS Returns: True if pass; False if fail """ text = self.insert_string_into_message( rand_ascii_str(SINGLE_PART_LEN_75), "single part more than 71 characters with é", 72) return self._setup_sms(set_system_model_lte, RAT_LTE, self.phoneNumber, text, DIRECTION_MOBILE_TERMINATED) @TelephonyBaseTest.tel_test_wrap def test_mo_sms_singlepart_wcdma(self): """ Test MO SMS(less than 160 charcters) functionality on WCDMA Make Sure Phone is in WCDMA mode Send a SMS from Phone Verify Anritsu receives the SMS Returns: True if pass; False if fail """ return self._setup_sms( set_system_model_wcdma, RAT_WCDMA, self.phoneNumber, rand_ascii_str(SINGLE_PART_LEN), DIRECTION_MOBILE_ORIGINATED) @TelephonyBaseTest.tel_test_wrap def test_mt_sms_singlepart_wcdma(self): """ Test MT SMS(less than 160 charcters) functionality on WCDMA Make Sure Phone is in WCDMA mode Send a SMS from Anritsu Verify Phone receives the SMS Returns: True if pass; False if fail """ return self._setup_sms( set_system_model_wcdma, RAT_WCDMA, self.phoneNumber, rand_ascii_str(SINGLE_PART_LEN), DIRECTION_MOBILE_TERMINATED) @TelephonyBaseTest.tel_test_wrap def test_mo_sms_multipart_wcdma(self): """ Test MO SMS(more than 160 charcters) functionality on WCDMA Make Sure Phone is in WCDMA mode Send a SMS from Phone Verify Anritsu receives the SMS Returns: True if pass; False if fail """ return self._setup_sms( set_system_model_wcdma, RAT_WCDMA, self.phoneNumber, rand_ascii_str(MULTI_PART_LEN), DIRECTION_MOBILE_ORIGINATED) @TelephonyBaseTest.tel_test_wrap def test_mt_sms_multipart_wcdma(self): """ Test MT SMS(more than 160 charcters) functionality on WCDMA Make Sure Phone is in WCDMA mode Send a SMS from Anritsu Verify Phone receives the SMS Returns: True if pass; False if fail """ return self._setup_sms( set_system_model_wcdma, RAT_WCDMA, self.phoneNumber, rand_ascii_str(MULTI_PART_LEN), DIRECTION_MOBILE_TERMINATED) @TelephonyBaseTest.tel_test_wrap def test_mo_sms_singlepart_eacute_wcdma(self): """ Test MO SMS(single part contains é) functionality on WCDMA Make Sure Phone is in WCDMA mode Send a SMS from Phone Verify Anritsu receives the SMS Returns: True if pass; False if fail """ text = self.insert_string_into_message( rand_ascii_str(SINGLE_PART_LEN), "single part contains é", 10) return self._setup_sms(set_system_model_wcdma, RAT_WCDMA, self.phoneNumber, text, DIRECTION_MOBILE_ORIGINATED) @TelephonyBaseTest.tel_test_wrap def test_mt_sms_singlepart_eacute_wcdma(self): """ Test MT SMS(single part contains é) functionality on WCDMA Make Sure Phone is in WCDMA mode Send a SMS from Anritsu Verify Phone receives the SMS Returns: True if pass; False if fail """ text = self.insert_string_into_message( rand_ascii_str(SINGLE_PART_LEN), "single part contains é", 10) return self._setup_sms(set_system_model_wcdma, RAT_WCDMA, self.phoneNumber, text, DIRECTION_MOBILE_TERMINATED) @TelephonyBaseTest.tel_test_wrap def test_mo_sms_multipart1_eacute_wcdma(self): """ Test MO SMS(multi part contains é in first part) functionality on WCDMA Make Sure Phone is in WCDMA mode Send a SMS from Phone Verify Anritsu receives the SMS Returns: True if pass; False if fail """ text = self.insert_string_into_message( rand_ascii_str(MULTI_PART_LEN), "multi part contains é in first part", 10) return self._setup_sms(set_system_model_wcdma, RAT_WCDMA, self.phoneNumber, text, DIRECTION_MOBILE_ORIGINATED) @TelephonyBaseTest.tel_test_wrap def test_mt_sms_multipart1_eacute_wcdma(self): """ Test MT SMS(multi part contains é in first part) functionality on WCDMA Make Sure Phone is in WCDMA mode Send a SMS from Anritsu Verify Phone receives the SMS Returns: True if pass; False if fail """ text = self.insert_string_into_message( rand_ascii_str(MULTI_PART_LEN), "multi part contains é in first part", 10) return self._setup_sms(set_system_model_wcdma, RAT_WCDMA, self.phoneNumber, text, DIRECTION_MOBILE_TERMINATED) @TelephonyBaseTest.tel_test_wrap def test_mo_sms_multipart2_eacute_wcdma(self): """ Test MO SMS(multi part contains é in second part) functionality on WCDMA Make Sure Phone is in WCDMA mode Send a SMS from Phone Verify Anritsu receives the SMS Returns: True if pass; False if fail """ text = self.insert_string_into_message( rand_ascii_str(MULTI_PART_LEN), "multi part contains é in second part", 170) return self._setup_sms(set_system_model_wcdma, RAT_WCDMA, self.phoneNumber, text, DIRECTION_MOBILE_ORIGINATED) @TelephonyBaseTest.tel_test_wrap def test_mt_sms_multipart2_eacute_wcdma(self): """ Test MT SMS(multi part contains é in second part) functionality on WCDMA Make Sure Phone is in WCDMA mode Send a SMS from Anritsu Verify Phone receives the SMS Returns: True if pass; False if fail """ text = self.insert_string_into_message( rand_ascii_str(MULTI_PART_LEN), "multi part contains é in second part", 10) return self._setup_sms(set_system_model_wcdma, RAT_WCDMA, self.phoneNumber, text, DIRECTION_MOBILE_TERMINATED) @TelephonyBaseTest.tel_test_wrap def test_mo_sms_multipart12_eacute_wcdma(self): """ Test MO SMS(multi part contains é in both parts) functionality on WCDMA Make Sure Phone is in WCDMA mode Send a SMS from Phone Verify Anritsu receives the SMS Returns: True if pass; False if fail """ text = rand_ascii_str(MULTI_PART_LEN) text = self.insert_string_into_message(text, "é in first part", 50) text = self.insert_string_into_message(text, "é in second part", 170) return self._setup_sms(set_system_model_wcdma, RAT_WCDMA, self.phoneNumber, text, DIRECTION_MOBILE_ORIGINATED) @TelephonyBaseTest.tel_test_wrap def test_mt_sms_multipart12_eacute_wcdma(self): """ Test MT SMS(multi part contains é in both parts) functionality on WCDMA Make Sure Phone is in WCDMA mode Send a SMS from Anritsu Verify Phone receives the SMS Returns: True if pass; False if fail """ text = rand_ascii_str(MULTI_PART_LEN) text = self.insert_string_into_message(text, "é in first part", 50) text = self.insert_string_into_message(text, "é in second part", 170) return self._setup_sms(set_system_model_wcdma, RAT_WCDMA, self.phoneNumber, text, DIRECTION_MOBILE_TERMINATED) @TelephonyBaseTest.tel_test_wrap def test_mo_sms_singlepart_71chars_eacute_wcdma(self): """ Test MO SMS(single part more than 71 characters with é) functionality on WCDMA Make Sure Phone is in WCDMA mode Send a SMS from Phone Verify Anritsu receives the SMS Returns: True if pass; False if fail """ text = self.insert_string_into_message( rand_ascii_str(SINGLE_PART_LEN_75), "single part more than 71 characters with é", 72) return self._setup_sms(set_system_model_wcdma, RAT_WCDMA, self.phoneNumber, text, DIRECTION_MOBILE_ORIGINATED) @TelephonyBaseTest.tel_test_wrap def test_mt_sms_singlepart_71chars_eacute_wcdma(self): """ Test MT SMS(single part more than 71 characters with é) functionality on WCDMA Make Sure Phone is in WCDMA mode Send a SMS from Anritsu Verify Phone receives the SMS Returns: True if pass; False if fail """ text = self.insert_string_into_message( rand_ascii_str(SINGLE_PART_LEN_75), "single part more than 71 characters with é", 72) return self._setup_sms(set_system_model_wcdma, RAT_WCDMA, self.phoneNumber, text, DIRECTION_MOBILE_TERMINATED) @TelephonyBaseTest.tel_test_wrap def test_mo_sms_singlepart_gsm(self): """ Test MO SMS(less than 160 charcters) functionality on GSM Make Sure Phone is in GSM mode Send a SMS from Phone Verify Anritsu receives the SMS Returns: True if pass; False if fail """ return self._setup_sms(set_system_model_gsm, RAT_GSM, self.phoneNumber, rand_ascii_str(SINGLE_PART_LEN), DIRECTION_MOBILE_ORIGINATED) @TelephonyBaseTest.tel_test_wrap def test_mt_sms_singlepart_gsm(self): """ Test MT SMS(less than 160 charcters) functionality on GSM Make Sure Phone is in GSM mode Send a SMS from Anritsu Verify Phone receives the SMS Returns: True if pass; False if fail """ return self._setup_sms(set_system_model_gsm, RAT_GSM, self.phoneNumber, rand_ascii_str(SINGLE_PART_LEN), DIRECTION_MOBILE_TERMINATED) @TelephonyBaseTest.tel_test_wrap def test_mo_sms_multipart_gsm(self): """ Test MO SMS(more than 160 charcters) functionality on GSM Make Sure Phone is in GSM mode Send a SMS from Phone Verify Anritsu receives the SMS Returns: True if pass; False if fail """ return self._setup_sms(set_system_model_gsm, RAT_GSM, self.phoneNumber, rand_ascii_str(MULTI_PART_LEN), DIRECTION_MOBILE_ORIGINATED) @TelephonyBaseTest.tel_test_wrap def test_mt_sms_multipart_gsm(self): """ Test MT SMS(more than 160 charcters) functionality on GSM Make Sure Phone is in GSM mode Send a SMS from Anritsu Verify Phone receives the SMS Returns: True if pass; False if fail """ return self._setup_sms(set_system_model_gsm, RAT_GSM, self.phoneNumber, rand_ascii_str(MULTI_PART_LEN), DIRECTION_MOBILE_TERMINATED) @TelephonyBaseTest.tel_test_wrap def test_mo_sms_singlepart_eacute_gsm(self): """ Test MO SMS(single part contains é) functionality on GSM Make Sure Phone is in GSM mode Send a SMS from Phone Verify Anritsu receives the SMS Returns: True if pass; False if fail """ text = self.insert_string_into_message( rand_ascii_str(SINGLE_PART_LEN), "single part contains é", 10) return self._setup_sms(set_system_model_gsm, RAT_GSM, self.phoneNumber, text, DIRECTION_MOBILE_ORIGINATED) @TelephonyBaseTest.tel_test_wrap def test_mt_sms_singlepart_eacute_gsm(self): """ Test MT SMS(single part contains é) functionality on GSM Make Sure Phone is in GSM mode Send a SMS from Anritsu Verify Phone receives the SMS Returns: True if pass; False if fail """ text = self.insert_string_into_message( rand_ascii_str(SINGLE_PART_LEN), "single part contains é", 10) return self._setup_sms(set_system_model_gsm, RAT_GSM, self.phoneNumber, text, DIRECTION_MOBILE_TERMINATED) @TelephonyBaseTest.tel_test_wrap def test_mo_sms_multipart1_eacute_gsm(self): """ Test MO SMS(multi part contains é in first part) functionality on GSM Make Sure Phone is in GSM mode Send a SMS from Phone Verify Anritsu receives the SMS Returns: True if pass; False if fail """ text = self.insert_string_into_message( rand_ascii_str(MULTI_PART_LEN), "multi part contains é in first part", 10) return self._setup_sms(set_system_model_gsm, RAT_GSM, self.phoneNumber, text, DIRECTION_MOBILE_ORIGINATED) @TelephonyBaseTest.tel_test_wrap def test_mt_sms_multipart1_eacute_gsm(self): """ Test MT SMS(multi part contains é in first part) functionality on GSM Make Sure Phone is in GSM mode Send a SMS from Anritsu Verify Phone receives the SMS Returns: True if pass; False if fail """ text = self.insert_string_into_message( rand_ascii_str(MULTI_PART_LEN), "multi part contains é in first part", 10) return self._setup_sms(set_system_model_gsm, RAT_GSM, self.phoneNumber, text, DIRECTION_MOBILE_TERMINATED) @TelephonyBaseTest.tel_test_wrap def test_mo_sms_multipart2_eacute_gsm(self): """ Test MO SMS(multi part contains é in second part) functionality on GSM Make Sure Phone is in GSM mode Send a SMS from Phone Verify Anritsu receives the SMS Returns: True if pass; False if fail """ text = self.insert_string_into_message( rand_ascii_str(MULTI_PART_LEN), "multi part contains é in second part", 170) return self._setup_sms(set_system_model_gsm, RAT_GSM, self.phoneNumber, text, DIRECTION_MOBILE_ORIGINATED) @TelephonyBaseTest.tel_test_wrap def test_mt_sms_multipart2_eacute_gsm(self): """ Test MT SMS(multi part contains é in second part) functionality on GSM Make Sure Phone is in GSM mode Send a SMS from Anritsu Verify Phone receives the SMS Returns: True if pass; False if fail """ text = self.insert_string_into_message( rand_ascii_str(MULTI_PART_LEN), "multi part contains é in second part", 170) return self._setup_sms(set_system_model_gsm, RAT_GSM, self.phoneNumber, text, DIRECTION_MOBILE_TERMINATED) @TelephonyBaseTest.tel_test_wrap def test_mo_sms_multipart12_eacute_gsm(self): """ Test MO SMS(multi part contains é in both parts) functionality on GSM Make Sure Phone is in GSM mode Send a SMS from Phone Verify Anritsu receives the SMS Returns: True if pass; False if fail """ text = rand_ascii_str(MULTI_PART_LEN) text = self.insert_string_into_message(text, "é in first part", 50) text = self.insert_string_into_message(text, "é in second part", 170) return self._setup_sms(set_system_model_gsm, RAT_GSM, self.phoneNumber, text, DIRECTION_MOBILE_ORIGINATED) @TelephonyBaseTest.tel_test_wrap def test_mt_sms_multipart12_eacute_gsm(self): """ Test MT SMS(multi part contains é in both parts) functionality on GSM Make Sure Phone is in GSM mode Send a SMS from Anritsu Verify Phone receives the SMS Returns: True if pass; False if fail """ text = rand_ascii_str(MULTI_PART_LEN) text = self.insert_string_into_message(text, "é in first part", 50) text = self.insert_string_into_message(text, "é in second part", 170) return self._setup_sms(set_system_model_gsm, RAT_GSM, self.phoneNumber, text, DIRECTION_MOBILE_TERMINATED) @TelephonyBaseTest.tel_test_wrap def test_mo_sms_singlepart_71chars_eacute_gsm(self): """ Test MO SMS(single part more than 71 characters with é) functionality on GSM Make Sure Phone is in GSM mode Send a SMS from Phone Verify Anritsu receives the SMS Returns: True if pass; False if fail """ text = self.insert_string_into_message( rand_ascii_str(SINGLE_PART_LEN_75), "single part more than 71 characters with é", 72) return self._setup_sms(set_system_model_gsm, RAT_GSM, self.phoneNumber, text, DIRECTION_MOBILE_ORIGINATED) @TelephonyBaseTest.tel_test_wrap def test_mt_sms_singlepart_71chars_eacute_gsm(self): """ Test MT SMS(single part more than 71 characters with é) functionality on GSM Make Sure Phone is in GSM mode Send a SMS from Anritsu Verify Phone receives the SMS Returns: True if pass; False if fail """ text = self.insert_string_into_message( rand_ascii_str(SINGLE_PART_LEN_75), "single part more than 71 characters with é", 72) return self._setup_sms(set_system_model_gsm, RAT_GSM, self.phoneNumber, text, DIRECTION_MOBILE_TERMINATED) @TelephonyBaseTest.tel_test_wrap def test_mo_sms_singlepart_1x(self): """ Test MO SMS(less than 160 charcters) functionality on CDMA1X Make Sure Phone is in CDMA1X mode Send a SMS from Phone Verify Anritsu receives the SMS Returns: True if pass; False if fail """ return self._setup_sms( set_system_model_1x, RAT_1XRTT, self.phoneNumber, rand_ascii_str(SINGLE_PART_LEN), DIRECTION_MOBILE_ORIGINATED) @TelephonyBaseTest.tel_test_wrap def test_mt_sms_singlepart_1x(self): """ Test MT SMS(less than 160 charcters) functionality on CDMA1X Make Sure Phone is in CDMA1X mode Send a SMS from Anritsu Verify Phone receives the SMS Returns: True if pass; False if fail """ return self._setup_sms( set_system_model_1x, RAT_1XRTT, self.phoneNumber, rand_ascii_str(SINGLE_PART_LEN), DIRECTION_MOBILE_TERMINATED) @TelephonyBaseTest.tel_test_wrap def test_mo_sms_multipart_1x(self): """ Test MO SMS(more than 160 charcters) functionality on CDMA1X Make Sure Phone is in CDMA1X mode Send a SMS from Phone Verify Anritsu receives the SMS Returns: True if pass; False if fail """ return self._setup_sms( set_system_model_1x, RAT_1XRTT, self.phoneNumber, rand_ascii_str(MULTI_PART_LEN), DIRECTION_MOBILE_ORIGINATED) @TelephonyBaseTest.tel_test_wrap def test_mt_sms_multipart_1x(self): """ Test MT SMS(more than 160 charcters) functionality on CDMA1X Make Sure Phone is in CDMA1X mode Send a SMS from Anritsu Verify Phone receives the SMS Returns: True if pass; False if fail """ # TODO: b/26346258 Anritsu is not sending message. return self._setup_sms( set_system_model_1x, RAT_1XRTT, self.phoneNumber, rand_ascii_str(MULTI_PART_LEN), DIRECTION_MOBILE_TERMINATED) """ Tests End """