chiark / gitweb /
More playlist testing. Fix sharing status of un-owned playlists.
[disorder] / tests / playlists.py
CommitLineData
440af55d
RK
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#
21import dtest,disorder
22
23def test():
24 """Playlist testing"""
25 dtest.start_daemon()
26 dtest.create_user()
27 c = disorder.client()
28 c.random_disable()
97b379d2 29 #
440af55d
RK
30 print " checking initial playlist set is empty"
31 l = c.playlists()
32 assert l == [], "checking initial playlist set is empty"
97b379d2 33 #
440af55d
RK
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"
97b379d2
RK
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"
440af55d
RK
64
65if __name__ == '__main__':
66 dtest.run()