• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1"""Bluetooth ThreeDeviceTestBed Base Test
2
3This test class serves as a base class for tests which needs three devices
4"""
5
6import logging
7
8from bluetooth_test import bluetooth_base_test
9from mobly.controllers import android_device
10from utilities import bt_utils
11from utilities import spectatio_utils
12from utilities.main_utils import common_main
13from utilities.video_utils_service import VideoRecording
14
15
16class BluetoothSMSBaseTest(bluetooth_base_test.BluetoothBaseTest):
17
18  def setup_class(self):
19    # Registering android_device controller module and declaring the three devices.
20    self.ads = self.register_controller(android_device, min_number=3)
21
22    # The dicoverers is the car head unit.
23    self.discoverer = android_device.get_device(self.ads, label='auto')
24    self.discoverer.debug_tag = 'discoverer'
25    self.discoverer.load_snippet('mbs', android_device.MBS_PACKAGE)
26
27    # The phone device used to connect to the car.
28    self.target = android_device.get_device(self.ads, label='phone')
29    self.target.debug_tag = 'target'
30    self.target.load_snippet('mbs', android_device.MBS_PACKAGE)
31
32    # The extra phone device used to perform actions (make calls, send SMS).
33    self.phone_notpaired = android_device.get_device(
34        self.ads,
35        label='phone_notpaired',
36    )
37    self.phone_notpaired.debug_tag = 'phone_notpaired'
38    self.phone_notpaired.load_snippet('mbs', android_device.MBS_PACKAGE)
39
40    self.call_utils = spectatio_utils.CallUtils(self.discoverer)
41    self.bt_utils = bt_utils.BTUtils(self.discoverer, self.target)
42
43    logging.info('Initializing video services')
44    self.video_utils_service = VideoRecording(
45        self.discoverer,
46        self.__class__.__name__,
47    )
48    self.video_utils_service_target = VideoRecording(
49        self.target,
50        self.__class__.__name__,
51    )
52
53    logging.info('Enabling video recording for Discoverer device')
54    self.video_utils_service.enable_screen_recording()
55
56    logging.info('Enabling video recording for Target device')
57    self.video_utils_service_target.enable_screen_recording()
58
59    self.call_utils.press_phone_home_icon_using_adb_command(
60        self.phone_notpaired
61    )
62
63
64if __name__ == '__main__':
65  common_main()
66