async def test_get_location_no_native_location(monkeypatch): """Test get_location() without native location support.""" _mock = TeslaMock(monkeypatch) _controller = Controller(None) _data = _mock.data_request_vehicle() _data["drive_state"]["native_location_supported"] = False _data["drive_state"]["longitude"] = 12.345 _data["drive_state"]["native_longitude"] = 23.456 _data["drive_state"]["latitude"] = 34.567 _data["drive_state"]["native_latitude"] = 45.678 _data["drive_state"]["heading"] = 12 _data["drive_state"]["native_heading"] = 21 _data["drive_state"]["speed"] = 23.4 _gps = GPS(_data, _controller) await _gps.async_update() _location = _gps.get_location() assert not _location is None assert _location["longitude"] == 12.345 assert _location["latitude"] == 34.567 assert _location["heading"] == 12 assert _location["speed"] == 23.4
async def test_values_after_update(monkeypatch): """Test values after update.""" _mock = TeslaMock(monkeypatch) _controller = Controller(None) _data = _mock.data_request_vehicle() _device = VehicleDevice(_data, _controller) await _device.async_update() assert not _device is None assert not _device.car_name() is None assert _device.car_name() == "Nikola 2.0" assert not _device.car_type is None assert _device.car_type == "Model S" assert not _device.car_version is None assert _device.car_version == "2019.40.2.1 38f55d9f9205" assert not _device.id() is None assert _device.id() == 12345678901234567 assert not _device.sentry_mode_available is None assert _device.sentry_mode_available assert not _device.vehicle_id is None assert _device.vehicle_id() == 1234567890
def test_values_on_init(monkeypatch): """Test values after initialization.""" _mock = TeslaMock(monkeypatch) _controller = Controller(None) _data = _mock.data_request_vehicle() _device = VehicleDevice(_data, _controller) assert not _device is None assert not _device.car_name() is None assert _device.car_name() == "Nikola 2.0" assert not _device.car_type is None assert _device.car_type == "Model S" assert not _device.car_version is None assert _device.car_version == "" assert not _device.id() is None assert _device.id() == 12345678901234567 assert not _device.sentry_mode_available is None assert _device.sentry_mode_available assert not _device.vehicle_id is None assert _device.vehicle_id() == 1234567890
def test_device_class(monkeypatch): """Test device_class().""" _mock = TeslaMock(monkeypatch) _controller = Controller(None) _data = _mock.data_request_vehicle() _range = Range(_data, _controller) assert _range.device_class is None
def test_is_maxrange_on_init(monkeypatch): """Test is_maxrange() when not charging.""" _mock = TeslaMock(monkeypatch) _controller = Controller(None) _data = _mock.data_request_vehicle() _switch = RangeSwitch(_data, _controller) assert not _switch.is_maxrange()
def test_has_battery(monkeypatch): """Test has_battery().""" _mock = TeslaMock(monkeypatch) _controller = Controller(None) _data = _mock.data_request_vehicle() _switch = RangeSwitch(_data, _controller) assert not _switch.has_battery()
def test_has_battery(monkeypatch): """Test has_battery().""" _mock = TeslaMock(monkeypatch) _controller = Controller(None) _data = _mock.data_request_vehicle() _lock = FrunkLock(_data, _controller) assert not _lock.has_battery()
def test_has_battery(monkeypatch): """Test has_battery().""" _mock = TeslaMock(monkeypatch) _controller = Controller(None) _data = _mock.data_request_vehicle() _seat = HeatedSeatSwitch(_data, _controller, 'left') assert not _seat.has_battery()
def test_is_armed(monkeypatch): """Test is_armed().""" _mock = TeslaMock(monkeypatch) _controller = Controller(None) _data = _mock.data_request_vehicle() _device = VehicleDevice(_data, _controller) assert not _device.is_armed()
def test_device_class(monkeypatch): """Test device_class().""" _mock = TeslaMock(monkeypatch) _controller = Controller(None) _data = _mock.data_request_vehicle() _sensor = Battery(_data, _controller) assert _sensor.device_class == "battery"
def test_has_battery(monkeypatch): """Test has_battery().""" _mock = TeslaMock(monkeypatch) _controller = Controller(None) _data = _mock.data_request_vehicle() _sensor = ParkingSensor(_data, _controller) assert not _sensor.has_battery()
def test_get_value_on_init(monkeypatch): """Test get_value() after initialization.""" _mock = TeslaMock(monkeypatch) _controller = Controller(None) _data = _mock.data_request_vehicle() _sensor = ParkingSensor(_data, _controller) assert not _sensor is None assert _sensor.get_value() is None
def test_get_seat_heat_level_on_init(monkeypatch): """Test get_seat_heat_level() after initialization.""" _mock = TeslaMock(monkeypatch) _controller = Controller(None) _data = _mock.data_request_vehicle() _seat = HeatedSeatSwitch(_data, _controller, 'left') assert not _seat is None assert _seat.get_seat_heat_level() == 3 # 3 is mocked initial level for left seat from tesla_mock.py
def test_is_locked_on_init(monkeypatch): """Test is_locked() after initialization.""" _mock = TeslaMock(monkeypatch) _controller = Controller(None) _data = _mock.data_request_vehicle() _lock = FrunkLock(_data, _controller) assert _lock is not None assert not _lock.is_locked()
def test_available_false(monkeypatch): """Test available() when flag sentry_mode_available is false.""" _mock = TeslaMock(monkeypatch) _controller = Controller(None) _data = _mock.data_request_vehicle() _data["vehicle_state"]["sentry_mode_available"] = False _switch = SentryModeSwitch(_data, _controller) assert not _switch.available()
def test_get_value_on_init(monkeypatch): """Test get_value() after initialization.""" _mock = TeslaMock(monkeypatch) _controller = Controller(None) _data = _mock.data_request_vehicle() _range = Range(_data, _controller) assert not _range is None assert _range.get_value() is None
async def test_async_update(monkeypatch): """Test async_update().""" _mock = TeslaMock(monkeypatch) _controller = Controller(None) _data = _mock.data_request_vehicle() _data["charge_state"]["charging_state"] = "Charging" _switch = ChargerSwitch(_data, _controller) await _switch.async_update() assert _switch.is_charging()
async def test_is_charging_off(monkeypatch): """Test is_charging() with charging state disconnected.""" _mock = TeslaMock(monkeypatch) _controller = Controller(None) _data = _mock.data_request_vehicle() _data["charge_state"]["charging_state"] = "Disconnected" _switch = ChargerSwitch(_data, _controller) await _switch.async_update() assert not _switch.is_charging()
async def test_is_maxrange_off(monkeypatch): """Test is_maxrange() with charging state disconnected.""" _mock = TeslaMock(monkeypatch) _controller = Controller(None) _data = _mock.data_request_vehicle() _data["charge_state"]["charge_to_max_range"] = False _switch = RangeSwitch(_data, _controller) await _switch.async_update() assert not _switch.is_maxrange()
async def test_async_update(monkeypatch): """Test async_update().""" _mock = TeslaMock(monkeypatch) _controller = Controller(None) _data = _mock.data_request_vehicle() _data["charge_state"]["charge_to_max_range"] = True _switch = RangeSwitch(_data, _controller) await _switch.async_update() assert _switch.is_maxrange()
def test_is_on_true(monkeypatch): """Test is_on() when flag sentry_mode is true.""" _mock = TeslaMock(monkeypatch) _controller = Controller(None) _data = _mock.data_request_vehicle() _data["vehicle_state"]["sentry_mode_available"] = True _data["vehicle_state"]["sentry_mode"] = True _switch = SentryModeSwitch(_data, _controller) assert _switch.is_on()
def test_get_temp_on_init(monkeypatch): """Test get_inside_temp() and get_outside_temp() after initialization.""" _mock = TeslaMock(monkeypatch) _controller = Controller(None) _data = _mock.data_request_vehicle() _sensor = TempSensor(_data, _controller) assert not _sensor is None assert _sensor.get_inside_temp() is None assert _sensor.get_outside_temp() is None
async def test_get_value_after_update(monkeypatch): """Test get_value() after an update.""" _mock = TeslaMock(monkeypatch) _controller = Controller(None) _data = _mock.data_request_vehicle() _odometer = Odometer(_data, _controller) await _odometer.async_update() assert not _odometer is None assert _odometer.get_value() == 33561.4
async def test_enable_sentry_mode(monkeypatch): """Test enable_sentry_mode().""" _mock = TeslaMock(monkeypatch) _controller = Controller(None) _data = _mock.data_request_vehicle() _data["vehicle_state"]["sentry_mode_available"] = True _data["vehicle_state"]["sentry_mode"] = False _switch = SentryModeSwitch(_data, _controller) await _switch.enable_sentry_mode() assert _switch.is_on()
async def test_is_locked_after_update(monkeypatch): """Test is_locked() after an update.""" _mock = TeslaMock(monkeypatch) _controller = Controller(None) _data = _mock.data_request_vehicle() _data["vehicle_state"]["ft"] = 0 _lock = FrunkLock(_data, _controller) await _lock.async_update() assert _lock is not None assert _lock.is_locked()
async def test_is_locked_after_update(monkeypatch): """Test is_locked() after an update.""" _mock = TeslaMock(monkeypatch) _controller = Controller(None) _data = _mock.data_request_vehicle() _data["charge_state"]["charge_port_door_open"] = True _lock = ChargerLock(_data, _controller) await _lock.async_update() assert not _lock is None assert _lock.is_locked()
async def test_get_value_after_update(monkeypatch): """Test get_value() after an update.""" _mock = TeslaMock(monkeypatch) _controller = Controller(None) _data = _mock.data_request_vehicle() _range = Range(_data, _controller) await _range.async_update() assert not _range is None assert not _range.get_value() is None assert _range.get_value() == 167.96
async def test_battery_level(monkeypatch): """Test battery_level().""" _mock = TeslaMock(monkeypatch) _controller = Controller(None) _data = _mock.data_request_vehicle() _sensor = Battery(_data, _controller) await _sensor.async_update() assert not _sensor is None assert not _sensor.get_value() is None assert _sensor.battery_level() == 64
async def test_battery_charging_on(monkeypatch): """Test battery_charging() when charging.""" _mock = TeslaMock(monkeypatch) _controller = Controller(None) _data = _mock.data_request_vehicle() _data["charge_state"]["charging_state"] = "Charging" _sensor = Battery(_data, _controller) await _sensor.async_update() assert not _sensor is None assert _sensor.battery_charging()
async def test_get_value_after_update(monkeypatch): """Test get_value() after an update.""" _mock = TeslaMock(monkeypatch) _controller = Controller(None) _data = _mock.data_request_vehicle() _sensor = ParkingSensor(_data, _controller) await _sensor.async_update() assert not _sensor is None assert not _sensor.get_value() is None assert _sensor.get_value()