Пример #1
0
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
Пример #2
0
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
Пример #3
0
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
Пример #4
0
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
Пример #5
0
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()
Пример #6
0
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()
Пример #7
0
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()
Пример #8
0
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()
Пример #9
0
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()
Пример #10
0
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"
Пример #11
0
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()
Пример #12
0
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
Пример #13
0
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
Пример #14
0
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()
Пример #16
0
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
Пример #17
0
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()
Пример #18
0
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()
Пример #19
0
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()
Пример #20
0
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()
Пример #22
0
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
Пример #23
0
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()
Пример #25
0
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()
Пример #26
0
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()
Пример #27
0
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
Пример #28
0
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
Пример #29
0
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()
Пример #30
0
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()