Beispiel #1
0
def test_use_case_with_wrong_parameter():
    volume_level_is_a_string = "duh"

    device_discovery_service = mock.Mock()
    device_discovery_service.get.return_value = connected_device  # We mock the device discovery service

    device_transport_control_service = mock.Mock()
    volume_set_uc = VolumeSetUseCase(device_discovery_service, device_transport_control_service)

    volume_set_request = VolumeSetRequestObject.from_dict({'volume_level': volume_level_is_a_string})
    response_object = volume_set_uc.execute(volume_set_request)

    assert bool(response_object) is False
Beispiel #2
0
def test_use_case_with_parameter_out_of_range(connected_device):
    volume_increase_in_percentage = 123456789

    device_discovery_service = mock.Mock()
    device_discovery_service.get.return_value = connected_device  # We mock the device discovery service

    device_transport_control_service = mock.Mock()
    volume_set_uc = VolumeSetUseCase(device_discovery_service, device_transport_control_service)

    volume_set_request = VolumeSetRequestObject.from_dict({'volume_level': volume_increase_in_percentage})
    response_object = volume_set_uc.execute(volume_set_request)

    assert bool(response_object) is False
    assert connected_device.volume == 10
Beispiel #3
0
def test_use_case_no_reachable_device():
    device_discovery_service = mock.Mock()
    device_discovery_service.get.side_effect = NoReachableDeviceException(
        "No reachable Sonos devices")  # We mock the device discovery service

    device_transport_control_service = mock.Mock()

    volume_set_uc = VolumeSetUseCase(device_discovery_service, device_transport_control_service)

    volume_set_request = VolumeSetRequestObject.from_dict({'volume_level': 10})
    result_obj = volume_set_uc.execute(volume_set_request)

    assert bool(result_obj) is False
    assert result_obj.message == "NoReachableDeviceException: No reachable Sonos devices"
Beispiel #4
0
def test_use_case_with_maximum_volume(connected_device):
    volume_level = 100

    device_discovery_service = mock.Mock()
    device_discovery_service.get.return_value = connected_device  # We mock the device discovery service

    device_transport_control_service = mock.Mock()
    volume_set_uc = VolumeSetUseCase(device_discovery_service, device_transport_control_service)

    volume_set_request = VolumeSetRequestObject.from_dict({'volume_level': volume_level})
    response_object = volume_set_uc.execute(volume_set_request)

    assert bool(response_object) is True
    assert connected_device.volume == 100
Beispiel #5
0
def test_use_case_with_positive_percentage(connected_device):
    new_volume_level = 50
    initial_volume = connected_device.volume

    device_discovery_service = mock.Mock()
    device_discovery_service.get.return_value = connected_device  # We mock the device discovery service

    device_transport_control_service = mock.Mock()
    volume_set_uc = VolumeSetUseCase(device_discovery_service, device_transport_control_service)

    volume_set_request = VolumeSetRequestObject.from_dict({'volume_level': new_volume_level})
    response_object = volume_set_uc.execute(volume_set_request)

    assert bool(volume_set_request) is True
    assert bool(response_object) is True
    device_transport_control_service.set_volume.assert_called_with(connected_device)
    assert connected_device.volume == new_volume_level
Beispiel #6
0
def test_use_case_empty_parameters(connected_device):
    device_discovery_service = mock.Mock()
    device_discovery_service.get.return_value = connected_device  # We mock the device discovery service

    initial_volume = connected_device.volume

    device_transport_control_service = mock.Mock()

    volume_set_uc = VolumeSetUseCase(device_discovery_service, device_transport_control_service)
    volume_set_request = VolumeSetRequestObject.from_dict({})
    result_object = volume_set_uc.execute(volume_set_request)

    device_discovery_service.get.assert_not_called()
    device_transport_control_service.volume_set.assert_not_called()
    assert bool(volume_set_request) is False
    assert bool(result_object) is False
    assert connected_device.volume == initial_volume
 def from_intent_message(cls, intentMessage):
     slots_dict = cls.extract_slots_dictionary(intentMessage)
     return VolumeSetRequestObject.from_dict(slots_dict)