X-Git-Url: http://git.kaliko.me/?p=python-musicpd.git;a=blobdiff_plain;f=test.py;fp=test.py;h=033fe061d54b3fa793315a5ba658e0538ffa5106;hp=0677905a800f319e4cf89318f910007df8061607;hb=dc90488713d55a1aa65744dffbfa464da88a0b24;hpb=549a3573ba228d07ef40a2a70b0e23ed2e4c42b2 diff --git a/test.py b/test.py index 0677905..033fe06 100755 --- a/test.py +++ b/test.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 # coding: utf-8 -# SPDX-FileCopyrightText: 2012-2021 kaliko +# SPDX-FileCopyrightText: 2012-2023 kaliko # SPDX-License-Identifier: LGPL-3.0-or-later # pylint: disable=missing-docstring """ @@ -588,6 +588,35 @@ class testConnection(unittest.TestCase): cli.connect() sock.connect.assert_called_with('/run/mpd/socket') + def test_sockettimeout(self): + with mock.patch('musicpd.socket') as socket_mock: + sock = mock.MagicMock(name='socket') + socket_mock.socket.return_value = sock + cli = musicpd.MPDClient() + # Default is no socket timeout + cli.connect() + sock.settimeout.assert_called_with(None) + cli.disconnect() + # set a socket timeout before connection + cli.socket_timeout = 10 + cli.connect() + sock.settimeout.assert_called_with(10) + # Set socket timeout while already connected + cli.socket_timeout = 42 + sock.settimeout.assert_called_with(42) + # set a socket timeout using str + cli.socket_timeout = '10' + sock.settimeout.assert_called_with(10) + # Set socket timeout to None + cli.socket_timeout = None + sock.settimeout.assert_called_with(None) + # Set socket timeout Raises Exception + with self.assertRaises(ValueError): + cli.socket_timeout = 'foo' + with self.assertRaises(ValueError, msg='socket_timeout expects a non zero positive integer'): + cli.socket_timeout = '0' + with self.assertRaises(ValueError, msg='socket_timeout expects a non zero positive integer'): + cli.socket_timeout = '-1' class testException(unittest.TestCase):