diff --git a/mopidy/frontends/mpd/protocol/connection.py b/mopidy/frontends/mpd/protocol/connection.py index 48e5ebd4..d6a1dc7c 100644 --- a/mopidy/frontends/mpd/protocol/connection.py +++ b/mopidy/frontends/mpd/protocol/connection.py @@ -11,7 +11,7 @@ def close(context): Closes the connection to MPD. """ - pass # TODO + context.session.close() @handle_pattern(r'^kill$') def kill(context): diff --git a/tests/frontends/mpd/connection_test.py b/tests/frontends/mpd/connection_test.py index e34265d4..84794257 100644 --- a/tests/frontends/mpd/connection_test.py +++ b/tests/frontends/mpd/connection_test.py @@ -1,23 +1,28 @@ +import mock import unittest from mopidy import settings from mopidy.backends.dummy import DummyBackend from mopidy.frontends.mpd.dispatcher import MpdDispatcher +from mopidy.frontends.mpd.session import MpdSession from mopidy.mixers.dummy import DummyMixer class ConnectionHandlerTest(unittest.TestCase): def setUp(self): self.backend = DummyBackend.start().proxy() self.mixer = DummyMixer.start().proxy() - self.dispatcher = MpdDispatcher() + self.session = mock.Mock(spec=MpdSession) + self.dispatcher = MpdDispatcher(session=self.session) def tearDown(self): self.backend.stop().get() self.mixer.stop().get() settings.runtime.clear() - def test_close(self): + def test_close_closes_the_client_connection(self): result = self.dispatcher.handle_request(u'close') + self.assert_(self.session.close.called, + u'Should call close() on MpdSession') self.assert_(u'OK' in result) def test_empty_request(self):