コード例 #1
0
ファイル: test_channel.py プロジェクト: tiger8888/wang_fm
 def test_add_channel(self):
     name = 'channel_name'
     uuid = 'douban-cid'
     add_channel(name, uuid)
     assert len(get_channel()) == 1
     channel = get_channel()[0]
     assert channel.name == 'channel_name'
     assert channel.uuid == 'douban-cid'
コード例 #2
0
ファイル: test_channel.py プロジェクト: tiger8888/wang_fm
 def test_delete_channel(self):
     name = 'channel_name'
     uuid = 'douban-cid'
     add_channel(name, uuid)
     assert len(get_channel()) == 1
     channel = get_channel()[0]
     delete_channel(channel)
     assert len(get_channel()) == 0
コード例 #3
0
 def test_get(self):
     channel = add_channel('name1', 'uuid1')
     update_channel(channel, playable=True)
     channel = add_channel('name2', 'uuid2')
     update_channel(channel, playable=True)
     channel = add_channel('name3', 'uuid3')
     channel = add_channel('name4', 'uuid4')
     rv = self.app.get('/api/playlist/')
     assert len(json.loads(rv.data)) == 2
コード例 #4
0
    def test_get(self):
        self.login_as_admin()
        channel = add_channel('name1', 'uuid1')
        update_channel(channel, playable=True)

        title = 'music_title'
        artist = 'music_artist'
        album = 'music_album'
        company = 'music_company'
        public_time = '2013'
        kbps = '64'
        uuid = 'douban-uuid'
        new_music_list = []
        for i in range(20):
            self.cover.seek(0)
            self.audio.seek(0)
            music = add_music(title, artist, album, company, public_time,
                              kbps, self.cover, self.audio, uuid + str(i))
            new_music_list.append(music.key)
        update_channel(channel, music_list=new_music_list)
        rv = self.app.get('/api/playlist/%s/?num=10' % (channel.key))
        rv = json.loads(rv.data)
        assert len(rv) == 10

        rv = self.app.get('/api/playlist/%s/?num=50' % (channel.key))
        rv = json.loads(rv.data)
        assert len(rv) == 20
コード例 #5
0
ファイル: test_playlist.py プロジェクト: tiger8888/wang_fm
    def test_get_music_by_channel(self):
        name = 'channel_name'
        uuid = 'douban-cid'
        channel = add_channel(name, uuid)
        assert len(get_music_by_channel(channel, 20)) == 0

        title = 'music_title'
        artist = 'music_artist'
        album = 'music_album'
        company = 'music_company'
        public_time = '2013'
        kbps = '64'
        uuid = 'douban-uuid'
        new_music_list = []
        for i in range(20):
            self.cover.seek(0)
            self.audio.seek(0)
            music = add_music(title, artist, album, company, public_time, kbps,
                              self.cover, self.audio, uuid + str(i))
            new_music_list.append(music.key)
        update_channel(channel, music_list=new_music_list)
        channel = get_channel(key=channel.key)[0]
        assert len(get_music_by_channel(channel, 30)) == 20
        assert len(get_music_by_channel(channel, 20)) == 20
        assert len(get_music_by_channel(channel, 10)) == 10
コード例 #6
0
ファイル: test_channel.py プロジェクト: tiger8888/wang_fm
 def test_delete(self):
     self.login_as_admin()
     channel = add_channel('name1', 'uuid1')
     channel_key = channel.key
     assert len(get_channel(key=channel_key)) == 1
     self.app.delete('/api/channel/%s/' % (channel_key))
     assert len(get_channel(key=channel_key)) == 0
コード例 #7
0
ファイル: test_playlist.py プロジェクト: DouFM/wang_fm
    def test_get_music_by_channel(self):
        name = 'channel_name'
        uuid = 'douban-cid'
        channel = add_channel(name, uuid)
        assert len(get_music_by_channel(channel, 20)) == 0

        title = 'music_title'
        artist = 'music_artist'
        album = 'music_album'
        company = 'music_company'
        public_time = '2013'
        kbps = '64'
        uuid = 'douban-uuid'
        new_music_list = []
        for i in range(20):
            self.cover.seek(0)
            self.audio.seek(0)
            music = add_music(title, artist, album, company, public_time,
                              kbps, self.cover, self.audio, uuid + str(i))
            new_music_list.append(music.key)
        update_channel(channel, music_list=new_music_list)
        channel = get_channel(key=channel.key)[0]
        assert len(get_music_by_channel(channel, 30)) == 20
        assert len(get_music_by_channel(channel, 20)) == 20
        assert len(get_music_by_channel(channel, 10)) == 10
コード例 #8
0
ファイル: test_channel.py プロジェクト: seven1637/wang_fm
 def test_delete(self):
     self.login_as_admin()
     channel = add_channel("name1", "uuid1")
     channel_key = channel.key
     assert len(get_channel(key=channel_key)) == 1
     self.app.delete("/api/channel/%s/" % (channel_key))
     assert len(get_channel(key=channel_key)) == 0
コード例 #9
0
ファイル: test_channel.py プロジェクト: tiger8888/wang_fm
 def test_update_channel(self):
     name = 'channel_name'
     uuid = 'douban-cid'
     channel = add_channel(name, uuid)
     assert len(get_channel()) == 1
     update_channel(channel, music_list=['1' * 24, '2' * 24])
     assert len(get_channel()) == 1
     channel = get_channel()[0]
     assert channel.music_list == ['1' * 24, '2' * 24]
コード例 #10
0
ファイル: test_channel.py プロジェクト: seven1637/wang_fm
 def test_patch(self):
     self.login_as_admin()
     channel = add_channel("name1", "uuid1")
     channel_key = channel.key
     rv = self.app.patch(
         "/api/channel/%s/" % (channel_key), data={"name": "new_name", "update_num": 10, "playable": True}
     )
     rv = json.loads(rv.data)
     assert rv["name"] == "new_name"
     assert rv["update_num"] == 10
     assert rv["playable"] is True
コード例 #11
0
ファイル: douban.py プロジェクト: DouFM/wang_fm
def update_channel_list():
    r = requests.get("http://www.douban.com/j/app/radio/channels")
    r = json.loads(r.text)
    channel_list = []
    assert 'channels' in r
    for channel in r['channels']:
        cid = int(channel['channel_id'])
        uuid = DOUBAN_CHANNEL_UUID_FORMAT % (cid)
        if cid != 0 and len(get_channel(uuid=uuid)) == 0:
            # not private list and not in db
            new_channel = add_channel(channel['name'], uuid)
            channel_list.append(new_channel)
    return channel_list
コード例 #12
0
ファイル: test_channel.py プロジェクト: tiger8888/wang_fm
 def test_patch(self):
     self.login_as_admin()
     channel = add_channel('name1', 'uuid1')
     channel_key = channel.key
     rv = self.app.patch('/api/channel/%s/' % (channel_key),
                         data={
                             'name': 'new_name',
                             'update_num': 10,
                             'playable': True
                         })
     rv = json.loads(rv.data)
     assert rv['name'] == 'new_name'
     assert rv['update_num'] == 10
     assert rv['playable'] is True
コード例 #13
0
ファイル: test_channel.py プロジェクト: tiger8888/wang_fm
 def test_get(self):
     channel1 = add_channel('name1', 'uuid1')
     add_channel('name2', 'uuid2')
     add_channel('name3', 'uuid3')
     add_channel('name4', 'uuid4')
     rv = self.app.get('/api/channel/?key=' + channel1.key)
     # print json.loads(rv.data)
     assert len(json.loads(rv.data)) == 1
     rv = self.app.get('/api/channel/')
     assert json.loads(rv.data)['count'] == 4
     rv = self.app.get('/api/channel/?name=name1')
     assert len(json.loads(rv.data)) == 1
     rv = self.app.get('/api/channel/?start=0&end=2')
     assert len(json.loads(rv.data)) == 2
     rv = self.app.get('/api/channel/?start=0')
     assert len(json.loads(rv.data)) == 4
コード例 #14
0
ファイル: test_channel.py プロジェクト: seven1637/wang_fm
 def test_get(self):
     channel1 = add_channel("name1", "uuid1")
     add_channel("name2", "uuid2")
     add_channel("name3", "uuid3")
     add_channel("name4", "uuid4")
     rv = self.app.get("/api/channel/?key=" + channel1.key)
     # print json.loads(rv.data)
     assert len(json.loads(rv.data)) == 1
     rv = self.app.get("/api/channel/")
     assert json.loads(rv.data)["count"] == 4
     rv = self.app.get("/api/channel/?name=name1")
     assert len(json.loads(rv.data)) == 1
     rv = self.app.get("/api/channel/?start=0&end=2")
     assert len(json.loads(rv.data)) == 2
     rv = self.app.get("/api/channel/?start=0")
     assert len(json.loads(rv.data)) == 4