def test_system_fan_basic(self): fan_drawer = RealDrawer(0) fan = Fan(2, fan_drawer, 1) assert fan.get_position_in_parent() == 1 assert fan.is_replaceable() is False assert fan.get_speed_tolerance() == 50 assert fan.get_name() == 'fan3' mock_sysfs_content = { fan.fan_speed_get_path: 50, fan.fan_max_speed_path: 100, fan.fan_status_path: 0, fan.fan_speed_set_path: 153 } def mock_read_int_from_file(file_path, default=0, raise_exception=False): return mock_sysfs_content[file_path] utils.read_int_from_file = mock_read_int_from_file assert fan.get_speed() == 50 mock_sysfs_content[fan.fan_speed_get_path] = 101 assert fan.get_speed() == 100 mock_sysfs_content[fan.fan_max_speed_path] = 0 assert fan.get_speed() == 101 assert fan.get_status() is True mock_sysfs_content[fan.fan_status_path] = 1 assert fan.get_status() is False assert fan.get_target_speed() == 60 fan.fan_drawer.get_direction = MagicMock(return_value=Fan.FAN_DIRECTION_EXHAUST) assert fan.get_direction() == Fan.FAN_DIRECTION_EXHAUST fan.fan_drawer.get_presence = MagicMock(return_value=True) assert fan.get_presence() is True
def test_get_absence_fan_direction(): fan_drawer = RealDrawer(0, DEVICE_DATA['x86_64-mlnx_msn2700-r0']['fans']) fan = Fan(0, fan_drawer) fan_drawer.get_presence = MagicMock(return_value=False) assert not fan.is_psu_fan assert fan.get_direction() == Fan.FAN_DIRECTION_NOT_APPLICABLE
def test_get_absence_fan_direction(): fan = Fan(True, 0, 0) fan.get_presence = MagicMock(return_value=False) assert fan.fan_dir is not None assert not fan.is_psu_fan assert fan.get_direction() == Fan.FAN_DIRECTION_NOT_APPLICABLE