1#!/usr/bin/env python3
2#
3#   Copyright 2020 - Google
4#
5#   Licensed under the Apache License, Version 2.0 (the "License");
6#   you may not use this file except in compliance with the License.
7#   You may obtain a copy of the License at
8#
9#       http://www.apache.org/licenses/LICENSE-2.0
10#
11#   Unless required by applicable law or agreed to in writing, software
12#   distributed under the License is distributed on an "AS IS" BASIS,
13#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14#   See the License for the specific language governing permissions and
15#   limitations under the License.
16
17import time
18
19from acts import asserts
20from acts import signals
21from acts.test_decorators import test_tracker_info
22from acts.test_utils.tel.loggers.protos.telephony_metric_pb2 import \
23    TelephonyVoiceTestResult
24from acts.test_utils.tel.loggers.telephony_metric_logger import \
25    TelephonyMetricLogger
26from acts.test_utils.tel.TelephonyBaseTest import TelephonyBaseTest
27from acts.test_utils.tel.tel_defines import MAX_WAIT_TIME_SMS_RECEIVE
28from acts.test_utils.tel.tel_defines import WAIT_TIME_ANDROID_STATE_SETTLING
29from acts.test_utils.tel.tel_defines import INVALID_SUB_ID
30from acts.test_utils.tel.tel_subscription_utils import get_subid_from_slot_index
31from acts.test_utils.tel.tel_subscription_utils import \
32    get_outgoing_message_sub_id
33from acts.test_utils.tel.tel_subscription_utils import get_default_data_sub_id
34from acts.test_utils.tel.tel_subscription_utils import set_subid_for_message
35from acts.test_utils.tel.tel_subscription_utils import set_subid_for_data
36from acts.test_utils.tel.tel_subscription_utils import set_dds_on_slot_0
37from acts.test_utils.tel.tel_subscription_utils import set_dds_on_slot_1
38from acts.test_utils.tel.tel_subscription_utils import \
39    get_subid_on_same_network_of_host_ad
40from acts.test_utils.tel.tel_test_utils import multithread_func
41from acts.test_utils.tel.tel_test_utils import \
42    sms_send_receive_verify_for_subscription
43from acts.test_utils.tel.tel_test_utils import mms_send_receive_verify
44from acts.test_utils.tel.tel_test_utils import verify_http_connection
45from acts.test_utils.tel.tel_test_utils import log_messaging_screen_shot
46from acts.test_utils.tel.tel_test_utils import ensure_phones_idle
47from acts.test_utils.tel.tel_voice_utils import \
48    phone_setup_csfb_for_subscription
49from acts.test_utils.tel.tel_voice_utils import \
50    phone_setup_voice_3g_for_subscription
51from acts.test_utils.tel.tel_voice_utils import \
52    phone_setup_voice_general_for_subscription
53from acts.test_utils.tel.tel_voice_utils import \
54    phone_setup_volte_for_subscription
55from acts.utils import rand_ascii_str
56
57CallResult = TelephonyVoiceTestResult.CallResult.Value
58
59class TelLiveGFTDSDSMessageTest(TelephonyBaseTest):
60    def __init__(self, controllers):
61        TelephonyBaseTest.__init__(self, controllers)
62        self.message_lengths = (50, 160, 180)
63        self.tel_logger = TelephonyMetricLogger.for_test_case()
64
65    def setup_class(self):
66        TelephonyBaseTest.setup_class(self)
67
68    def teardown_test(self):
69        ensure_phones_idle(self.log, self.android_devices)
70
71    def _msim_message_test(
72        self,
73        ad_mo,
74        ad_mt,
75        mo_sub_id,
76        mt_sub_id, msg="SMS",
77        max_wait_time=MAX_WAIT_TIME_SMS_RECEIVE,
78        expected_result=True):
79        """Make MO/MT SMS/MMS at specific slot.
80
81        Args:
82            ad_mo: Android object of the device sending SMS/MMS
83            ad_mt: Android object of the device receiving SMS/MMS
84            mo_sub_id: Sub ID of MO device
85            mt_sub_id: Sub ID of MT device
86            max_wait_time: Max wait time before SMS/MMS is received.
87            expected_result: True for successful sending/receiving and False on
88                             the contrary
89
90        Returns:
91            True if the result matches expected_result and False on the
92            contrary.
93        """
94
95        if msg == "SMS":
96            for length in self.message_lengths:
97                message_array = [rand_ascii_str(length)]
98                if not sms_send_receive_verify_for_subscription(
99                    self.log,
100                    ad_mo,
101                    ad_mt,
102                    mo_sub_id,
103                    mt_sub_id,
104                    message_array,
105                    max_wait_time):
106                    ad_mo.log.warning(
107                        "%s of length %s test failed", msg, length)
108                    return False
109                else:
110                    ad_mo.log.info(
111                        "%s of length %s test succeeded", msg, length)
112            self.log.info("%s test of length %s characters succeeded.",
113                msg, self.message_lengths)
114
115        elif msg == "MMS":
116            for length in self.message_lengths:
117                message_array = [("Test Message", rand_ascii_str(length), None)]
118
119                if not mms_send_receive_verify(
120                    self.log,
121                    ad_mo,
122                    ad_mt,
123                    message_array,
124                    max_wait_time,
125                    expected_result):
126                    self.log.warning("%s of body length %s test failed",
127                        msg, length)
128                    return False
129                else:
130                    self.log.info(
131                        "%s of body length %s test succeeded", msg, length)
132            self.log.info("%s test of body lengths %s succeeded",
133                          msg, self.message_lengths)
134        return True
135
136    def _test_msim_message(
137            self,
138            mo_slot,
139            mt_slot,
140            dds_slot,
141            msg="SMS",
142            mo_rat=["", ""],
143            mt_rat=["", ""],
144            direction="mo",
145            expected_result=True):
146        """Make MO/MT SMS/MMS at specific slot in specific RAT with DDS at
147        specific slot.
148
149        Test step:
150        1. Get sub IDs of specific slots of both MO and MT devices.
151        2. Switch DDS to specific slot.
152        3. Check HTTP connection after DDS switch.
153        4. Set up phones in desired RAT.
154        5. Send SMS/MMS.
155
156        Args:
157            mo_slot: Slot sending MO SMS (0 or 1)
158            mt_slot: Slot receiving MT SMS (0 or 1)
159            dds_slot: Preferred data slot
160            mo_rat: RAT for both slots of MO device
161            mt_rat: RAT for both slots of MT device
162            direction: "mo" or "mt"
163            expected_result: True of False
164
165        Returns:
166            TestFailure if failed.
167        """
168        ads = self.android_devices
169
170        if direction == "mo":
171            ad_mo = ads[0]
172            ad_mt = ads[1]
173        else:
174            ad_mo = ads[1]
175            ad_mt = ads[0]
176
177        if mo_slot is not None:
178            mo_sub_id = get_subid_from_slot_index(self.log, ad_mo, mo_slot)
179            if mo_sub_id == INVALID_SUB_ID:
180                ad_mo.log.warning("Failed to get sub ID at slot %s.", mo_slot)
181                return False
182            mo_other_sub_id = get_subid_from_slot_index(
183                self.log, ad_mo, 1-mo_slot)
184            set_subid_for_message(ad_mo, mo_sub_id)
185        else:
186            _, mo_sub_id, _ = get_subid_on_same_network_of_host_ad(
187                ads, type="sms")
188            if mo_sub_id == INVALID_SUB_ID:
189                ad_mo.log.warning("Failed to get sub ID at slot %s.", mo_slot)
190                return False
191            mo_slot = "auto"
192            set_subid_for_message(ad_mo, mo_sub_id)
193            if msg == "MMS":
194                set_subid_for_data(ad_mo, mo_sub_id)
195                ad_mo.droid.telephonyToggleDataConnection(True)
196        ad_mo.log.info("Sub ID for outgoing %s at slot %s: %s", msg, mo_slot,
197            get_outgoing_message_sub_id(ad_mo))
198
199        if mt_slot is not None:
200            mt_sub_id = get_subid_from_slot_index(self.log, ad_mt, mt_slot)
201            if mt_sub_id == INVALID_SUB_ID:
202                ad_mt.log.warning("Failed to get sub ID at slot %s.", mt_slot)
203                return False
204            mt_other_sub_id = get_subid_from_slot_index(
205                self.log, ad_mt, 1-mt_slot)
206            set_subid_for_message(ad_mt, mt_sub_id)
207        else:
208            _, mt_sub_id, _ = get_subid_on_same_network_of_host_ad(
209                ads, type="sms")
210            if mt_sub_id == INVALID_SUB_ID:
211                ad_mt.log.warning("Failed to get sub ID at slot %s.", mt_slot)
212                return False
213            mt_slot = "auto"
214            set_subid_for_message(ad_mt, mt_sub_id)
215            if msg == "MMS":
216                set_subid_for_data(ad_mt, mt_sub_id)
217                ad_mt.droid.telephonyToggleDataConnection(True)
218        ad_mt.log.info("Sub ID for incoming %s at slot %s: %s", msg, mt_slot,
219            get_outgoing_message_sub_id(ad_mt))
220
221        self.log.info("Step 1: Switch DDS.")
222        if dds_slot:
223            if not set_dds_on_slot_1(ads[0]):
224                self.log.warning(
225                    "Failed to set DDS at eSIM on %s", ads[0].serial)
226                return False
227        else:
228            if not set_dds_on_slot_0(ads[0]):
229                self.log.warning(
230                    "Failed to set DDS at pSIM on %s", ads[0].serial)
231                return False
232
233        self.log.info("Step 2: Check HTTP connection after DDS switch.")
234        if not verify_http_connection(self.log,
235           ads[0],
236           url="https://www.google.com",
237           retry=5,
238           retry_interval=15,
239           expected_state=True):
240
241            self.log.error("Failed to verify http connection.")
242            return False
243        else:
244            self.log.info("Verify http connection successfully.")
245
246        if mo_rat[0] == "volte":
247            mo_slot0_phone_setup_func = phone_setup_volte_for_subscription
248        elif mo_rat[0] == "csfb":
249            mo_slot0_phone_setup_func = phone_setup_csfb_for_subscription
250        elif mo_rat[0] == "3g":
251            mo_slot0_phone_setup_func = phone_setup_voice_3g_for_subscription
252        elif not mo_rat[0] or mo_rat[0] == "general":
253            mo_slot0_phone_setup_func = \
254                phone_setup_voice_general_for_subscription
255
256        if mo_rat[1] == "volte":
257            mo_slot1_phone_setup_func = phone_setup_volte_for_subscription
258        elif mo_rat[1] == "csfb":
259            mo_slot1_phone_setup_func = phone_setup_csfb_for_subscription
260        elif mo_rat[1] == "3g":
261            mo_slot1_phone_setup_func = phone_setup_voice_3g_for_subscription
262        elif not mo_rat[1] or mo_rat[1] == "general":
263            mo_slot1_phone_setup_func = \
264                phone_setup_voice_general_for_subscription
265
266        if mt_rat[0] == "volte":
267            mt_slot0_phone_setup_func = phone_setup_volte_for_subscription
268        elif mt_rat[0] == "csfb":
269            mt_slot0_phone_setup_func = phone_setup_csfb_for_subscription
270        elif mt_rat[0] == "3g":
271            mt_slot0_phone_setup_func = phone_setup_voice_3g_for_subscription
272        elif not mt_rat[0] or mt_rat[0] == "general":
273            mt_slot0_phone_setup_func = \
274                phone_setup_voice_general_for_subscription
275
276        if mt_rat[1] == "volte":
277            mt_slot1_phone_setup_func = phone_setup_volte_for_subscription
278        elif mt_rat[1] == "csfb":
279            mt_slot1_phone_setup_func = phone_setup_csfb_for_subscription
280        elif mt_rat[1] == "3g":
281            mt_slot1_phone_setup_func = phone_setup_voice_3g_for_subscription
282        elif not mt_rat[1] or mt_rat[1] == "general":
283            mt_slot1_phone_setup_func = \
284                phone_setup_voice_general_for_subscription
285
286        if mo_slot == 1:
287            mo_phone_setup_func = mo_slot1_phone_setup_func
288            if mo_rat[0] == "volte":
289                phone_setup_volte_for_subscription(
290                    self.log, ad_mo, mo_other_sub_id)
291            elif mo_rat[0] == "csfb":
292                phone_setup_csfb_for_subscription(
293                    self.log, ad_mo, mo_other_sub_id)
294            elif mo_rat[0] == "3g":
295                phone_setup_voice_3g_for_subscription(
296                    self.log, ad_mo, mo_other_sub_id)
297            elif not mo_rat[0] or mo_rat[0] == "general":
298                phone_setup_voice_general_for_subscription(
299                    self.log, ad_mo, mo_other_sub_id)
300        elif mo_slot == 0:
301            mo_phone_setup_func = mo_slot0_phone_setup_func
302            if mo_rat[1] == "volte":
303                phone_setup_volte_for_subscription(
304                    self.log, ad_mo, mo_other_sub_id)
305            elif mo_rat[1] == "csfb":
306                phone_setup_csfb_for_subscription(
307                    self.log, ad_mo, mo_other_sub_id)
308            elif mo_rat[1] == "3g":
309                phone_setup_voice_3g_for_subscription(
310                    self.log, ad_mo, mo_other_sub_id)
311            elif not mo_rat[1] or mo_rat[1] == "general":
312                phone_setup_voice_general_for_subscription(
313                    self.log, ad_mo, mo_other_sub_id)
314        else:
315            mo_phone_setup_func = phone_setup_voice_general_for_subscription
316
317        if mt_slot == 1:
318            mt_phone_setup_func = mt_slot1_phone_setup_func
319            if mt_rat[0] == "volte":
320                phone_setup_volte_for_subscription(
321                    self.log, ad_mt, mt_other_sub_id)
322            elif mt_rat[0] == "csfb":
323                phone_setup_csfb_for_subscription(
324                    self.log, ad_mt, mt_other_sub_id)
325            elif mt_rat[0] == "3g":
326                phone_setup_voice_3g_for_subscription(
327                    self.log, ad_mt, mt_other_sub_id)
328            elif not mt_rat[0] or mt_rat[0] == "general":
329                phone_setup_voice_general_for_subscription(
330                    self.log, ad_mt, mt_other_sub_id)
331        elif mt_slot == 0:
332            mt_phone_setup_func = mt_slot0_phone_setup_func
333            if mt_rat[1] == "volte":
334                phone_setup_volte_for_subscription(
335                    self.log, ad_mt, mt_other_sub_id)
336            elif mt_rat[1] == "csfb":
337                phone_setup_csfb_for_subscription(
338                    self.log, ad_mt, mt_other_sub_id)
339            elif mt_rat[1] == "3g":
340                phone_setup_voice_3g_for_subscription(
341                    self.log, ad_mt, mt_other_sub_id)
342            elif not mt_rat[1] or mt_rat[1] == "general":
343                phone_setup_voice_general_for_subscription(
344                    self.log, ad_mt, mt_other_sub_id)
345        else:
346            mt_phone_setup_func = phone_setup_voice_general_for_subscription
347
348        self.log.info("Step 3: Set up phones in desired RAT.")
349        tasks = [(mo_phone_setup_func, (self.log, ad_mo, mo_sub_id)),
350                 (mt_phone_setup_func, (self.log, ad_mt, mt_sub_id))]
351        if not multithread_func(self.log, tasks):
352            self.log.error("Phone Failed to Set Up Properly.")
353            return False
354
355        time.sleep(WAIT_TIME_ANDROID_STATE_SETTLING)
356        self.log.info("Step 4: Send %s.", msg)
357
358        if msg == "MMS":
359            for ad, current_data_sub_id, current_msg_sub_id in [
360                [ ads[0],
361                  get_default_data_sub_id(ads[0]),
362                  get_outgoing_message_sub_id(ads[0]) ],
363                [ ads[1],
364                  get_default_data_sub_id(ads[1]),
365                  get_outgoing_message_sub_id(ads[1]) ]]:
366                if current_data_sub_id != current_msg_sub_id:
367                    ad.log.warning(
368                        "Current data sub ID (%s) does not match message"
369                        " sub ID (%s). MMS should NOT be sent.",
370                        current_data_sub_id,
371                        current_msg_sub_id)
372                    expected_result = False
373
374        result = self._msim_message_test(ad_mo, ad_mt, mo_sub_id, mt_sub_id,
375            msg=msg, expected_result=expected_result)
376
377        if not result:
378            log_messaging_screen_shot(ad_mo, test_name="%s_tx" % msg)
379            log_messaging_screen_shot(ad_mt, test_name="%s_rx" % msg)
380
381        return result
382
383    @test_tracker_info(uuid="4ae61fdf-2078-4e50-ae03-cb2e9299ce8d")
384    @TelephonyBaseTest.tel_test_wrap
385    def test_msim_sms_mo_volte_psim_dds_slot_0(self):
386        return self._test_msim_message(
387            0, None, 0, mo_rat=["volte", "volte"], msg="SMS", direction="mo")
388
389    @test_tracker_info(uuid="0e8801f8-7203-45ba-aff3-cb667fd538e1")
390    @TelephonyBaseTest.tel_test_wrap
391    def test_msim_sms_mo_volte_psim_dds_slot_1(self):
392        return self._test_msim_message(
393            0, None, 1, mo_rat=["volte", "volte"], msg="SMS", direction="mo")
394
395    @test_tracker_info(uuid="d54c2b4e-2e32-49f0-9536-879eb6f6577e")
396    @TelephonyBaseTest.tel_test_wrap
397    def test_msim_sms_mt_volte_psim_dds_slot_0(self):
398        return self._test_msim_message(
399            None, 0, 0, mt_rat=["volte", "volte"], msg="SMS", direction="mt")
400
401    @test_tracker_info(uuid="feed9119-df31-46f7-afd8-addf4052422a")
402    @TelephonyBaseTest.tel_test_wrap
403    def test_msim_sms_mt_volte_psim_dds_slot_1(self):
404        return self._test_msim_message(
405            None, 0, 1, mt_rat=["volte", "volte"], msg="SMS", direction="mt")
406
407    @test_tracker_info(uuid="1da9965c-c863-4e6e-9374-a082fa16d6fd")
408    @TelephonyBaseTest.tel_test_wrap
409    def test_msim_sms_mo_volte_esim_dds_slot_0(self):
410        return self._test_msim_message(
411            1, None, 0, mo_rat=["volte", "volte"], msg="SMS", direction="mo")
412
413    @test_tracker_info(uuid="64aec600-851f-4bde-b66c-130c69d1d5b6")
414    @TelephonyBaseTest.tel_test_wrap
415    def test_msim_sms_mo_volte_esim_dds_slot_1(self):
416        return self._test_msim_message(
417            1, None, 1, mo_rat=["volte", "volte"], msg="SMS", direction="mo")
418
419    @test_tracker_info(uuid="9ce40c2c-3a59-4612-a0cc-4fcba887856c")
420    @TelephonyBaseTest.tel_test_wrap
421    def test_msim_sms_mt_volte_esim_dds_slot_0(self):
422        return self._test_msim_message(
423            None, 1, 0, mt_rat=["volte", "volte"], msg="SMS", direction="mt")
424
425    @test_tracker_info(uuid="4e46081d-733d-47d9-be4d-9e492de38bcd")
426    @TelephonyBaseTest.tel_test_wrap
427    def test_msim_sms_mt_volte_esim_dds_slot_1(self):
428        return self._test_msim_message(
429            None, 1, 1, mt_rat=["volte", "volte"], msg="SMS", direction="mt")
430
431
432
433    @test_tracker_info(uuid="5ede96ed-78b5-4cfb-94a3-44c34d610bef")
434    @TelephonyBaseTest.tel_test_wrap
435    def test_msim_sms_mo_volte_csfb_psim_dds_slot_0(self):
436        return self._test_msim_message(
437            0, None, 0, mo_rat=["volte", "csfb"], msg="SMS", direction="mo")
438
439    @test_tracker_info(uuid="ae681d36-e450-4453-88a8-e9abf4bdf723")
440    @TelephonyBaseTest.tel_test_wrap
441    def test_msim_sms_mo_volte_csfb_psim_dds_slot_1(self):
442        return self._test_msim_message(
443            0, None, 1, mo_rat=["volte", "csfb"], msg="SMS", direction="mo")
444
445    @test_tracker_info(uuid="6490abf9-7fc9-4168-ba20-7da0cb18d96e")
446    @TelephonyBaseTest.tel_test_wrap
447    def test_msim_sms_mt_volte_csfb_psim_dds_slot_0(self):
448        return self._test_msim_message(
449            None, 0, 0, mt_rat=["volte", "csfb"], msg="SMS", direction="mt")
450
451    @test_tracker_info(uuid="71590c9e-add0-4cbb-a530-07f58d26d954")
452    @TelephonyBaseTest.tel_test_wrap
453    def test_msim_sms_mt_volte_csfb_psim_dds_slot_1(self):
454        return self._test_msim_message(
455            None, 0, 1, mt_rat=["volte", "csfb"], msg="SMS", direction="mt")
456
457    @test_tracker_info(uuid="1b033914-8a26-48e0-829a-c85b5a93ce42")
458    @TelephonyBaseTest.tel_test_wrap
459    def test_msim_sms_mo_volte_csfb_esim_dds_slot_0(self):
460        return self._test_msim_message(
461            1, None, 0, mo_rat=["volte", "csfb"], msg="SMS", direction="mo")
462
463    @test_tracker_info(uuid="15ebac40-5dc3-47ee-a787-ae6f9d71aff6")
464    @TelephonyBaseTest.tel_test_wrap
465    def test_msim_sms_mo_volte_csfb_esim_dds_slot_1(self):
466        return self._test_msim_message(
467            1, None, 1, mo_rat=["volte", "csfb"], msg="SMS", direction="mo")
468
469    @test_tracker_info(uuid="b38390d2-b5ab-414b-9c61-2324395a56a6")
470    @TelephonyBaseTest.tel_test_wrap
471    def test_msim_sms_mt_volte_csfb_esim_dds_slot_0(self):
472        return self._test_msim_message(
473            None, 1, 0, mt_rat=["volte", "csfb"], msg="SMS", direction="mt")
474
475    @test_tracker_info(uuid="1c4a3a34-800a-4117-8c32-b6ec7d58a5cb")
476    @TelephonyBaseTest.tel_test_wrap
477    def test_msim_sms_mt_volte_csfb_esim_dds_slot_1(self):
478        return self._test_msim_message(
479            None, 1, 1, mt_rat=["volte", "csfb"], msg="SMS", direction="mt")
480
481
482
483
484    @test_tracker_info(uuid="c7645032-8006-448e-ae3e-86c9223482cf")
485    @TelephonyBaseTest.tel_test_wrap
486    def test_msim_sms_mo_csfb_volte_psim_dds_slot_0(self):
487        return self._test_msim_message(
488            0, None, 0, mo_rat=["csfb", "volte"], msg="SMS", direction="mo")
489
490    @test_tracker_info(uuid="a4455da1-6314-4d2e-a6eb-c7e063a5fd10")
491    @TelephonyBaseTest.tel_test_wrap
492    def test_msim_sms_mo_csfb_volte_psim_dds_slot_1(self):
493        return self._test_msim_message(
494            0, None, 1, mo_rat=["csfb", "volte"], msg="SMS", direction="mo")
495
496    @test_tracker_info(uuid="60828bcc-0111-4d97-ac01-b43ff9c33b11")
497    @TelephonyBaseTest.tel_test_wrap
498    def test_msim_sms_mt_csfb_volte_psim_dds_slot_0(self):
499        return self._test_msim_message(
500            None, 0, 0, mt_rat=["csfb", "volte"], msg="SMS", direction="mt")
501
502    @test_tracker_info(uuid="d0f04ab9-c1fe-41b1-8ffc-7bf7cbb408ea")
503    @TelephonyBaseTest.tel_test_wrap
504    def test_msim_sms_mt_csfb_volte_psim_dds_slot_1(self):
505        return self._test_msim_message(
506            None, 0, 1, mt_rat=["csfb", "volte"], msg="SMS", direction="mt")
507
508    @test_tracker_info(uuid="97ad2e6f-8b71-49d4-870c-2f4438351880")
509    @TelephonyBaseTest.tel_test_wrap
510    def test_msim_sms_mo_csfb_volte_esim_dds_slot_0(self):
511        return self._test_msim_message(
512            1, None, 0, mo_rat=["csfb", "volte"], msg="SMS", direction="mo")
513
514    @test_tracker_info(uuid="8353bce2-a800-440c-9822-a922343d0ff5")
515    @TelephonyBaseTest.tel_test_wrap
516    def test_msim_sms_mo_csfb_volte_esim_dds_slot_1(self):
517        return self._test_msim_message(
518            1, None, 1, mo_rat=["csfb", "volte"], msg="SMS", direction="mo")
519
520    @test_tracker_info(uuid="7659d23d-8cf4-4ace-8e53-b26fc2fca38c")
521    @TelephonyBaseTest.tel_test_wrap
522    def test_msim_sms_mt_csfb_volte_esim_dds_slot_0(self):
523        return self._test_msim_message(
524            None, 1, 0, mt_rat=["csfb", "volte"], msg="SMS", direction="mt")
525
526    @test_tracker_info(uuid="91577f12-4a0e-4743-82bc-1b7581a6940d")
527    @TelephonyBaseTest.tel_test_wrap
528    def test_msim_sms_mt_csfb_volte_esim_dds_slot_1(self):
529        return self._test_msim_message(
530            None, 1, 1, mt_rat=["csfb", "volte"], msg="SMS", direction="mt")
531
532
533
534
535    @test_tracker_info(uuid="a5f2c1b0-5ae7-4187-ad63-4782dc47f62b")
536    @TelephonyBaseTest.tel_test_wrap
537    def test_msim_sms_mo_volte_3g_psim_dds_slot_0(self):
538        return self._test_msim_message(
539            0, None, 0, mo_rat=["volte", "3g"], msg="SMS", direction="mo")
540
541    @test_tracker_info(uuid="0c983462-5372-4aae-a484-53da4d2b9553")
542    @TelephonyBaseTest.tel_test_wrap
543    def test_msim_sms_mo_volte_3g_psim_dds_slot_1(self):
544        return self._test_msim_message(
545            0, None, 1, mo_rat=["volte", "3g"], msg="SMS", direction="mo")
546
547    @test_tracker_info(uuid="8266aaac-9d67-42c3-9260-d80c377b1ef9")
548    @TelephonyBaseTest.tel_test_wrap
549    def test_msim_sms_mt_volte_3g_psim_dds_slot_0(self):
550        return self._test_msim_message(
551            None, 0, 0, mt_rat=["volte", "3g"], msg="SMS", direction="mt")
552
553    @test_tracker_info(uuid="d6ae749b-5e69-489e-8fda-fcb38aaa6cb0")
554    @TelephonyBaseTest.tel_test_wrap
555    def test_msim_sms_mt_volte_3g_psim_dds_slot_1(self):
556        return self._test_msim_message(
557            None, 0, 1, mt_rat=["volte", "3g"], msg="SMS", direction="mt")
558
559    @test_tracker_info(uuid="f4985e53-d530-491c-94cd-51ba22a34eff")
560    @TelephonyBaseTest.tel_test_wrap
561    def test_msim_sms_mo_volte_3g_esim_dds_slot_0(self):
562        return self._test_msim_message(
563            1, None, 0, mo_rat=["volte", "3g"], msg="SMS", direction="mo")
564
565    @test_tracker_info(uuid="b4fc2379-6937-404a-a659-249c1ccf9dd0")
566    @TelephonyBaseTest.tel_test_wrap
567    def test_msim_sms_mo_volte_3g_esim_dds_slot_1(self):
568        return self._test_msim_message(
569            1, None, 1, mo_rat=["volte", "3g"], msg="SMS", direction="mo")
570
571    @test_tracker_info(uuid="e1027a25-b19f-4fb7-bfb9-79919e380c25")
572    @TelephonyBaseTest.tel_test_wrap
573    def test_msim_sms_mt_volte_3g_esim_dds_slot_0(self):
574        return self._test_msim_message(
575            None, 1, 0, mt_rat=["volte", "3g"], msg="SMS", direction="mt")
576
577    @test_tracker_info(uuid="7cf99f83-0542-42c8-8e72-1653e381aa6c")
578    @TelephonyBaseTest.tel_test_wrap
579    def test_msim_sms_mt_volte_3g_esim_dds_slot_1(self):
580        return self._test_msim_message(
581            None, 1, 1, mt_rat=["volte", "3g"], msg="SMS", direction="mt")
582
583
584
585
586    @test_tracker_info(uuid="c1084606-a63b-41da-a0cb-2db972b6a8ce")
587    @TelephonyBaseTest.tel_test_wrap
588    def test_msim_sms_mo_3g_volte_psim_dds_slot_0(self):
589        return self._test_msim_message(
590            0, None, 0, mo_rat=["3g", "volte"], msg="SMS", direction="mo")
591
592    @test_tracker_info(uuid="4806716c-047a-4a33-a317-97d3cce5d2ca")
593    @TelephonyBaseTest.tel_test_wrap
594    def test_msim_sms_mo_3g_volte_psim_dds_slot_1(self):
595        return self._test_msim_message(
596            0, None, 1, mo_rat=["3g", "volte"], msg="SMS", direction="mo")
597
598    @test_tracker_info(uuid="2877ff0b-d567-4683-baa3-20e254ed025c")
599    @TelephonyBaseTest.tel_test_wrap
600    def test_msim_sms_mt_3g_volte_psim_dds_slot_0(self):
601        return self._test_msim_message(
602            None, 0, 0, mt_rat=["3g", "volte"], msg="SMS", direction="mt")
603
604    @test_tracker_info(uuid="6bf3ea1b-e75c-4844-a311-5a18b1b7a1b8")
605    @TelephonyBaseTest.tel_test_wrap
606    def test_msim_sms_mt_3g_volte_psim_dds_slot_1(self):
607        return self._test_msim_message(
608            None, 0, 1, mt_rat=["3g", "volte"], msg="SMS", direction="mt")
609
610    @test_tracker_info(uuid="fb7bf8b2-fa44-4e05-a0ab-16e7b1907e6b")
611    @TelephonyBaseTest.tel_test_wrap
612    def test_msim_sms_mo_3g_volte_esim_dds_slot_0(self):
613        return self._test_msim_message(
614            1, None, 0, mo_rat=["3g", "volte"], msg="SMS", direction="mo")
615
616    @test_tracker_info(uuid="d9090125-61cb-4ef5-97de-06c2ec8529bd")
617    @TelephonyBaseTest.tel_test_wrap
618    def test_msim_sms_mo_3g_volte_esim_dds_slot_1(self):
619        return self._test_msim_message(
620            1, None, 1, mo_rat=["3g", "volte"], msg="SMS", direction="mo")
621
622    @test_tracker_info(uuid="d764c5ea-a34a-4b29-ab50-63bd63ebe5c4")
623    @TelephonyBaseTest.tel_test_wrap
624    def test_msim_sms_mt_3g_volte_esim_dds_slot_0(self):
625        return self._test_msim_message(
626            None, 1, 0, mt_rat=["3g", "volte"], msg="SMS", direction="mt")
627
628    @test_tracker_info(uuid="fe7d2f8c-eeb6-4ae9-a57d-1636d3153d2b")
629    @TelephonyBaseTest.tel_test_wrap
630    def test_msim_sms_mt_3g_volte_esim_dds_slot_1(self):
631        return self._test_msim_message(
632            None, 1, 1, mt_rat=["3g", "volte"], msg="SMS", direction="mt")
633
634
635
636    @test_tracker_info(uuid="b9a5cb40-4986-4811-90e7-628d1729ccb2")
637    @TelephonyBaseTest.tel_test_wrap
638    def test_msim_sms_mo_csfb_psim_dds_slot_0(self):
639        return self._test_msim_message(
640            0, None, 0, mo_rat=["csfb", "csfb"], msg="SMS", direction="mo")
641
642    @test_tracker_info(uuid="220665c1-4c63-4450-b8bb-17fc6df24498")
643    @TelephonyBaseTest.tel_test_wrap
644    def test_msim_sms_mo_csfb_psim_dds_slot_1(self):
645        return self._test_msim_message(
646            0, None, 1, mo_rat=["csfb", "csfb"], msg="SMS", direction="mo")
647
648    @test_tracker_info(uuid="968217a6-320f-41f0-b401-7c377309d983")
649    @TelephonyBaseTest.tel_test_wrap
650    def test_msim_sms_mt_csfb_psim_dds_slot_0(self):
651        return self._test_msim_message(
652            None, 0, 0, mt_rat=["csfb", "csfb"], msg="SMS", direction="mt")
653
654    @test_tracker_info(uuid="c6a5bf63-af40-4619-a0eb-0d1835fde36c")
655    @TelephonyBaseTest.tel_test_wrap
656    def test_msim_sms_mt_csfb_psim_dds_slot_1(self):
657        return self._test_msim_message(
658            None, 0, 1, mt_rat=["csfb", "csfb"], msg="SMS", direction="mt")
659
660    @test_tracker_info(uuid="ea9f4e72-0dea-4f5f-b5ff-4a0bad0d29a0")
661    @TelephonyBaseTest.tel_test_wrap
662    def test_msim_sms_mo_csfb_esim_dds_slot_0(self):
663        return self._test_msim_message(
664            1, None, 0, mo_rat=["csfb", "csfb"], msg="SMS", direction="mo")
665
666    @test_tracker_info(uuid="4eb935f0-2b11-4b2d-8faa-9a022e36813a")
667    @TelephonyBaseTest.tel_test_wrap
668    def test_msim_sms_mo_csfb_esim_dds_slot_1(self):
669        return self._test_msim_message(
670            1, None, 1, mo_rat=["csfb", "csfb"], msg="SMS", direction="mo")
671
672    @test_tracker_info(uuid="765e31fd-b412-43a8-a6a8-5d3ae66cab18")
673    @TelephonyBaseTest.tel_test_wrap
674    def test_msim_sms_mt_csfb_esim_dds_slot_0(self):
675        return self._test_msim_message(
676            None, 1, 0, mt_rat=["csfb", "csfb"], msg="SMS", direction="mt")
677
678    @test_tracker_info(uuid="bc6ada03-6a5e-4fe7-80c4-3aebc9fa426f")
679    @TelephonyBaseTest.tel_test_wrap
680    def test_msim_sms_mt_csfb_esim_dds_slot_1(self):
681        return self._test_msim_message(
682            None, 1, 1, mt_rat=["csfb", "csfb"], msg="SMS", direction="mt")
683
684
685
686
687    @test_tracker_info(uuid="a42994d0-bdb3-487e-98f2-665899d3edba")
688    @TelephonyBaseTest.tel_test_wrap
689    def test_msim_sms_mo_csfb_3g_psim_dds_slot_0(self):
690        return self._test_msim_message(
691            0, None, 0, mo_rat=["csfb", "3g"], msg="SMS", direction="mo")
692
693    @test_tracker_info(uuid="d8ef0ac8-9cb1-4f32-8211-84dee563af00")
694    @TelephonyBaseTest.tel_test_wrap
695    def test_msim_sms_mo_csfb_3g_psim_dds_slot_1(self):
696        return self._test_msim_message(
697            0, None, 1, mo_rat=["csfb", "3g"], msg="SMS", direction="mo")
698
699    @test_tracker_info(uuid="f4eb2254-5148-4cf9-b53f-56d8665de645")
700    @TelephonyBaseTest.tel_test_wrap
701    def test_msim_sms_mt_csfb_3g_psim_dds_slot_0(self):
702        return self._test_msim_message(
703            None, 0, 0, mt_rat=["csfb", "3g"], msg="SMS", direction="mt")
704
705    @test_tracker_info(uuid="fd546290-f7e7-47ff-b165-a9bb01e91c64")
706    @TelephonyBaseTest.tel_test_wrap
707    def test_msim_sms_mt_csfb_3g_psim_dds_slot_1(self):
708        return self._test_msim_message(
709            None, 0, 1, mt_rat=["csfb", "3g"], msg="SMS", direction="mt")
710
711    @test_tracker_info(uuid="d6994024-e845-48e2-9cd6-d72e97480a8a")
712    @TelephonyBaseTest.tel_test_wrap
713    def test_msim_sms_mo_csfb_3g_esim_dds_slot_0(self):
714        return self._test_msim_message(
715            1, None, 0, mo_rat=["csfb", "3g"], msg="SMS", direction="mo")
716
717    @test_tracker_info(uuid="c816165e-49d8-4d0a-8bb5-e64ad910a55a")
718    @TelephonyBaseTest.tel_test_wrap
719    def test_msim_sms_mo_csfb_3g_esim_dds_slot_1(self):
720        return self._test_msim_message(
721            1, None, 1, mo_rat=["csfb", "3g"], msg="SMS", direction="mo")
722
723    @test_tracker_info(uuid="647d546f-b325-4b91-be84-0bedf5a33210")
724    @TelephonyBaseTest.tel_test_wrap
725    def test_msim_sms_mt_csfb_3g_esim_dds_slot_0(self):
726        return self._test_msim_message(
727            None, 1, 0, mt_rat=["csfb", "3g"], msg="SMS", direction="mt")
728
729    @test_tracker_info(uuid="98b7e161-4953-4566-a96c-21545bf05e51")
730    @TelephonyBaseTest.tel_test_wrap
731    def test_msim_sms_mt_csfb_3g_esim_dds_slot_1(self):
732        return self._test_msim_message(
733            None, 1, 1, mt_rat=["csfb", "3g"], msg="SMS", direction="mt")
734
735
736
737
738    @test_tracker_info(uuid="9a3d1330-e70e-4ac0-a8bc-fec5710a8dcd")
739    @TelephonyBaseTest.tel_test_wrap
740    def test_msim_sms_mo_3g_csfb_psim_dds_slot_0(self):
741        return self._test_msim_message(
742            0, None, 0, mo_rat=["3g", "csfb"], msg="SMS", direction="mo")
743
744    @test_tracker_info(uuid="51b4edd3-a867-409e-b367-2fd8cf0eb4a6")
745    @TelephonyBaseTest.tel_test_wrap
746    def test_msim_sms_mo_3g_csfb_psim_dds_slot_1(self):
747        return self._test_msim_message(
748            0, None, 1, mo_rat=["3g", "csfb"], msg="SMS", direction="mo")
749
750    @test_tracker_info(uuid="dba9cb2b-84bd-47db-a5a6-826e54a1bbeb")
751    @TelephonyBaseTest.tel_test_wrap
752    def test_msim_sms_mt_3g_csfb_psim_dds_slot_0(self):
753        return self._test_msim_message(
754            None, 0, 0, mt_rat=["3g", "csfb"], msg="SMS", direction="mt")
755
756    @test_tracker_info(uuid="263494aa-f3c4-450e-b5bf-b9331d9c9dd8")
757    @TelephonyBaseTest.tel_test_wrap
758    def test_msim_sms_mt_3g_csfb_psim_dds_slot_1(self):
759        return self._test_msim_message(
760            None, 0, 1, mt_rat=["3g", "csfb"], msg="SMS", direction="mt")
761
762    @test_tracker_info(uuid="7ba231b8-edc9-4f64-ba7e-5f0360c4eed5")
763    @TelephonyBaseTest.tel_test_wrap
764    def test_msim_sms_mo_3g_csfb_esim_dds_slot_0(self):
765        return self._test_msim_message(
766            1, None, 0, mo_rat=["3g", "csfb"], msg="SMS", direction="mo")
767
768    @test_tracker_info(uuid="ca1e9c35-07f2-4e32-8a59-61efc37f11a4")
769    @TelephonyBaseTest.tel_test_wrap
770    def test_msim_sms_mo_3g_csfb_esim_dds_slot_1(self):
771        return self._test_msim_message(
772            1, None, 1, mo_rat=["3g", "csfb"], msg="SMS", direction="mo")
773
774    @test_tracker_info(uuid="f19252c0-8ff6-4267-adcd-f676407333e6")
775    @TelephonyBaseTest.tel_test_wrap
776    def test_msim_sms_mt_3g_csfb_esim_dds_slot_0(self):
777        return self._test_msim_message(
778            None, 1, 0, mt_rat=["3g", "csfb"], msg="SMS", direction="mt")
779
780    @test_tracker_info(uuid="34ef2001-d80d-4818-b458-1e8a9556e5cd")
781    @TelephonyBaseTest.tel_test_wrap
782    def test_msim_sms_mt_3g_csfb_esim_dds_slot_1(self):
783        return self._test_msim_message(
784            None, 1, 1, mt_rat=["3g", "csfb"], msg="SMS", direction="mt")
785
786
787
788
789    @test_tracker_info(uuid="947ceba7-9aeb-402c-ba36-4856bc4352eb")
790    @TelephonyBaseTest.tel_test_wrap
791    def test_msim_sms_mo_3g_psim_dds_slot_0(self):
792        return self._test_msim_message(
793            0, None, 0, mo_rat=["3g", "3g"], msg="SMS", direction="mo")
794
795    @test_tracker_info(uuid="9f9677e1-1215-49ed-a671-22e7779659a9")
796    @TelephonyBaseTest.tel_test_wrap
797    def test_msim_sms_mo_3g_psim_dds_slot_1(self):
798        return self._test_msim_message(
799            0, None, 1, mo_rat=["3g", "3g"], msg="SMS", direction="mo")
800
801    @test_tracker_info(uuid="f77112c8-85e8-4584-a0b7-bba11c23be7d")
802    @TelephonyBaseTest.tel_test_wrap
803    def test_msim_sms_mt_3g_psim_dds_slot_0(self):
804        return self._test_msim_message(
805            None, 0, 0, mt_rat=["3g", "3g"], msg="SMS", direction="mt")
806
807    @test_tracker_info(uuid="facc19fd-7846-488e-9cf1-755f81d0fee2")
808    @TelephonyBaseTest.tel_test_wrap
809    def test_msim_sms_mt_3g_psim_dds_slot_1(self):
810        return self._test_msim_message(
811            None, 0, 1, mt_rat=["3g", "3g"], msg="SMS", direction="mt")
812
813    @test_tracker_info(uuid="5a26f35e-c038-409e-8941-7e0b475ebda8")
814    @TelephonyBaseTest.tel_test_wrap
815    def test_msim_sms_mo_3g_esim_dds_slot_0(self):
816        return self._test_msim_message(
817            1, None, 0, mo_rat=["3g", "3g"], msg="SMS", direction="mo")
818
819    @test_tracker_info(uuid="c303aa26-0fd0-44d7-b2fc-32782deaf5ea")
820    @TelephonyBaseTest.tel_test_wrap
821    def test_msim_sms_mo_3g_esim_dds_slot_1(self):
822        return self._test_msim_message(
823            1, None, 1, mo_rat=["3g", "3g"], msg="SMS", direction="mo")
824
825    @test_tracker_info(uuid="45cbddd3-889d-46ab-8d7f-9dd971287155")
826    @TelephonyBaseTest.tel_test_wrap
827    def test_msim_sms_mt_3g_esim_dds_slot_0(self):
828        return self._test_msim_message(
829            None, 1, 0, mt_rat=["3g", "3g"], msg="SMS", direction="mt")
830
831    @test_tracker_info(uuid="7dacd6b2-9d21-4c4d-bec4-fdfe685cdce8")
832    @TelephonyBaseTest.tel_test_wrap
833    def test_msim_sms_mt_3g_esim_dds_slot_1(self):
834        return self._test_msim_message(
835            None, 1, 1, mt_rat=["3g", "3g"], msg="SMS", direction="mt")
836
837
838
839
840    @test_tracker_info(uuid="24268e9f-b047-4c67-92f9-22e0bd8b3a11")
841    @TelephonyBaseTest.tel_test_wrap
842    def test_msim_mms_mo_volte_psim_dds_slot_0(self):
843        return self._test_msim_message(
844            0, None, 0, mo_rat=["volte", "volte"], msg="MMS", direction="mo")
845
846    @test_tracker_info(uuid="1d72b01d-5ca7-4899-ae57-ecbeff09bc39")
847    @TelephonyBaseTest.tel_test_wrap
848    def test_msim_mms_mo_volte_psim_dds_slot_1(self):
849        return self._test_msim_message(
850            0, None, 1, mo_rat=["volte", "volte"], msg="MMS", direction="mo")
851
852    @test_tracker_info(uuid="ca2ad510-7f5e-49e4-861e-d433f86c2237")
853    @TelephonyBaseTest.tel_test_wrap
854    def test_msim_mms_mt_volte_psim_dds_slot_0(self):
855        return self._test_msim_message(
856            None, 0, 0, mt_rat=["volte", "volte"], msg="MMS", direction="mt")
857
858    @test_tracker_info(uuid="63a0480a-18dd-43e5-82e9-45e008346ea9")
859    @TelephonyBaseTest.tel_test_wrap
860    def test_msim_mms_mt_volte_psim_dds_slot_1(self):
861        return self._test_msim_message(
862            None, 0, 1, mt_rat=["volte", "volte"], msg="MMS", direction="mt")
863
864    @test_tracker_info(uuid="5e51f0d9-f1b6-4bfe-88ab-f28ebaa6ee55")
865    @TelephonyBaseTest.tel_test_wrap
866    def test_msim_mms_mo_volte_esim_dds_slot_0(self):
867        return self._test_msim_message(
868            1, None, 0, mo_rat=["volte", "volte"], msg="MMS", direction="mo")
869
870    @test_tracker_info(uuid="fcc7e8aa-41a4-48a1-9586-d6080c77a79b")
871    @TelephonyBaseTest.tel_test_wrap
872    def test_msim_mms_mo_volte_esim_dds_slot_1(self):
873        return self._test_msim_message(
874            1, None, 1, mo_rat=["volte", "volte"], msg="MMS", direction="mo")
875
876    @test_tracker_info(uuid="f633bf56-2d15-462b-994d-e9294d87ca23")
877    @TelephonyBaseTest.tel_test_wrap
878    def test_msim_mms_mt_volte_esim_dds_slot_0(self):
879        return self._test_msim_message(
880            None, 1, 0, mt_rat=["volte", "volte"], msg="MMS", direction="mt")
881
882    @test_tracker_info(uuid="3c336061-32cf-4e9a-bb1e-b54e3357e644")
883    @TelephonyBaseTest.tel_test_wrap
884    def test_msim_mms_mt_volte_esim_dds_slot_1(self):
885        return self._test_msim_message(
886            None, 1, 1, mt_rat=["volte", "volte"], msg="MMS", direction="mt")
887
888
889
890    @test_tracker_info(uuid="50ee8103-0196-4194-b982-9d07c68e57e4")
891    @TelephonyBaseTest.tel_test_wrap
892    def test_msim_mms_mo_volte_csfb_psim_dds_slot_0(self):
893        return self._test_msim_message(
894            0, None, 0, mo_rat=["volte", "csfb"], msg="MMS", direction="mo")
895
896    @test_tracker_info(uuid="ec09405d-b12d-405c-9bfd-ba3eb20eb752")
897    @TelephonyBaseTest.tel_test_wrap
898    def test_msim_mms_mo_volte_csfb_psim_dds_slot_1(self):
899        return self._test_msim_message(
900            0, None, 1, mo_rat=["volte", "csfb"], msg="MMS", direction="mo")
901
902    @test_tracker_info(uuid="26bea731-b653-4e9f-98d1-1b290b959bfc")
903    @TelephonyBaseTest.tel_test_wrap
904    def test_msim_mms_mt_volte_csfb_psim_dds_slot_0(self):
905        return self._test_msim_message(
906            None, 0, 0, mt_rat=["volte", "csfb"], msg="MMS", direction="mt")
907
908    @test_tracker_info(uuid="ecc010da-1798-4da3-b041-13e2b2547548")
909    @TelephonyBaseTest.tel_test_wrap
910    def test_msim_mms_mt_volte_csfb_psim_dds_slot_1(self):
911        return self._test_msim_message(
912            None, 0, 1, mt_rat=["volte", "csfb"], msg="MMS", direction="mt")
913
914    @test_tracker_info(uuid="cf4c5bd0-525a-497a-a0f8-17acd9dbeabd")
915    @TelephonyBaseTest.tel_test_wrap
916    def test_msim_mms_mo_volte_csfb_esim_dds_slot_0(self):
917        return self._test_msim_message(
918            1, None, 0, mo_rat=["volte", "csfb"], msg="MMS", direction="mo")
919
920    @test_tracker_info(uuid="603f22db-913b-4ad3-b148-7c6d3624bc09")
921    @TelephonyBaseTest.tel_test_wrap
922    def test_msim_mms_mo_volte_csfb_esim_dds_slot_1(self):
923        return self._test_msim_message(
924            1, None, 1, mo_rat=["volte", "csfb"], msg="MMS", direction="mo")
925
926    @test_tracker_info(uuid="561efaf1-7fe4-4196-991e-d03eee28fb4e")
927    @TelephonyBaseTest.tel_test_wrap
928    def test_msim_mms_mt_volte_csfb_esim_dds_slot_0(self):
929        return self._test_msim_message(
930            None, 1, 0, mt_rat=["volte", "csfb"], msg="MMS", direction="mt")
931
932    @test_tracker_info(uuid="6f383ef0-d99a-4a3d-b137-e24fa03306b9")
933    @TelephonyBaseTest.tel_test_wrap
934    def test_msim_mms_mt_volte_csfb_esim_dds_slot_1(self):
935        return self._test_msim_message(
936            None, 1, 1, mt_rat=["volte", "csfb"], msg="MMS", direction="mt")
937
938
939
940
941    @test_tracker_info(uuid="eeaa1262-c2a0-4f47-baa5-7435fa9e9315")
942    @TelephonyBaseTest.tel_test_wrap
943    def test_msim_mms_mo_csfb_volte_psim_dds_slot_0(self):
944        return self._test_msim_message(
945            0, None, 0, mo_rat=["csfb", "volte"], msg="MMS", direction="mo")
946
947    @test_tracker_info(uuid="478f5497-cc21-4634-8b97-df70dbe286c0")
948    @TelephonyBaseTest.tel_test_wrap
949    def test_msim_mms_mo_csfb_volte_psim_dds_slot_1(self):
950        return self._test_msim_message(
951            0, None, 1, mo_rat=["csfb", "volte"], msg="MMS", direction="mo")
952
953    @test_tracker_info(uuid="1c4af9c6-87d6-438c-aba7-70d8bb4b357e")
954    @TelephonyBaseTest.tel_test_wrap
955    def test_msim_mms_mt_csfb_volte_psim_dds_slot_0(self):
956        return self._test_msim_message(
957            None, 0, 0, mt_rat=["csfb", "volte"], msg="MMS", direction="mt")
958
959    @test_tracker_info(uuid="825daee3-db6c-404a-a454-cea98182bf5a")
960    @TelephonyBaseTest.tel_test_wrap
961    def test_msim_mms_mt_csfb_volte_psim_dds_slot_1(self):
962        return self._test_msim_message(
963            None, 0, 1, mt_rat=["csfb", "volte"], msg="MMS", direction="mt")
964
965    @test_tracker_info(uuid="50fe9f3e-eae1-4a01-8655-02340f85037a")
966    @TelephonyBaseTest.tel_test_wrap
967    def test_msim_mms_mo_csfb_volte_esim_dds_slot_0(self):
968        return self._test_msim_message(
969            1, None, 0, mo_rat=["csfb", "volte"], msg="MMS", direction="mo")
970
971    @test_tracker_info(uuid="bae89139-f73f-4a06-bb65-a0bae385fae9")
972    @TelephonyBaseTest.tel_test_wrap
973    def test_msim_mms_mo_csfb_volte_esim_dds_slot_1(self):
974        return self._test_msim_message(
975            1, None, 1, mo_rat=["csfb", "volte"], msg="MMS", direction="mo")
976
977    @test_tracker_info(uuid="42e897e3-4411-45a0-bf62-3ea6f59c2617")
978    @TelephonyBaseTest.tel_test_wrap
979    def test_msim_mms_mt_csfb_volte_esim_dds_slot_0(self):
980        return self._test_msim_message(
981            None, 1, 0, mt_rat=["csfb", "volte"], msg="MMS", direction="mt")
982
983    @test_tracker_info(uuid="9847b0c8-517e-42ea-9306-8a4a1cd46cd8")
984    @TelephonyBaseTest.tel_test_wrap
985    def test_msim_mms_mt_csfb_volte_esim_dds_slot_1(self):
986        return self._test_msim_message(
987            None, 1, 1, mt_rat=["csfb", "volte"], msg="MMS", direction="mt")
988
989
990
991    @test_tracker_info(uuid="5057f8e4-19e7-42c0-bc63-1678d8ce1504")
992    @TelephonyBaseTest.tel_test_wrap
993    def test_msim_mms_mo_volte_3g_psim_dds_slot_0(self):
994        return self._test_msim_message(
995            0, None, 0, mo_rat=["volte", "3g"], msg="MMS", direction="mo")
996
997    @test_tracker_info(uuid="52bb44ae-0263-4415-8a61-337a8f990f8b")
998    @TelephonyBaseTest.tel_test_wrap
999    def test_msim_mms_mo_volte_3g_psim_dds_slot_1(self):
1000        return self._test_msim_message(
1001            0, None, 1, mo_rat=["volte", "3g"], msg="MMS", direction="mo")
1002
1003    @test_tracker_info(uuid="deb00e73-b63a-4ed8-8b7f-953704b5d783")
1004    @TelephonyBaseTest.tel_test_wrap
1005    def test_msim_mms_mt_volte_3g_psim_dds_slot_0(self):
1006        return self._test_msim_message(
1007            None, 0, 0, mt_rat=["volte", "3g"], msg="MMS", direction="mt")
1008
1009    @test_tracker_info(uuid="e0aa9846-2c02-4ba1-aeef-08a673c497ae")
1010    @TelephonyBaseTest.tel_test_wrap
1011    def test_msim_mms_mt_volte_3g_psim_dds_slot_1(self):
1012        return self._test_msim_message(
1013            None, 0, 1, mt_rat=["volte", "3g"], msg="MMS", direction="mt")
1014
1015    @test_tracker_info(uuid="ef06ae23-6f52-4c3b-b228-5c95ed780cd2")
1016    @TelephonyBaseTest.tel_test_wrap
1017    def test_msim_mms_mo_volte_3g_esim_dds_slot_0(self):
1018        return self._test_msim_message(
1019            1, None, 0, mo_rat=["volte", "3g"], msg="MMS", direction="mo")
1020
1021    @test_tracker_info(uuid="69a62cd6-290b-4e58-81ff-0b35ac82262c")
1022    @TelephonyBaseTest.tel_test_wrap
1023    def test_msim_mms_mo_volte_3g_esim_dds_slot_1(self):
1024        return self._test_msim_message(
1025            1, None, 1, mo_rat=["volte", "3g"], msg="MMS", direction="mo")
1026
1027    @test_tracker_info(uuid="645cef41-ddf8-49b4-8a58-2da019883f32")
1028    @TelephonyBaseTest.tel_test_wrap
1029    def test_msim_mms_mt_volte_3g_esim_dds_slot_0(self):
1030        return self._test_msim_message(
1031            None, 1, 0, mt_rat=["volte", "3g"], msg="MMS", direction="mt")
1032
1033    @test_tracker_info(uuid="b0b8aac3-cc85-47d9-828a-8016138fe466")
1034    @TelephonyBaseTest.tel_test_wrap
1035    def test_msim_mms_mt_volte_3g_esim_dds_slot_1(self):
1036        return self._test_msim_message(
1037            None, 1, 1, mt_rat=["volte", "3g"], msg="MMS", direction="mt")
1038
1039
1040
1041
1042    @test_tracker_info(uuid="1dcebefb-3338-4550-96fa-07b64493db1c")
1043    @TelephonyBaseTest.tel_test_wrap
1044    def test_msim_mms_mo_3g_volte_psim_dds_slot_0(self):
1045        return self._test_msim_message(
1046            0, None, 0, mo_rat=["3g", "volte"], msg="MMS", direction="mo")
1047
1048    @test_tracker_info(uuid="3d06854e-5b86-46fb-9ca2-a217b026733d")
1049    @TelephonyBaseTest.tel_test_wrap
1050    def test_msim_mms_mo_3g_volte_psim_dds_slot_1(self):
1051        return self._test_msim_message(
1052            0, None, 1, mo_rat=["3g", "volte"], msg="MMS", direction="mo")
1053
1054    @test_tracker_info(uuid="0c0f72bc-4076-411d-8a8d-fc6ae414a73a")
1055    @TelephonyBaseTest.tel_test_wrap
1056    def test_msim_mms_mt_3g_volte_psim_dds_slot_0(self):
1057        return self._test_msim_message(
1058            None, 0, 0, mt_rat=["3g", "volte"], msg="MMS", direction="mt")
1059
1060    @test_tracker_info(uuid="b63211fa-baf0-4dff-bd18-d7f80e85e551")
1061    @TelephonyBaseTest.tel_test_wrap
1062    def test_msim_mms_mt_3g_volte_psim_dds_slot_1(self):
1063        return self._test_msim_message(
1064            None, 0, 1, mt_rat=["3g", "volte"], msg="MMS", direction="mt")
1065
1066    @test_tracker_info(uuid="80c2fe4d-e87a-45d7-9b83-23863e75cd94")
1067    @TelephonyBaseTest.tel_test_wrap
1068    def test_msim_mms_mo_3g_volte_esim_dds_slot_0(self):
1069        return self._test_msim_message(
1070            1, None, 0, mo_rat=["3g", "volte"], msg="MMS", direction="mo")
1071
1072    @test_tracker_info(uuid="84be29a1-0b29-4785-baaa-6cf84c503fa6")
1073    @TelephonyBaseTest.tel_test_wrap
1074    def test_msim_mms_mo_3g_volte_esim_dds_slot_1(self):
1075        return self._test_msim_message(
1076            1, None, 1, mo_rat=["3g", "volte"], msg="MMS", direction="mo")
1077
1078    @test_tracker_info(uuid="591d2948-2257-4a46-8ccb-5c628d85fc43")
1079    @TelephonyBaseTest.tel_test_wrap
1080    def test_msim_mms_mt_3g_volte_esim_dds_slot_0(self):
1081        return self._test_msim_message(
1082            None, 1, 0, mt_rat=["3g", "volte"], msg="MMS", direction="mt")
1083
1084    @test_tracker_info(uuid="67e4dae5-8ca5-475f-af0e-f91b89df68ed")
1085    @TelephonyBaseTest.tel_test_wrap
1086    def test_msim_mms_mt_3g_volte_esim_dds_slot_1(self):
1087        return self._test_msim_message(
1088            None, 1, 1, mt_rat=["3g", "volte"], msg="MMS", direction="mt")
1089
1090
1091
1092
1093    @test_tracker_info(uuid="35d33d3e-f618-4ce1-8b40-3dac0ef2731a")
1094    @TelephonyBaseTest.tel_test_wrap
1095    def test_msim_mms_mo_csfb_psim_dds_slot_0(self):
1096        return self._test_msim_message(
1097            0, None, 0, mo_rat=["csfb", "csfb"], msg="MMS", direction="mo")
1098
1099    @test_tracker_info(uuid="179e49c7-7066-4285-9b5b-3ef639d8c5e4")
1100    @TelephonyBaseTest.tel_test_wrap
1101    def test_msim_mms_mo_csfb_psim_dds_slot_1(self):
1102        return self._test_msim_message(
1103            0, None, 1, mo_rat=["csfb", "csfb"], msg="MMS", direction="mo")
1104
1105    @test_tracker_info(uuid="09d6954f-d760-47e5-8667-3ed317fdbfbc")
1106    @TelephonyBaseTest.tel_test_wrap
1107    def test_msim_mms_mt_csfb_psim_dds_slot_0(self):
1108        return self._test_msim_message(
1109            None, 0, 0, mt_rat=["csfb", "csfb"], msg="MMS", direction="mt")
1110
1111    @test_tracker_info(uuid="80f8c18f-2bd6-4310-be39-472d7a24e08a")
1112    @TelephonyBaseTest.tel_test_wrap
1113    def test_msim_mms_mt_csfb_psim_dds_slot_1(self):
1114        return self._test_msim_message(
1115            None, 0, 1, mt_rat=["csfb", "csfb"], msg="MMS", direction="mt")
1116
1117    @test_tracker_info(uuid="b700d261-7616-4226-95cc-59ec54cc2678")
1118    @TelephonyBaseTest.tel_test_wrap
1119    def test_msim_mms_mo_csfb_esim_dds_slot_0(self):
1120        return self._test_msim_message(
1121            1, None, 0, mo_rat=["csfb", "csfb"], msg="MMS", direction="mo")
1122
1123    @test_tracker_info(uuid="5cb2cc81-bf3e-4025-b85b-2bf1a4797e41")
1124    @TelephonyBaseTest.tel_test_wrap
1125    def test_msim_mms_mo_csfb_esim_dds_slot_1(self):
1126        return self._test_msim_message(
1127            1, None, 1, mo_rat=["csfb", "csfb"], msg="MMS", direction="mo")
1128
1129    @test_tracker_info(uuid="1af2ac12-4d2d-4a36-8c46-8b3013eadab2")
1130    @TelephonyBaseTest.tel_test_wrap
1131    def test_msim_mms_mt_csfb_esim_dds_slot_0(self):
1132        return self._test_msim_message(
1133            None, 1, 0, mt_rat=["csfb", "csfb"], msg="MMS", direction="mt")
1134
1135    @test_tracker_info(uuid="66d8108e-8dd9-42e3-b2cd-49a538beecf6")
1136    @TelephonyBaseTest.tel_test_wrap
1137    def test_msim_mms_mt_csfb_esim_dds_slot_1(self):
1138        return self._test_msim_message(
1139            None, 1, 1, mt_rat=["csfb", "csfb"], msg="MMS", direction="mt")
1140
1141
1142
1143
1144    @test_tracker_info(uuid="a35df875-72eb-43d7-874c-a7b3f0aea2a9")
1145    @TelephonyBaseTest.tel_test_wrap
1146    def test_msim_mms_mo_csfb_3g_psim_dds_slot_0(self):
1147        return self._test_msim_message(
1148            0, None, 0, mo_rat=["csfb", "3g"], msg="MMS", direction="mo")
1149
1150    @test_tracker_info(uuid="cf718bda-75d6-4906-a33e-110610b01d4d")
1151    @TelephonyBaseTest.tel_test_wrap
1152    def test_msim_mms_mo_csfb_3g_psim_dds_slot_1(self):
1153        return self._test_msim_message(
1154            0, None, 1, mo_rat=["csfb", "3g"], msg="MMS", direction="mo")
1155
1156    @test_tracker_info(uuid="342cbc1a-7151-425c-9bd6-81808a5eb7e6")
1157    @TelephonyBaseTest.tel_test_wrap
1158    def test_msim_mms_mt_csfb_3g_psim_dds_slot_0(self):
1159        return self._test_msim_message(
1160            None, 0, 0, mt_rat=["csfb", "3g"], msg="MMS", direction="mt")
1161
1162    @test_tracker_info(uuid="01e33aa4-27a9-48fd-b9e8-313980d06b0d")
1163    @TelephonyBaseTest.tel_test_wrap
1164    def test_msim_mms_mt_csfb_3g_psim_dds_slot_1(self):
1165        return self._test_msim_message(
1166            None, 0, 1, mt_rat=["csfb", "3g"], msg="MMS", direction="mt")
1167
1168    @test_tracker_info(uuid="fe527335-731e-49a5-a07e-f4999c536153")
1169    @TelephonyBaseTest.tel_test_wrap
1170    def test_msim_mms_mo_csfb_3g_esim_dds_slot_0(self):
1171        return self._test_msim_message(
1172            1, None, 0, mo_rat=["csfb", "3g"], msg="MMS", direction="mo")
1173
1174    @test_tracker_info(uuid="1c56f866-3b3c-45c0-9c13-face44246aca")
1175    @TelephonyBaseTest.tel_test_wrap
1176    def test_msim_mms_mo_csfb_3g_esim_dds_slot_1(self):
1177        return self._test_msim_message(
1178            1, None, 1, mo_rat=["csfb", "3g"], msg="MMS", direction="mo")
1179
1180    @test_tracker_info(uuid="4affd77a-afdc-4ac9-ba8a-a3599efe1e96")
1181    @TelephonyBaseTest.tel_test_wrap
1182    def test_msim_mms_mt_csfb_3g_esim_dds_slot_0(self):
1183        return self._test_msim_message(
1184            None, 1, 0, mt_rat=["csfb", "3g"], msg="MMS", direction="mt")
1185
1186    @test_tracker_info(uuid="8440c05e-28d9-45c7-b32e-127f240d12f0")
1187    @TelephonyBaseTest.tel_test_wrap
1188    def test_msim_mms_mt_csfb_3g_esim_dds_slot_1(self):
1189        return self._test_msim_message(
1190            None, 1, 1, mt_rat=["csfb", "3g"], msg="MMS", direction="mt")
1191
1192
1193
1194    @test_tracker_info(uuid="a53ebb84-945e-4068-a78a-fd78362e8073")
1195    @TelephonyBaseTest.tel_test_wrap
1196    def test_msim_mms_mo_3g_csfb_psim_dds_slot_0(self):
1197        return self._test_msim_message(
1198            0, None, 0, mo_rat=["3g", "csfb"], msg="MMS", direction="mo")
1199
1200    @test_tracker_info(uuid="23bedcbc-7c09-430d-a162-04de75244fd8")
1201    @TelephonyBaseTest.tel_test_wrap
1202    def test_msim_mms_mo_3g_csfb_psim_dds_slot_1(self):
1203        return self._test_msim_message(
1204            0, None, 1, mo_rat=["3g", "csfb"], msg="MMS", direction="mo")
1205
1206    @test_tracker_info(uuid="e1e1ef53-d91b-4b10-9bd6-e065ca48ab94")
1207    @TelephonyBaseTest.tel_test_wrap
1208    def test_msim_mms_mt_3g_csfb_psim_dds_slot_0(self):
1209        return self._test_msim_message(
1210            None, 0, 0, mt_rat=["3g", "csfb"], msg="MMS", direction="mt")
1211
1212    @test_tracker_info(uuid="e813ae3b-b875-43f6-a055-d2119cec9786")
1213    @TelephonyBaseTest.tel_test_wrap
1214    def test_msim_mms_mt_3g_csfb_psim_dds_slot_1(self):
1215        return self._test_msim_message(
1216            None, 0, 1, mt_rat=["3g", "csfb"], msg="MMS", direction="mt")
1217
1218    @test_tracker_info(uuid="d5863aab-a46a-4363-8bf8-5dcfc29a9055")
1219    @TelephonyBaseTest.tel_test_wrap
1220    def test_msim_mms_mo_3g_csfb_esim_dds_slot_0(self):
1221        return self._test_msim_message(
1222            1, None, 0, mo_rat=["3g", "csfb"], msg="MMS", direction="mo")
1223
1224    @test_tracker_info(uuid="79a0bd58-0de0-471e-9e53-9cc655700428")
1225    @TelephonyBaseTest.tel_test_wrap
1226    def test_msim_mms_mo_3g_csfb_esim_dds_slot_1(self):
1227        return self._test_msim_message(
1228            1, None, 1, mo_rat=["3g", "csfb"], msg="MMS", direction="mo")
1229
1230    @test_tracker_info(uuid="e9a340f4-22a7-4786-bb5b-370295324d5a")
1231    @TelephonyBaseTest.tel_test_wrap
1232    def test_msim_mms_mt_3g_csfb_esim_dds_slot_0(self):
1233        return self._test_msim_message(
1234            None, 1, 0, mt_rat=["3g", "csfb"], msg="MMS", direction="mt")
1235
1236    @test_tracker_info(uuid="8a261b43-2532-4c47-ac0c-3a5dd0d51b69")
1237    @TelephonyBaseTest.tel_test_wrap
1238    def test_msim_mms_mt_3g_csfb_esim_dds_slot_1(self):
1239        return self._test_msim_message(
1240            None, 1, 1, mt_rat=["3g", "csfb"], msg="MMS", direction="mt")
1241
1242
1243
1244
1245    @test_tracker_info(uuid="2efdf7da-d2ec-4580-a164-5f7b740f9ac6")
1246    @TelephonyBaseTest.tel_test_wrap
1247    def test_msim_mms_mo_3g_psim_dds_slot_0(self):
1248        return self._test_msim_message(
1249            0, None, 0, mo_rat=["3g", "3g"], msg="MMS", direction="mo")
1250
1251    @test_tracker_info(uuid="459e9b40-ad4e-4a89-ac89-f3c8ec472d3f")
1252    @TelephonyBaseTest.tel_test_wrap
1253    def test_msim_mms_mo_3g_psim_dds_slot_1(self):
1254        return self._test_msim_message(
1255            0, None, 1, mo_rat=["3g", "3g"], msg="MMS", direction="mo")
1256
1257    @test_tracker_info(uuid="130a0e85-1653-4ddf-81b9-dadd26dde1e3")
1258    @TelephonyBaseTest.tel_test_wrap
1259    def test_msim_mms_mt_3g_psim_dds_slot_0(self):
1260        return self._test_msim_message(
1261            None, 0, 0, mt_rat=["3g", "3g"], msg="MMS", direction="mt")
1262
1263    @test_tracker_info(uuid="e81f0b33-38b3-4a4d-9e05-fb44a689230b")
1264    @TelephonyBaseTest.tel_test_wrap
1265    def test_msim_mms_mt_3g_psim_dds_slot_1(self):
1266        return self._test_msim_message(
1267            None, 0, 1, mt_rat=["3g", "3g"], msg="MMS", direction="mt")
1268
1269    @test_tracker_info(uuid="61894370-93b5-4ab5-80c7-d50948d38471")
1270    @TelephonyBaseTest.tel_test_wrap
1271    def test_msim_mms_mo_3g_esim_dds_slot_0(self):
1272        return self._test_msim_message(
1273            1, None, 0, mo_rat=["3g", "3g"], msg="MMS", direction="mo")
1274
1275    @test_tracker_info(uuid="8d41ee9a-fed9-4472-ada7-007e56690c67")
1276    @TelephonyBaseTest.tel_test_wrap
1277    def test_msim_mms_mo_3g_esim_dds_slot_1(self):
1278        return self._test_msim_message(
1279            1, None, 1, mo_rat=["3g", "3g"], msg="MMS", direction="mo")
1280
1281    @test_tracker_info(uuid="6aa41641-2619-48f6-8c5f-1c06260f0e28")
1282    @TelephonyBaseTest.tel_test_wrap
1283    def test_msim_mms_mt_3g_esim_dds_slot_0(self):
1284        return self._test_msim_message(
1285            None, 1, 0, mt_rat=["3g", "3g"], msg="MMS", direction="mt")
1286
1287    @test_tracker_info(uuid="94d8e05d-eb99-4a71-be00-e725cbd05cae")
1288    @TelephonyBaseTest.tel_test_wrap
1289    def test_msim_mms_mt_3g_esim_dds_slot_1(self):
1290        return self._test_msim_message(
1291            None, 1, 1, mt_rat=["3g", "3g"], msg="MMS", direction="mt")