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()