mirror of
https://github.com/beetbox/beets.git
synced 2026-02-24 08:12:54 +01:00
bpd: add more tests
This commit is contained in:
parent
59c506990a
commit
5c37a58ad6
1 changed files with 50 additions and 4 deletions
|
|
@ -392,7 +392,7 @@ class BPDTest(BPDTestHelper):
|
|||
|
||||
class BPDQueryTest(BPDTestHelper):
|
||||
test_implements_query = implements({
|
||||
'clearerror', 'currentsong', 'stats',
|
||||
'clearerror', 'currentsong',
|
||||
})
|
||||
|
||||
def test_cmd_status(self):
|
||||
|
|
@ -414,6 +414,14 @@ class BPDQueryTest(BPDTestHelper):
|
|||
}
|
||||
self.assertEqual(fields_playing, set(responses[2].data.keys()))
|
||||
|
||||
def test_cmd_stats(self):
|
||||
with self.run_bpd() as client:
|
||||
response = client.send_command('stats')
|
||||
self._assert_ok(response)
|
||||
details = {'artists', 'albums', 'songs', 'uptime', 'db_playtime',
|
||||
'db_update', 'playtime'}
|
||||
self.assertEqual(details, set(response.data.keys()))
|
||||
|
||||
def test_cmd_idle(self):
|
||||
def _toggle(c):
|
||||
for _ in range(3):
|
||||
|
|
@ -630,9 +638,8 @@ class BPDPlaybackTest(BPDTestHelper):
|
|||
|
||||
class BPDControlTest(BPDTestHelper):
|
||||
test_implements_control = implements({
|
||||
'pause', 'playid', 'seek',
|
||||
'seekid', 'seekcur', 'stop',
|
||||
}, expectedFailure=True)
|
||||
'seek', 'seekid', 'seekcur',
|
||||
}, expectedFailure=True)
|
||||
|
||||
def test_cmd_play(self):
|
||||
with self.run_bpd() as client:
|
||||
|
|
@ -648,6 +655,45 @@ class BPDControlTest(BPDTestHelper):
|
|||
self.assertEqual('play', responses[2].data['state'])
|
||||
self.assertEqual('2', responses[4].data['Id'])
|
||||
|
||||
def test_cmd_playid(self):
|
||||
with self.run_bpd() as client:
|
||||
self._bpd_add(client, self.item1, self.item2)
|
||||
responses = client.send_commands(
|
||||
('playid', '2'),
|
||||
('currentsong',),
|
||||
('clear',))
|
||||
self._bpd_add(client, self.item2, self.item1)
|
||||
responses.extend(client.send_commands(
|
||||
('playid', '2'),
|
||||
('currentsong',)))
|
||||
self._assert_ok(*responses)
|
||||
self.assertEqual('2', responses[1].data['Id'])
|
||||
self.assertEqual('2', responses[4].data['Id'])
|
||||
|
||||
def test_cmd_pause(self):
|
||||
with self.run_bpd() as client:
|
||||
self._bpd_add(client, self.item1)
|
||||
responses = client.send_commands(
|
||||
('play',),
|
||||
('pause',),
|
||||
('status',),
|
||||
('currentsong',))
|
||||
self._assert_ok(*responses)
|
||||
self.assertEqual('pause', responses[2].data['state'])
|
||||
self.assertEqual('1', responses[3].data['Id'])
|
||||
|
||||
def test_cmd_stop(self):
|
||||
with self.run_bpd() as client:
|
||||
self._bpd_add(client, self.item1)
|
||||
responses = client.send_commands(
|
||||
('play',),
|
||||
('stop',),
|
||||
('status',),
|
||||
('currentsong',))
|
||||
self._assert_ok(*responses)
|
||||
self.assertEqual('stop', responses[2].data['state'])
|
||||
self.assertNotIn('Id', responses[3].data)
|
||||
|
||||
def test_cmd_next(self):
|
||||
with self.run_bpd() as client:
|
||||
self._bpd_add(client, self.item1, self.item2)
|
||||
|
|
|
|||
Loading…
Reference in a new issue