From b539a9c0949748de1e5bcd9684d03a6d5ae55a49 Mon Sep 17 00:00:00 2001 From: Stein Magnus Jodal Date: Thu, 10 Oct 2013 10:02:34 +0200 Subject: [PATCH] mpd: Handle unknown outputid --- mopidy/frontends/mpd/protocol/audio_output.py | 7 +++++-- tests/frontends/mpd/protocol/audio_output_test.py | 11 +++++++++++ 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/mopidy/frontends/mpd/protocol/audio_output.py b/mopidy/frontends/mpd/protocol/audio_output.py index 657140d1..65e693ec 100644 --- a/mopidy/frontends/mpd/protocol/audio_output.py +++ b/mopidy/frontends/mpd/protocol/audio_output.py @@ -1,5 +1,6 @@ from __future__ import unicode_literals +from mopidy.frontends.mpd.exceptions import MpdNoExistError from mopidy.frontends.mpd.protocol import handle_request @@ -14,7 +15,8 @@ def disableoutput(context, outputid): """ if int(outputid) == 0: context.core.playback.set_mute(True) - # TODO Return proper error on unknown outputid + else: + raise MpdNoExistError('No such audio output', command='disableoutput') @handle_request(r'^enableoutput "(?P\d+)"$') @@ -28,7 +30,8 @@ def enableoutput(context, outputid): """ if int(outputid) == 0: context.core.playback.set_mute(False) - # TODO Return proper error on unknown outputid + else: + raise MpdNoExistError('No such audio output', command='enableoutput') @handle_request(r'^outputs$') diff --git a/tests/frontends/mpd/protocol/audio_output_test.py b/tests/frontends/mpd/protocol/audio_output_test.py index 5675ebd4..cbfb5043 100644 --- a/tests/frontends/mpd/protocol/audio_output_test.py +++ b/tests/frontends/mpd/protocol/audio_output_test.py @@ -12,6 +12,11 @@ class AudioOutputHandlerTest(protocol.BaseTestCase): self.assertInResponse('OK') self.assertEqual(self.core.playback.mute.get(), False) + def test_enableoutput_unknown_outputid(self): + self.sendRequest('enableoutput "7"') + + self.assertInResponse('ACK [50@0] {enableoutput} No such audio output') + def test_disableoutput(self): self.core.playback.mute = False @@ -20,6 +25,12 @@ class AudioOutputHandlerTest(protocol.BaseTestCase): self.assertInResponse('OK') self.assertEqual(self.core.playback.mute.get(), True) + def test_disableoutput_unknown_outputid(self): + self.sendRequest('disableoutput "7"') + + self.assertInResponse( + 'ACK [50@0] {disableoutput} No such audio output') + def test_outputs_when_unmuted(self): self.core.playback.mute = False