• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#!/usr/bin/env python3.4
2#
3#   Copyright 2016 - 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"""
17    Test Script for VT Data test
18"""
19from acts.test_utils.tel.TelephonyBaseTest import TelephonyBaseTest
20from acts.test_utils.tel.tel_defines import VT_STATE_BIDIRECTIONAL
21from acts.test_utils.tel.tel_test_utils import hangup_call
22from acts.test_utils.tel.tel_test_utils import multithread_func
23from acts.test_utils.tel.tel_test_utils import verify_http_connection
24from acts.test_utils.tel.tel_video_utils import \
25    is_phone_in_call_video_bidirectional
26from acts.test_utils.tel.tel_video_utils import phone_setup_video
27from acts.test_utils.tel.tel_video_utils import video_call_setup_teardown
28from acts.utils import load_config
29
30
31class TelLiveVideoDataTest(TelephonyBaseTest):
32    def __init__(self, controllers):
33        TelephonyBaseTest.__init__(self, controllers)
34        self.tests = (
35            # Data during VT call
36            "test_internet_access_during_video_call", )
37
38        self.simconf = load_config(self.user_params["sim_conf_file"])
39        self.stress_test_number = int(self.user_params["stress_test_number"])
40        self.wifi_network_ssid = self.user_params["wifi_network_ssid"]
41
42        try:
43            self.wifi_network_pass = self.user_params["wifi_network_pass"]
44        except KeyError:
45            self.wifi_network_pass = None
46
47    """ Tests Begin """
48
49    @TelephonyBaseTest.tel_test_wrap
50    def test_internet_access_during_video_call(self):
51        """ Test Internet access during VT<->VT call.
52
53        Make Sure PhoneA is in LTE mode (with Video Calling).
54        Make Sure PhoneB is in LTE mode (with Video Calling).
55        Call from PhoneA to PhoneB as Bi-Directional Video,
56        Accept on PhoneB as video call.
57        Verify PhoneA have Internet access.
58        Hang up on PhoneA.
59
60        Returns:
61            True if pass; False if fail.
62        """
63        ads = self.android_devices
64        tasks = [(phone_setup_video, (self.log, ads[0])), (phone_setup_video,
65                                                           (self.log, ads[1]))]
66        if not multithread_func(self.log, tasks):
67            self.log.error("Phone Failed to Set Up Properly.")
68            return False
69
70        self.log.info("Step1: Make MO VT call.")
71        if not video_call_setup_teardown(
72                self.log,
73                ads[0],
74                ads[1],
75                None,
76                video_state=VT_STATE_BIDIRECTIONAL,
77                verify_caller_func=is_phone_in_call_video_bidirectional,
78                verify_callee_func=is_phone_in_call_video_bidirectional):
79            self.log.error("Failed to setup+teardown a call")
80            return False
81
82        self.log.info("Step2: Verify Internet on PhoneA.")
83        if not verify_http_connection(self.log, ads[0]):
84            self.log.error("Verify Internet on PhoneA failed.")
85            return False
86
87        return hangup_call(self.log, ads[0])
88
89
90""" Tests End """
91