package me.moodcat.soundcloud; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import java.util.List; import org.junit.Assume; import org.junit.BeforeClass; import org.junit.Test; /** * Created by jaap on 5/1/15. */ public class SoundCloudIntegrationTest { final static String TRACK_URL = "https://soundcloud.com/katfyr/binary-original-mix"; final static String TRACK_USER = "KATFYR"; final static String TRACK_PERMALINK = "binary-original-mix"; final static String TRACK_TITLE = "Binary (Original Mix)"; final static int TRACK_ID = 101712416; final static String TRACK_ARTWORK_URL = "https://i1.sndcdn.com/artworks-000053288547-j50pwp-large.jpg"; final static int TRACK_DURATION = 283793; final static boolean TRACK_DOWNLOADABLE = false; static SoundCloudTrack testTrack; @BeforeClass public static void initializeTrack1() throws SoundCloudException { Assume.assumeTrue("true".equals(System.getProperty("runWithIntegration"))); final SoundCloudExtract soundCloudExtract = new SoundCloudExtract(); testTrack = soundCloudExtract.extract(TRACK_URL); } @Test public void testSearch() throws SoundCloudException { final SoundCloudSearch search = new SoundCloudSearch(); final List<SoundCloudTrack> tracks = search.search("Katfyr"); assertTrue(tracks.size() > 10); for (final SoundCloudTrack track : tracks) { assertTrue(track.getId() > 0); assertTrue(track.getPermalink() != null); } } @Test public void testExtractTitle() throws SoundCloudException { assertEquals(testTrack.getTitle(), TRACK_TITLE); } @Test public void testExtractPermalink() throws SoundCloudException { assertEquals(testTrack.getPermalink(), TRACK_PERMALINK); } @Test public void testExtractUser() throws SoundCloudException { assertEquals(testTrack.getUser().getUsername(), TRACK_USER); } @Test public void testExtractId() { assertEquals(testTrack.getId(), TRACK_ID); } @Test public void testArtworkUrl() { assertEquals(testTrack.getArtworkUrl(), TRACK_ARTWORK_URL); } @Test public void testDuration() { assertEquals(testTrack.getDuration(), TRACK_DURATION); } @Test public void testDownloadable() { assertEquals(testTrack.isDownloadable(), TRACK_DOWNLOADABLE); } }