|
24 | 24 |
|
25 | 25 | import static org.junit.jupiter.api.Assertions.assertEquals; |
26 | 26 | import static org.junit.jupiter.api.Assertions.assertSame; |
| 27 | +import static org.junit.jupiter.api.Assertions.fail; |
27 | 28 | import static org.schabi.newpipe.extractor.ServiceList.SoundCloud; |
28 | 29 |
|
29 | 30 | public class SoundcloudStreamExtractorTest { |
@@ -188,26 +189,33 @@ public static void setUp() throws Exception { |
188 | 189 | public void testAudioStreams() throws Exception { |
189 | 190 | super.testAudioStreams(); |
190 | 191 | final List<AudioStream> audioStreams = extractor.getAudioStreams(); |
191 | | - assertEquals(2, audioStreams.size()); |
| 192 | + assertEquals(3, audioStreams.size()); // 2 MP3 streams (1 progressive, 1 HLS) and 1 OPUS |
192 | 193 | audioStreams.forEach(audioStream -> { |
193 | 194 | final DeliveryMethod deliveryMethod = audioStream.getDeliveryMethod(); |
194 | 195 | final String mediaUrl = audioStream.getContent(); |
195 | 196 | if (audioStream.getFormat() == MediaFormat.OPUS) { |
196 | | - // Assert that it's an OPUS 64 kbps media URL with a single range which comes |
197 | | - // from an HLS SoundCloud CDN |
198 | | - ExtractorAsserts.assertContains("-hls-opus-media.sndcdn.com", mediaUrl); |
199 | | - ExtractorAsserts.assertContains(".64.opus", mediaUrl); |
200 | 197 | assertSame(DeliveryMethod.HLS, deliveryMethod, |
201 | 198 | "Wrong delivery method for stream " + audioStream.getId() + ": " |
202 | 199 | + deliveryMethod); |
203 | | - } else if (audioStream.getFormat() == MediaFormat.MP3) { |
204 | | - // Assert that it's a MP3 128 kbps media URL which comes from a progressive |
| 200 | + // Assert it's an OPUS 64 kbps media playlist URL which comes from an HLS |
205 | 201 | // SoundCloud CDN |
206 | | - ExtractorAsserts.assertContains("-media.sndcdn.com/bKOA7Pwbut93.128.mp3", |
207 | | - mediaUrl); |
208 | | - assertSame(DeliveryMethod.PROGRESSIVE_HTTP, deliveryMethod, |
209 | | - "Wrong delivery method for stream " + audioStream.getId() + ": " |
210 | | - + deliveryMethod); |
| 202 | + ExtractorAsserts.assertContains("-hls-opus-media.sndcdn.com", mediaUrl); |
| 203 | + ExtractorAsserts.assertContains(".64.opus", mediaUrl); |
| 204 | + } else if (audioStream.getFormat() == MediaFormat.MP3) { |
| 205 | + if (deliveryMethod == DeliveryMethod.PROGRESSIVE_HTTP) { |
| 206 | + // Assert it's a MP3 128 kbps media URL which comes from a progressive |
| 207 | + // SoundCloud CDN |
| 208 | + ExtractorAsserts.assertContains("-media.sndcdn.com/bKOA7Pwbut93.128.mp3", |
| 209 | + mediaUrl); |
| 210 | + } else if (deliveryMethod == DeliveryMethod.HLS) { |
| 211 | + // Assert it's a MP3 128 kbps media HLS playlist URL which comes from an HLS |
| 212 | + // SoundCloud CDN |
| 213 | + ExtractorAsserts.assertContains("-hls-media.sndcdn.com", mediaUrl); |
| 214 | + ExtractorAsserts.assertContains(".128.mp3", mediaUrl); |
| 215 | + } else { |
| 216 | + fail("Wrong delivery method for stream " + audioStream.getId() + ": " |
| 217 | + + deliveryMethod); |
| 218 | + } |
211 | 219 | } |
212 | 220 | }); |
213 | 221 | } |
|
0 commit comments