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