NewPipeExtractor/extractor/src/test/java/org/schabi/newpipe/extractor/services/bandcamp/BandcampStreamExtractorTest...

95 lines
3.2 KiB
Java
Raw Normal View History

// Created by Fynn Godau 2019, licensed GNU GPL version 3 or later
package org.schabi.newpipe.extractor.services.bandcamp;
import org.junit.BeforeClass;
import org.junit.Test;
import org.schabi.newpipe.DownloaderTestImpl;
import org.schabi.newpipe.extractor.NewPipe;
import org.schabi.newpipe.extractor.exceptions.ExtractionException;
import org.schabi.newpipe.extractor.exceptions.ParsingException;
import org.schabi.newpipe.extractor.services.bandcamp.extractors.BandcampExtractorHelper;
import org.schabi.newpipe.extractor.services.bandcamp.extractors.BandcampStreamExtractor;
import org.schabi.newpipe.extractor.stream.StreamExtractor;
import java.io.IOException;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
2020-04-20 21:55:35 +02:00
import static org.schabi.newpipe.extractor.ServiceList.Bandcamp;
public class BandcampStreamExtractorTest {
private static BandcampStreamExtractor extractor;
@BeforeClass
public static void setUp() throws Exception {
NewPipe.init(DownloaderTestImpl.getInstance());
2020-04-20 21:55:35 +02:00
extractor = (BandcampStreamExtractor) Bandcamp
.getStreamExtractor("https://zachbenson.bandcamp.com/track/kitchen");
extractor.fetchPage();
}
@Test
public void testServiceId() {
}
@Test
public void testName() throws ParsingException {
assertEquals("kitchen", extractor.getName());
}
@Test
public void testUrl() throws ParsingException {
assertEquals("https://zachbenson.bandcamp.com/track/kitchen", extractor.getUrl());
}
@Test
public void testArtistUrl() throws ParsingException {
assertEquals("https://zachbenson.bandcamp.com/", extractor.getUploaderUrl());
}
@Test
public void testDescription() {
assertEquals(831, extractor.getDescription().getContent().length());
}
@Test
public void testArtistProfilePicture() {
String url = extractor.getUploaderAvatarUrl();
assertTrue(url.contains("://f4.bcbits.com/img/") && url.endsWith(".jpg"));
}
@Test
public void testNoArtistProfilePicture() throws ExtractionException {
2020-04-20 21:55:35 +02:00
assertEquals("", Bandcamp.getStreamExtractor("https://powertothequeerkids.bandcamp.com/track/human-nature").getUploaderAvatarUrl());
}
2019-12-21 21:47:06 +01:00
@Test
public void testAudioStream() {
assertTrue(extractor.getAudioStreams().get(0).getUrl().contains("bcbits.com/stream"));
assertEquals(1, extractor.getAudioStreams().size());
}
@Test
public void testCategory() throws ExtractionException, IOException {
2020-04-20 21:55:35 +02:00
StreamExtractor se = Bandcamp.getStreamExtractor("https://npet.bandcamp.com/track/track-1");
se.fetchPage();
assertEquals("acoustic", se.getCategory());
}
@Test
public void testLicense() throws ExtractionException, IOException {
2020-04-20 21:55:35 +02:00
StreamExtractor se = Bandcamp.getStreamExtractor("https://npet.bandcamp.com/track/track-1");
se.fetchPage();
assertEquals("CC BY 3.0", se.getLicence());
}
@Test
public void testTranslateIdsToUrl() throws ParsingException {
assertEquals("https://zachbenson.bandcamp.com/album/covers", BandcampExtractorHelper.getStreamUrlFromIds(2862267535L, 2063639444L, "album"));
// TODO write more test cases
}
}