chiark / gitweb /
11847fbbbbed67877c193b7dc2220c7324a7a1fd
[disorder] / tests / playlists.py
1 #! /usr/bin/env python
2 #
3 # This file is part of DisOrder.
4 # Copyright (C) 2008 Richard Kettlewell
5 #
6 # This program is free software; you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation; either version 2 of the License, or
9 # (at your option) any later version.
10 #
11 # This program is distributed in the hope that it will be useful, but
12 # WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14 # General Public License for more details.
15 #
16 # You should have received a copy of the GNU General Public License
17 # along with this program; if not, write to the Free Software
18 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
19 # USA
20 #
21 import dtest,disorder
22
23 def test():
24     """Playlist testing"""
25     dtest.start_daemon()
26     dtest.create_user()
27     c = disorder.client()
28     c.random_disable()
29     #
30     print " checking initial playlist set is empty"
31     l = c.playlists()
32     assert l == [], "checking initial playlist set is empty"
33     #
34     print " creating a shared playlist"
35     c.playlist_lock("wibble")
36     c.playlist_set("wibble", ["one", "two", "three"])
37     c.playlist_unlock()
38     print " checking new playlist appears in list"
39     l = c.playlists()
40     assert l == ["wibble"], "checking new playlists"
41     print " checking new playlist contents is as assigned"
42     l = c.playlist_get("wibble")
43     assert l == ["one", "two", "three"], "checking playlist contents"
44     #
45     print " checking new playlist is shared"
46     s = c.playlist_get_share("wibble")
47     assert s == "shared", "checking playlist is shared"
48     #
49     print " checking cannot unshare un-owned playlist"
50     try:
51         c.playlist_set_share("wibble", "private")
52         print "*** should not be able to adjust shared playlist's sharing ***"
53         assert False
54     except disorder.operationError:
55         pass                            # good
56     #
57     print " modifying shared playlist"
58     c.playlist_lock("wibble")
59     c.playlist_set("wibble", ["three", "two", "one"])
60     c.playlist_unlock()
61     print " checking updated playlist contents is as assigned"
62     l = c.playlist_get("wibble")
63     assert l == ["three", "two", "one"], "checking modified playlist contents"
64
65 if __name__ == '__main__':
66     dtest.run()