Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Optionally run album tests against live instead of mock
  • Loading branch information
thelinmichael committed May 16, 2014
commit cbf27f274b5a7cd1838c215f51dd8772cc66de16
7 changes: 7 additions & 0 deletions src/test/java/se/michaelthelin/spotify/TestConfiguration.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package se.michaelthelin.spotify;

public class TestConfiguration {

public static boolean USE_MOCK_RESPONSES = false;

}
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
import org.mockito.runners.MockitoJUnitRunner;
import se.michaelthelin.spotify.Api;
import se.michaelthelin.spotify.HttpManager;
import se.michaelthelin.spotify.TestConfiguration;
import se.michaelthelin.spotify.TestUtil;
import se.michaelthelin.spotify.exceptions.BadFieldException;
import se.michaelthelin.spotify.exceptions.NotFoundException;
Expand All @@ -25,8 +26,12 @@ public class AlbumRequestTest {
public void shouldGetAlbumResult_async() throws Exception {
final Api api = Api.DEFAULT_API;

final HttpManager mockedHttpManager = TestUtil.MockedHttpManager.returningJson("album.json");
final AlbumRequest request = api.getAlbum("7e0ij2fpWaxOEHv5fUYZjd").httpManager(mockedHttpManager).build();
final AlbumRequest.Builder requestBuilder = api.getAlbum("0sNOF9WDwhWunNAHPD3Baj");

if (TestConfiguration.USE_MOCK_RESPONSES) {
requestBuilder.httpManager(TestUtil.MockedHttpManager.returningJson("album.json"));
}
final AlbumRequest request = requestBuilder.build();

final SettableFuture<Album> albumFuture = request.getAsync();

Expand Down Expand Up @@ -54,8 +59,12 @@ public void onFailure(Throwable throwable) {
public void shouldFailForNonExistingAlbumId_async() throws Exception {
final Api api = Api.DEFAULT_API;

final HttpManager mockedHttpManager = TestUtil.MockedHttpManager.returningJson("error_id-not-found.json");
final AlbumRequest request = api.getAlbum("7e0ij2fpWaxOEHv5fUYZjd").httpManager(mockedHttpManager).build();
final AlbumRequest.Builder requestBuilder = api.getAlbum("nonexistingid");
if (TestConfiguration.USE_MOCK_RESPONSES) {
requestBuilder.httpManager(TestUtil.MockedHttpManager.returningJson("error_id-not-found.json"));
}

final AlbumRequest request = requestBuilder.build();

final SettableFuture<Album> albumFuture = request.getAsync();

Expand All @@ -82,8 +91,11 @@ public void onFailure(Throwable throwable) {
public void shouldFailForBadField_async() throws Exception {
final Api api = Api.DEFAULT_API;

final HttpManager mockedHttpManager = TestUtil.MockedHttpManager.returningJson("error_bad-field.json");
final AlbumRequest request = api.getAlbum("7e0ij2fpWaxOEHv5fUYZjd").httpManager(mockedHttpManager).build();
final AlbumRequest.Builder requestBuilder = api.getAlbum("你好");
if (TestConfiguration.USE_MOCK_RESPONSES) {
requestBuilder.httpManager(TestUtil.MockedHttpManager.returningJson("error_bad-field.json"));
}
final AlbumRequest request = requestBuilder.build();

final SettableFuture<Album> albumFuture = request.getAsync();

Expand All @@ -110,10 +122,15 @@ public void onFailure(Throwable throwable) {
public void shouldGetAlbumResult_sync() throws Exception {
final Api api = Api.DEFAULT_API;

final HttpManager mockedHttpManager = TestUtil.MockedHttpManager.returningJson("album.json");
final AlbumRequest request = api.getAlbum("7e0ij2fpWaxOEHv5fUYZjd").httpManager(mockedHttpManager).build();
final AlbumRequest.Builder requestBuilder = api.getAlbum("0sNOF9WDwhWunNAHPD3Baj");

if (TestConfiguration.USE_MOCK_RESPONSES) {
requestBuilder.httpManager(TestUtil.MockedHttpManager.returningJson("album.json"));
}
AlbumRequest request = requestBuilder.build();

Album album = request.get();

assertNotNull(album);
assertEquals("0sNOF9WDwhWunNAHPD3Baj", album.getId());
}
Expand Down