def test_lte_wfc_cellular_preferred_to_wifi_preferred(self):
        """Test for WiFi Calling settings:
        LTE + WiFi Connected + Cellular Preferred, change WFC to WiFi Preferred

        Steps:
        1. Setup DUT Idle, LTE network type, VoLTE disabled.
        2. Make sure DUT WiFi connected, WFC is set to Cellular Preferred.
            Verify DUT WFC not available.
        3. Change WFC setting to WiFi Preferred.
        4. Verify DUT report WFC available.

        Expected Results:
        2. DUT WiFi Calling feature bit return False, network rat is not iwlan.
        4. DUT WiFI Calling feature bit return True, network rat is iwlan.
        """
        if WFC_MODE_WIFI_PREFERRED not in self.dut_wfc_modes:
            raise signals.TestSkip("WFC_MODE_WIFI_PREFERRED is not supported")
        if WFC_MODE_CELLULAR_PREFERRED not in self.dut_wfc_modes:
            raise signals.TestSkip(
                "WFC_MODE_CELLULAR_PREFERRED is not supported")
        if not phone_setup_csfb(self.log, self.dut):
            self.dut.log.error("Failed to setup LTE.")
            return False
        if not self.change_ims_setting(False, True, False, True,
                                       WFC_MODE_CELLULAR_PREFERRED):
            return False
        return self.change_ims_setting(False, True, False, True,
                                       WFC_MODE_WIFI_PREFERRED)
Beispiel #2
0
 def _setup_lte_volte_disabled(self):
     for ad in self.android_devices:
         if not phone_setup_csfb(self.log, ad):
             ad.log.error("Phone failed to setup CSFB.")
             return False
         ad.log.info("Phone VOLTE is disabled successfully.")
     return True
    def test_lte_wifi_connected_toggle_wfc(self):
        """Test for WiFi Calling settings:
        LTE + VoLTE Disabled + WiFi Connected, Toggling WFC

        Steps:
        1. Setup DUT Idle, LTE network type, VoLTE disabled.
        2. Make sure DUT WiFi connected, WFC disabled.
        3. Set DUT WFC enabled (WiFi Preferred), verify DUT WFC available,
            report iwlan rat.
        4. Set DUT WFC disabled, verify DUT WFC unavailable,
            not report iwlan rat.

        Expected Results:
        3. DUT WiFi Calling feature bit return True, network rat is iwlan.
        4. DUT WiFi Calling feature bit return False, network rat is not iwlan.
        """
        if not phone_setup_csfb(self.log, self.dut):
            self.log.error("Failed to setup LTE")
            return False
        if not self.change_ims_setting(False, True, False, True,
                                       self.default_wfc_mode):
            return False
        if not self.change_ims_setting(False, True, False, False, None):
            return False
        return self.change_ims_setting(False, True, False, True, None)
 def _check_lte_data(self):
     self.log.info("Check LTE data.")
     if not phone_setup_csfb(self.log, self.dut):
         self.log.error("Failed to setup LTE data.")
         return False
     if not verify_http_connection(self.log, self.dut):
         self.log.error("Data not available on cell.")
         return False
     return True
Beispiel #5
0
 def _check_csfb(self):
     if not phone_setup_csfb(self.log, self.dut):
         self.log.error("Failed to setup CSFB.")
         return False
     if not call_setup_teardown(self.log, self.dut, self.ad_reference,
                                self.dut, is_phone_in_call_csfb):
         self.dut.log.error("CSFB Call Failed.")
         return False
     if not wait_for_network_generation(
             self.log, self.dut, GEN_4G,
             voice_or_data=NETWORK_SERVICE_DATA):
         self.dut.log.error("Data service failed to camp to 4G")
         return False
     if not verify_internet_connection(self.log, self.dut):
         self.log.error("Data not available on cell.")
         return False
     return True
    def test_fake_emergency_call_by_emergency_dialer_csfb(self):
        """Test emergency call with emergency dialer in user account.

        Configure DUT in CSFB
        Add system emergency number list with fake emergency number.
        Turn off emergency call IMS first.
        Use the emergency dialer to call fake emergency number.
        Verify DUT has in call activity.
        Bring DUT to normal state and make regular call.

        Returns:
            True if success.
            False if failed.
        """
        if not phone_setup_csfb(self.log, self.dut):
            return False
        self.set_ims_first("false")
        return self.fake_emergency_call_test() and self.check_normal_call()
    def test_fake_emergency_call_by_emergency_dialer_csfb_ecbm(self):
        """Test emergency call with emergency dialer in user account.

        Configure DUT in CSFB
        Add system emergency number list with fake emergency number.
        Configure allow_non_emergency_calls_in_ecm_bool true.
        Turn off emergency call IMS first.
        Use the emergency dialer to call fake emergency number and hung up before connected.
        Verify DUT voice and data in ecbm mode.

        Returns:
            True if success.
            False if failed.
        """
        if not phone_setup_csfb(self.log, self.dut):
            return False
        self.set_ims_first("false")
        return self.check_emergency_call_back_mode()
    def test_lte_wfc_enabled_toggle_wifi(self):
        """Test for WiFi Calling settings:
        LTE + VoLTE Disabled + WFC enabled, Toggling WiFi

        Steps:
        1. Setup DUT Idle, LTE network type, VoLTE disabled.
        2. Make sure DUT WiFi disconnected, WFC enabled (WiFi Preferred).
        3. DUT connect WiFi, verify DUT WFC available, report iwlan rat.
        4. DUT disconnect WiFi,verify DUT WFC unavailable, not report iwlan rat.

        Expected Results:
        3. DUT WiFi Calling feature bit return True, network rat is iwlan.
        4. DUT WiFi Calling feature bit return False, network rat is not iwlan.
        """

        if not phone_setup_csfb(self.log, self.ad):
            self.log.error("Failed to setup LTE")
            return False
        return self._wifi_connected_enable_wfc_teardown_wfc(
            tear_down_operation=self._TEAR_DOWN_OPERATION_DISCONNECT_WIFI,
            initial_setup_wifi=True,
            initial_setup_wfc_mode=WFC_MODE_WIFI_PREFERRED)
    def test_lte_wfc_cellular_preferred_to_wifi_preferred(self):
        """Test for WiFi Calling settings:
        LTE + WiFi Connected + Cellular Preferred, change WFC to WiFi Preferred

        Steps:
        1. Setup DUT Idle, LTE network type, VoLTE disabled.
        2. Make sure DUT WiFi connected, WFC is set to Cellular Preferred.
            Verify DUT WFC not available.
        3. Change WFC setting to WiFi Preferred.
        4. Verify DUT report WFC available.

        Expected Results:
        2. DUT WiFi Calling feature bit return False, network rat is not iwlan.
        4. DUT WiFI Calling feature bit return True, network rat is iwlan.
        """
        if not phone_setup_csfb(self.log, self.ad):
            self.log.error("Failed to setup LTE.")
            return False
        return self._wifi_connected_set_wfc_mode_change_wfc_mode(
            WFC_MODE_CELLULAR_PREFERRED, WFC_MODE_WIFI_PREFERRED,
            False, True,
            check_volte_after_wfc_disabled=False)
Beispiel #10
0
 def _idle_lte_volte_disabled(ad):
     if not phone_setup_csfb(self.log, ad):
         self.log.error("Phone failed to setup CSFB.")
         return False
     ad.droid.goToSleepNow()
     return True
 def _setup_lte_volte_disabled(self):
     if not phone_setup_csfb(self.log, self.dut):
         self.dut.log.error("Phone failed to setup CSFB.")
         return False
     self.dut.log.info("Phone VOLTE is disabled successfully.")
     return True
 def setup_csfb(self):
     if not phone_setup_csfb(self.log, self.dut):
         self.dut.log.error("Phone failed to setup CSFB.")
         raise signals.TestFailure("Failed to setup CSFB")
     self.dut.log.info("Phone CSFB is enabled successfully.")
     return True