-
Notifications
You must be signed in to change notification settings - Fork 57
/
test_api.py
105 lines (74 loc) · 3.02 KB
/
test_api.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
from __future__ import unicode_literals
import unittest
from mopidy.models import Track
from mopidy_soundcloud import SoundCloudExtension
from mopidy_soundcloud.soundcloud import SoundCloudClient
class ApiTest(unittest.TestCase):
def setUp(self):
config = SoundCloudExtension().get_config_schema()
config['auth_token'] = '1-35204-61921957-55796ebef403996'
# using this user http://maildrop.cc/inbox/mopidytestuser
self.api = SoundCloudClient(config)
def test_resolves_string(self):
id = self.api.parse_track_uri('soundcloud:song.38720262')
self.assertEquals(id, '38720262')
def test_resolves_object(self):
trackc = {}
trackc[b'uri'] = 'soundcloud:song.38720262'
track = Track(**trackc)
id = self.api.parse_track_uri(track)
self.assertEquals(id, '38720262')
def test_resolves_emptyTrack(self):
track = self.api.get_track('s38720262')
self.assertIsInstance(track, Track)
self.assertEquals(track.uri, None)
def test_resolves_Track(self):
track = self.api.get_track('38720262')
self.assertIsInstance(track, Track)
self.assertEquals(
track.uri,
'soundcloud:song/Burial Four Tet - Nova.38720262'
)
def test_resolves_http_url(self):
track = self.api.resolve_url(
'https://soundcloud.com/swedensfinestmusicblog/'
'robert-parker-brooklyn-brigde'
)[0]
self.assertIsInstance(track, Track)
self.assertEquals(
track.uri,
'soundcloud:song/Robert Parker - Brooklyn Brigde.135101951'
)
def test_get_user_liked(self):
tracks = self.api.get_user_liked()
self.assertIsInstance(tracks, list)
def test_get_user_stream(self):
tracks = self.api.get_user_stream()
self.assertIsInstance(tracks, list)
def test_get_explore(self):
tracks = self.api.get_explore()
self.assertIsInstance(tracks, list)
self.assertEquals(tracks[0], 'Popular+Music')
def test_get_explore_popular_music(self):
tracks = self.api.get_explore('1')
self.assertIsInstance(tracks, list)
self.assertIsInstance(tracks[0], Track)
def test_get_followings(self):
tracks = self.api.get_followings()
self.assertIsInstance(tracks, list)
def test_get_sets(self):
tracks = self.api.get_sets()
self.assertIsInstance(tracks, list)
def test_safe_url(self):
self.assertEquals('Barsuk Records',
self.api.safe_url('"@"Barsuk Records'))
self.assertEquals('_Barsuk Records',
self.api.safe_url('_Barsuk \'Records\''))
def test_resolves_stream_Track(self):
track = self.api.get_track('38720262', True)
self.assertIsInstance(track, Track)
self.assertEquals(
track.uri,
'https://api.soundcloud.com/tracks/'
'38720262/stream?client_id=93e33e327fd8a9b77becd179652272e2'
)