blob: 44bd26f0b562c99a504fe5fca44474046e96f566 [file] [log] [blame]
"""Tests for rf_switch_client_box."""
import common
import mock
import unittest
from autotest_lib.server.cros.network import rf_switch_client_box
class RfSwitchClientBoxTest(unittest.TestCase):
"""Tests for the RfSwitchClientBox."""
def setUp(self):
"""Initial set up for the tests."""
rf_switch_client_box.frontend = mock.MagicMock()
self.client_box_host = rf_switch_client_box.frontend.Host('', '')
self.client_box_host.hostname = 'chromeos9-clientbox1'
self.client_box_host.labels = [
'rf_switch_1', 'client_box_1', 'rf_switch_client']
def testGetDevices(self):
"""Test to get all devices from a Client Box."""
rf_switch_client_box.frontend = mock.MagicMock()
dut_host = rf_switch_client_box.frontend.Host('', '')
dut_host.hostname = 'chromeos9-device1'
dut_host.labels = ['rf_switch_1', 'client_box_1', 'rf_switch_dut']
# Add a device to the Client Box and verify.
afe_instance = rf_switch_client_box.frontend.AFE()
afe_instance.get_hosts.return_value = [self.client_box_host, dut_host]
client_box = rf_switch_client_box.ClientBox(self.client_box_host)
devices = client_box.get_devices()
self.assertEqual(len(devices), 1)
device = devices[0]
self.assertEqual(device, 'chromeos9-device1')
def testNoDevicesInClientbox(self):
"""Test for no devices in the Client Box."""
rf_switch_client_box.frontend = mock.MagicMock()
afe_instance =rf_switch_client_box.frontend.AFE()
afe_instance.get_hosts.return_value = [self.client_box_host]
client_box = rf_switch_client_box.ClientBox(self.client_box_host)
devices = client_box.get_devices()
self.assertEqual(len(devices), 0)
def testGetOtherDevices(self):
"""Test to get stumpy from ClientBox if installed."""
rf_switch_client_box.frontend = mock.MagicMock()
stumpy_host = rf_switch_client_box.frontend.Host('', '')
stumpy_host.hostname = 'chromeos9-stumpy1'
stumpy_host.labels = ['rf_switch_1', 'client_box_1', 'stumpy']
afe_instance = rf_switch_client_box.frontend.AFE()
afe_instance.get_hosts.side_effect = [[stumpy_host]]
client_box = rf_switch_client_box.ClientBox(self.client_box_host)
self.assertEqual(
client_box.get_devices_using_labels(stumpy_host.labels),
['chromeos9-stumpy1'])
def testGetOtherDeviceWithWrongLabels(self):
"""Test to get Devices when using wrong list of labels."""
rf_switch_client_box.frontend = mock.MagicMock()
stumpy_host = rf_switch_client_box.frontend.Host('', '')
stumpy_host.hostname = 'chromeos9-stumpy1'
stumpy_host.labels = ['rf_switch_1', 'client_box_1', 'stumpy']
list_of_labels = ['rf_switch_1', 'client_box_1', 'packet_capture']
afe_instance = rf_switch_client_box.frontend.AFE()
afe_instance.get_hosts.side_effect = [[self.client_box_host],
[stumpy_host]]
client_box = rf_switch_client_box.ClientBox(self.client_box_host)
self.assertEqual(
len(client_box.get_devices_using_labels(list_of_labels)), 0)
if __name__ == '__main__':
unittest.main()