Skip to content

Commit 170bc4d

Browse files
committed
Merge pull request #114 from kaaes/fix_109
Fixes #109
2 parents d3e3634 + d064e1b commit 170bc4d

2 files changed

Lines changed: 79 additions & 3 deletions

File tree

spotify-api/src/androidTest/java/kaaes/spotify/webapi/android/SpotifyServiceTest.java renamed to spotify-api/src/androidTest/java/kaaes/spotify/webapi/android/SpotifyServiceAndroidTest.java

Lines changed: 77 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,22 @@
1616
import org.junit.Before;
1717
import org.junit.Test;
1818

19+
import java.util.HashMap;
20+
import java.util.Map;
21+
import java.util.concurrent.CountDownLatch;
22+
import java.util.concurrent.TimeUnit;
23+
1924
import kaaes.spotify.webapi.android.models.Album;
2025
import kaaes.spotify.webapi.android.models.AlbumsPager;
2126
import kaaes.spotify.webapi.android.models.Artist;
27+
import kaaes.spotify.webapi.android.models.ArtistsCursorPager;
2228
import kaaes.spotify.webapi.android.models.Pager;
2329
import kaaes.spotify.webapi.android.models.Playlist;
2430
import kaaes.spotify.webapi.android.models.PlaylistSimple;
2531
import kaaes.spotify.webapi.android.models.Track;
2632
import kaaes.spotify.webapi.android.models.Tracks;
33+
import retrofit.Callback;
34+
import retrofit.RetrofitError;
2735

2836
import static junit.framework.Assert.assertEquals;
2937

@@ -36,7 +44,7 @@
3644
* Running the tests:
3745
* ./gradlew :spotify-api:connectedAndroidTest -Pandroid.testInstrumentationRunnerArguments.access_token=valid_access_token
3846
*/
39-
public class SpotifyServiceTest {
47+
public class SpotifyServiceAndroidTest {
4048

4149
private Gson mGson = new GsonBuilder().create();
4250
private OkHttpClient mClient = new OkHttpClient();
@@ -167,6 +175,74 @@ public void getMyPlaylist() throws Exception {
167175
compareAsJSON(response, playlist);
168176
}
169177

178+
@Test
179+
public void getFollowedArtists() throws Exception {
180+
final CountDownLatch latch = new CountDownLatch(1);
181+
182+
final ArtistsCursorPager[] payload = {null};
183+
184+
mService.getFollowedArtists(new Callback<ArtistsCursorPager>() {
185+
@Override
186+
public void success(ArtistsCursorPager artistsCursorPager, retrofit.client.Response response) {
187+
payload[0] = artistsCursorPager;
188+
latch.countDown();
189+
}
190+
191+
@Override
192+
public void failure(RetrofitError error) {
193+
latch.countDown();
194+
}
195+
});
196+
197+
latch.await(1, TimeUnit.SECONDS);
198+
199+
Request request = new Request.Builder()
200+
.get()
201+
.headers(mAuthHeader)
202+
.url("https://api.spotify.com/v1/me/following?type=artist")
203+
.build();
204+
205+
Response response = mClient.newCall(request).execute();
206+
assertEquals(200, response.code());
207+
208+
compareAsJSON(response, payload[0]);
209+
}
210+
211+
@Test
212+
public void getFollowedArtistsWithOptions() throws Exception {
213+
final CountDownLatch latch = new CountDownLatch(1);
214+
215+
final ArtistsCursorPager[] payload = {null};
216+
217+
Map<String, Object> options = new HashMap<>();
218+
options.put(SpotifyService.LIMIT, 45);
219+
mService.getFollowedArtists(options, new Callback<ArtistsCursorPager>() {
220+
@Override
221+
public void success(ArtistsCursorPager artistsCursorPager, retrofit.client.Response response) {
222+
payload[0] = artistsCursorPager;
223+
latch.countDown();
224+
}
225+
226+
@Override
227+
public void failure(RetrofitError error) {
228+
latch.countDown();
229+
}
230+
});
231+
232+
latch.await(1, TimeUnit.SECONDS);
233+
234+
Request request = new Request.Builder()
235+
.get()
236+
.headers(mAuthHeader)
237+
.url("https://api.spotify.com/v1/me/following?type=artist&limit=45")
238+
.build();
239+
240+
Response response = mClient.newCall(request).execute();
241+
assertEquals(200, response.code());
242+
243+
compareAsJSON(response, payload[0]);
244+
}
245+
170246
private void compareAsJSON(Response response, Object model) throws Exception {
171247
JsonParser parser = new JsonParser();
172248

spotify-api/src/main/java/kaaes/spotify/webapi/android/SpotifyService.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1438,7 +1438,7 @@ public interface SpotifyService {
14381438
* @see <a href="https://developer.spotify.com/web-api/get-followed-artists/">Get User's Followed Artists</a>
14391439
*/
14401440
@GET("/me/following?type=artist")
1441-
Result getFollowedArtists(Callback<ArtistsCursorPager> callback);
1441+
void getFollowedArtists(Callback<ArtistsCursorPager> callback);
14421442

14431443
/**
14441444
* Get the current user's followed artists.
@@ -1461,7 +1461,7 @@ public interface SpotifyService {
14611461
* @see <a href="https://developer.spotify.com/web-api/get-followed-artists/">Get User's Followed Artists</a>
14621462
*/
14631463
@GET("/me/following?type=artist")
1464-
Result getFollowedArtists(@QueryMap Map<String, Object> options, Callback<ArtistsCursorPager> callback);
1464+
void getFollowedArtists(@QueryMap Map<String, Object> options, Callback<ArtistsCursorPager> callback);
14651465

14661466
/**********
14671467
* Search *

0 commit comments

Comments
 (0)