Various changes regarding tests
This commit is contained in:
parent
6bc7e3420e
commit
186936d041
10 changed files with 256 additions and 84 deletions
|
@ -69,6 +69,7 @@ public class BandcampRadioInfoItemExtractor implements StreamInfoItemExtractor {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getUploaderName() {
|
public String getUploaderName() {
|
||||||
|
// JSON does not contain uploader name
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -21,6 +21,7 @@ import javax.annotation.Nonnull;
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
|
|
||||||
|
@ -209,12 +210,12 @@ public class BandcampStreamExtractor extends StreamExtractor {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<VideoStream> getVideoStreams() {
|
public List<VideoStream> getVideoStreams() {
|
||||||
return null;
|
return Collections.EMPTY_LIST;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<VideoStream> getVideoOnlyStreams() {
|
public List<VideoStream> getVideoOnlyStreams() {
|
||||||
return null;
|
return Collections.EMPTY_LIST;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Nonnull
|
@Nonnull
|
||||||
|
|
|
@ -15,7 +15,7 @@ public class BandcampPlaylistStreamInfoItemExtractor extends BandcampStreamInfoI
|
||||||
|
|
||||||
private final JsonObject track;
|
private final JsonObject track;
|
||||||
private String substituteCoverUrl;
|
private String substituteCoverUrl;
|
||||||
private StreamingService service;
|
private final StreamingService service;
|
||||||
|
|
||||||
public BandcampPlaylistStreamInfoItemExtractor(JsonObject track, String uploaderUrl, StreamingService service) {
|
public BandcampPlaylistStreamInfoItemExtractor(JsonObject track, String uploaderUrl, StreamingService service) {
|
||||||
super(uploaderUrl);
|
super(uploaderUrl);
|
||||||
|
@ -45,6 +45,9 @@ public class BandcampPlaylistStreamInfoItemExtractor extends BandcampStreamInfoI
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getUploaderName() {
|
public String getUploaderName() {
|
||||||
|
/* Tracks can have an individual artist name, but it is not included in the
|
||||||
|
* given JSON.
|
||||||
|
*/
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -70,8 +70,8 @@ public class BandcampChannelExtractorTest implements BaseChannelExtractorTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void testServiceId() throws Exception {
|
public void testServiceId() {
|
||||||
assertEquals(4, extractor.getServiceId());
|
assertEquals(Bandcamp.getServiceId(), extractor.getServiceId());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -40,6 +40,7 @@ public class BandcampChannelLinkHandlerFactoryTest {
|
||||||
assertEquals("1196681540", linkHandler.getId("https://macbenson.bandcamp.com/"));
|
assertEquals("1196681540", linkHandler.getId("https://macbenson.bandcamp.com/"));
|
||||||
assertEquals("1581461772", linkHandler.getId("https://interovgm.com/releases"));
|
assertEquals("1581461772", linkHandler.getId("https://interovgm.com/releases"));
|
||||||
assertEquals("3321800855", linkHandler.getId("https://infiniteammo.bandcamp.com/"));
|
assertEquals("3321800855", linkHandler.getId("https://infiniteammo.bandcamp.com/"));
|
||||||
|
assertEquals("3775652329", linkHandler.getId("https://npet.bandcamp.com/"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|
|
@ -9,18 +9,21 @@ import org.schabi.newpipe.extractor.InfoItem;
|
||||||
import org.schabi.newpipe.extractor.NewPipe;
|
import org.schabi.newpipe.extractor.NewPipe;
|
||||||
import org.schabi.newpipe.extractor.exceptions.ExtractionException;
|
import org.schabi.newpipe.extractor.exceptions.ExtractionException;
|
||||||
import org.schabi.newpipe.extractor.playlist.PlaylistInfoItem;
|
import org.schabi.newpipe.extractor.playlist.PlaylistInfoItem;
|
||||||
|
import org.schabi.newpipe.extractor.services.BaseListExtractorTest;
|
||||||
|
import org.schabi.newpipe.extractor.services.DefaultTests;
|
||||||
import org.schabi.newpipe.extractor.services.bandcamp.extractors.BandcampFeaturedExtractor;
|
import org.schabi.newpipe.extractor.services.bandcamp.extractors.BandcampFeaturedExtractor;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import static org.junit.Assert.assertEquals;
|
||||||
import static org.junit.Assert.assertTrue;
|
import static org.junit.Assert.assertTrue;
|
||||||
import static org.schabi.newpipe.extractor.ServiceList.Bandcamp;
|
import static org.schabi.newpipe.extractor.ServiceList.Bandcamp;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tests for {@link BandcampFeaturedExtractor}
|
* Tests for {@link BandcampFeaturedExtractor}
|
||||||
*/
|
*/
|
||||||
public class BandcampFeaturedExtractorTest {
|
public class BandcampFeaturedExtractorTest implements BaseListExtractorTest {
|
||||||
|
|
||||||
private static BandcampFeaturedExtractor extractor;
|
private static BandcampFeaturedExtractor extractor;
|
||||||
|
|
||||||
|
@ -43,4 +46,38 @@ public class BandcampFeaturedExtractorTest {
|
||||||
assertTrue(list.get(0).getUrl().contains("https://"));
|
assertTrue(list.get(0).getUrl().contains("https://"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void testRelatedItems() throws Exception {
|
||||||
|
DefaultTests.defaultTestRelatedItems(extractor);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void testMoreRelatedItems() throws Exception {
|
||||||
|
// more items not implemented
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void testServiceId() {
|
||||||
|
assertEquals(Bandcamp.getServiceId(), extractor.getServiceId());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void testName() throws Exception {
|
||||||
|
assertEquals("Featured", extractor.getName());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void testId() {
|
||||||
|
assertEquals("", extractor.getId());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void testUrl() throws Exception {
|
||||||
|
assertEquals("", extractor.getUrl());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void testOriginalUrl() throws Exception {
|
||||||
|
assertEquals("", extractor.getOriginalUrl());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,6 +10,8 @@ import org.schabi.newpipe.extractor.exceptions.ContentNotAvailableException;
|
||||||
import org.schabi.newpipe.extractor.exceptions.ExtractionException;
|
import org.schabi.newpipe.extractor.exceptions.ExtractionException;
|
||||||
import org.schabi.newpipe.extractor.exceptions.ParsingException;
|
import org.schabi.newpipe.extractor.exceptions.ParsingException;
|
||||||
import org.schabi.newpipe.extractor.playlist.PlaylistExtractor;
|
import org.schabi.newpipe.extractor.playlist.PlaylistExtractor;
|
||||||
|
import org.schabi.newpipe.extractor.services.BasePlaylistExtractorTest;
|
||||||
|
import org.schabi.newpipe.extractor.services.DefaultTests;
|
||||||
import org.schabi.newpipe.extractor.services.bandcamp.extractors.BandcampPlaylistExtractor;
|
import org.schabi.newpipe.extractor.services.bandcamp.extractors.BandcampPlaylistExtractor;
|
||||||
import org.schabi.newpipe.extractor.stream.StreamInfoItem;
|
import org.schabi.newpipe.extractor.stream.StreamInfoItem;
|
||||||
|
|
||||||
|
@ -90,7 +92,7 @@ public class BandcampPlaylistExtractorTest {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class ComingOfAge {
|
public static class ComingOfAge implements BasePlaylistExtractorTest {
|
||||||
|
|
||||||
private static PlaylistExtractor extractor;
|
private static PlaylistExtractor extractor;
|
||||||
|
|
||||||
|
@ -102,48 +104,78 @@ public class BandcampPlaylistExtractorTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void getThumbnailUrl() throws ParsingException {
|
public void testThumbnailUrl() throws ParsingException {
|
||||||
assertTrue(extractor.getThumbnailUrl().contains("f4.bcbits.com/img"));
|
assertTrue(extractor.getThumbnailUrl().contains("f4.bcbits.com/img"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void getBannerUrl() throws ParsingException {
|
public void testBannerUrl() throws ParsingException {
|
||||||
assertEquals("", extractor.getBannerUrl());
|
assertEquals("", extractor.getBannerUrl());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void getUploaderUrl() throws ParsingException {
|
public void testUploaderUrl() throws ParsingException {
|
||||||
assertTrue(extractor.getUploaderUrl().contains("macbenson.bandcamp.com"));
|
assertTrue(extractor.getUploaderUrl().contains("macbenson.bandcamp.com"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void getUploaderName() throws ParsingException {
|
public void testUploaderName() throws ParsingException {
|
||||||
assertEquals("mac benson", extractor.getUploaderName());
|
assertEquals("mac benson", extractor.getUploaderName());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void getUploaderAvatarUrl() throws ParsingException {
|
public void testUploaderAvatarUrl() throws ParsingException {
|
||||||
assertTrue(extractor.getUploaderAvatarUrl().contains("f4.bcbits.com/img"));
|
assertTrue(extractor.getUploaderAvatarUrl().contains("f4.bcbits.com/img"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void getStreamCount() throws ParsingException {
|
public void testStreamCount() throws ParsingException {
|
||||||
assertEquals(5, extractor.getStreamCount());
|
assertEquals(5, extractor.getStreamCount());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void getInitialPage() throws IOException, ExtractionException {
|
public void testInitialPage() throws IOException, ExtractionException {
|
||||||
assertNotNull(extractor.getInitialPage().getItems().get(0));
|
assertNotNull(extractor.getInitialPage().getItems().get(0));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void getName() throws ParsingException {
|
public void testServiceId() {
|
||||||
|
assertEquals(Bandcamp.getServiceId(), extractor.getServiceId());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testName() throws ParsingException {
|
||||||
assertEquals("Coming of Age", extractor.getName());
|
assertEquals("Coming of Age", extractor.getName());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void getNextPageUrl() throws IOException, ExtractionException {
|
public void testId() throws Exception {
|
||||||
|
assertEquals("https://macbenson.bandcamp.com/album/coming-of-age", extractor.getId());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testUrl() throws Exception {
|
||||||
|
assertEquals("https://macbenson.bandcamp.com/album/coming-of-age", extractor.getUrl());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testOriginalUrl() throws Exception {
|
||||||
|
assertEquals("https://macbenson.bandcamp.com/album/coming-of-age", extractor.getOriginalUrl());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testNextPageUrl() throws IOException, ExtractionException {
|
||||||
assertNull(extractor.getPage(extractor.getInitialPage().getNextPage()));
|
assertNull(extractor.getPage(extractor.getInitialPage().getNextPage()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testRelatedItems() throws Exception {
|
||||||
|
//DefaultTests.defaultTestRelatedItems(extractor);
|
||||||
|
// Would fail because BandcampPlaylistStreamInfoItemExtractor.getUploaderName() returns an empty String
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testMoreRelatedItems() throws Exception {
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,18 +8,21 @@ import org.schabi.newpipe.DownloaderTestImpl;
|
||||||
import org.schabi.newpipe.extractor.InfoItem;
|
import org.schabi.newpipe.extractor.InfoItem;
|
||||||
import org.schabi.newpipe.extractor.NewPipe;
|
import org.schabi.newpipe.extractor.NewPipe;
|
||||||
import org.schabi.newpipe.extractor.exceptions.ExtractionException;
|
import org.schabi.newpipe.extractor.exceptions.ExtractionException;
|
||||||
|
import org.schabi.newpipe.extractor.services.BaseListExtractorTest;
|
||||||
|
import org.schabi.newpipe.extractor.services.DefaultTests;
|
||||||
import org.schabi.newpipe.extractor.services.bandcamp.extractors.BandcampRadioExtractor;
|
import org.schabi.newpipe.extractor.services.bandcamp.extractors.BandcampRadioExtractor;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import static org.junit.Assert.assertEquals;
|
||||||
import static org.junit.Assert.assertTrue;
|
import static org.junit.Assert.assertTrue;
|
||||||
import static org.schabi.newpipe.extractor.ServiceList.Bandcamp;
|
import static org.schabi.newpipe.extractor.ServiceList.Bandcamp;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tests for {@link BandcampRadioExtractor}
|
* Tests for {@link BandcampRadioExtractor}
|
||||||
*/
|
*/
|
||||||
public class BandcampRadioExtractorTest {
|
public class BandcampRadioExtractorTest implements BaseListExtractorTest {
|
||||||
|
|
||||||
private static BandcampRadioExtractor extractor;
|
private static BandcampRadioExtractor extractor;
|
||||||
|
|
||||||
|
@ -36,4 +39,40 @@ public class BandcampRadioExtractorTest {
|
||||||
List<InfoItem> list = Bandcamp.getKioskList().getExtractorById("Radio", null).getInitialPage().getItems();
|
List<InfoItem> list = Bandcamp.getKioskList().getExtractorById("Radio", null).getInitialPage().getItems();
|
||||||
assertTrue(list.size() > 300);
|
assertTrue(list.size() > 300);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testRelatedItems() throws Exception {
|
||||||
|
//DefaultTests.defaultTestRelatedItems(extractor);
|
||||||
|
// Would fail because BandcampRadioInfoItemExtractor.getUploaderName() returns an empty String
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testMoreRelatedItems() throws Exception {
|
||||||
|
// All items are on one page
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testServiceId() {
|
||||||
|
assertEquals(Bandcamp.getServiceId(), extractor.getServiceId());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testName() throws Exception {
|
||||||
|
assertEquals("Radio", extractor.getName());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testId() {
|
||||||
|
assertEquals("Radio", extractor.getId());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testUrl() throws Exception {
|
||||||
|
assertEquals("https://bandcamp.com/api/bcweekly/1/list", extractor.getUrl());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testOriginalUrl() throws Exception {
|
||||||
|
assertEquals("https://bandcamp.com/api/bcweekly/1/list", extractor.getOriginalUrl());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -107,7 +107,7 @@ public class BandcampSearchExtractorTest {
|
||||||
|
|
||||||
public static class DefaultTest extends DefaultSearchExtractorTest {
|
public static class DefaultTest extends DefaultSearchExtractorTest {
|
||||||
private static SearchExtractor extractor;
|
private static SearchExtractor extractor;
|
||||||
private static final String QUERY = "test";
|
private static final String QUERY = "noise";
|
||||||
|
|
||||||
@BeforeClass
|
@BeforeClass
|
||||||
public static void setUp() throws Exception {
|
public static void setUp() throws Exception {
|
||||||
|
|
|
@ -6,103 +6,161 @@ import org.junit.BeforeClass;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.schabi.newpipe.DownloaderTestImpl;
|
import org.schabi.newpipe.DownloaderTestImpl;
|
||||||
import org.schabi.newpipe.extractor.NewPipe;
|
import org.schabi.newpipe.extractor.NewPipe;
|
||||||
|
import org.schabi.newpipe.extractor.StreamingService;
|
||||||
import org.schabi.newpipe.extractor.exceptions.ExtractionException;
|
import org.schabi.newpipe.extractor.exceptions.ExtractionException;
|
||||||
import org.schabi.newpipe.extractor.exceptions.ParsingException;
|
import org.schabi.newpipe.extractor.exceptions.ParsingException;
|
||||||
|
import org.schabi.newpipe.extractor.services.DefaultStreamExtractorTest;
|
||||||
import org.schabi.newpipe.extractor.services.bandcamp.extractors.BandcampExtractorHelper;
|
import org.schabi.newpipe.extractor.services.bandcamp.extractors.BandcampExtractorHelper;
|
||||||
import org.schabi.newpipe.extractor.services.bandcamp.extractors.BandcampStreamExtractor;
|
import org.schabi.newpipe.extractor.services.bandcamp.extractors.BandcampStreamExtractor;
|
||||||
import org.schabi.newpipe.extractor.stream.StreamExtractor;
|
import org.schabi.newpipe.extractor.stream.StreamExtractor;
|
||||||
|
import org.schabi.newpipe.extractor.stream.StreamType;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.List;
|
||||||
import java.util.TimeZone;
|
import java.util.TimeZone;
|
||||||
|
|
||||||
import static org.junit.Assert.assertEquals;
|
import static org.junit.Assert.assertEquals;
|
||||||
import static org.junit.Assert.assertTrue;
|
import static org.junit.Assert.assertTrue;
|
||||||
import static org.schabi.newpipe.extractor.ServiceList.Bandcamp;
|
import static org.schabi.newpipe.extractor.ServiceList.Bandcamp;
|
||||||
|
|
||||||
public class BandcampStreamExtractorTest {
|
/**
|
||||||
|
* Tests for {@link BandcampStreamExtractor}
|
||||||
|
*/
|
||||||
|
public class BandcampStreamExtractorTest extends DefaultStreamExtractorTest {
|
||||||
|
|
||||||
private static BandcampStreamExtractor extractor;
|
private static BandcampStreamExtractor extractor;
|
||||||
|
|
||||||
@BeforeClass
|
@BeforeClass
|
||||||
public static void setUp() throws Exception {
|
public static void setUp() throws ExtractionException, IOException {
|
||||||
NewPipe.init(DownloaderTestImpl.getInstance());
|
NewPipe.init(DownloaderTestImpl.getInstance());
|
||||||
|
// This test track was uploaded specifically for NewPipeExtractor tests
|
||||||
|
|
||||||
extractor = (BandcampStreamExtractor) Bandcamp
|
extractor = (BandcampStreamExtractor) Bandcamp
|
||||||
.getStreamExtractor("https://zachbenson.bandcamp.com/track/kitchen");
|
.getStreamExtractor("https://npet.bandcamp.com/track/track-1");
|
||||||
extractor.fetchPage();
|
extractor.fetchPage();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Override
|
||||||
public void testServiceId() {
|
public StreamExtractor extractor() {
|
||||||
assertEquals(4, extractor.getServiceId());
|
return extractor;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public StreamingService expectedService() {
|
||||||
|
return Bandcamp;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String expectedName() {
|
||||||
|
return "Track #1";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String expectedId() {
|
||||||
|
return "https://npet.bandcamp.com/track/track-1";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String expectedUrlContains() {
|
||||||
|
return "https://npet.bandcamp.com/track/track-1";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String expectedOriginalUrlContains() {
|
||||||
|
return "https://npet.bandcamp.com/track/track-1";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public StreamType expectedStreamType() {
|
||||||
|
return StreamType.AUDIO_STREAM;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String expectedUploaderName() {
|
||||||
|
return "NewPipeExtractorTest";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String expectedUploaderUrl() {
|
||||||
|
return "https://npet.bandcamp.com/";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<String> expectedDescriptionContains() {
|
||||||
|
return Collections.singletonList("This sample track was created using MuseScore.");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public long expectedLength() {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public long expectedViewCountAtLeast() {
|
||||||
|
return Long.MIN_VALUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String expectedUploadDate() {
|
||||||
|
return "2020-03-17 18:37:44.000";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String expectedTextualUploadDate() {
|
||||||
|
return "17 Mar 2020 18:37:44 GMT";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public long expectedLikeCountAtLeast() {
|
||||||
|
return Long.MIN_VALUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public long expectedDislikeCountAtLeast() {
|
||||||
|
return Long.MIN_VALUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean expectedHasVideoStreams() {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean expectedHasRelatedStreams() {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean expectedHasSubtitles() {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean expectedHasFrames() {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String expectedLicence() {
|
||||||
|
return "CC BY 3.0";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String expectedCategory() {
|
||||||
|
return "acoustic";
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testName() throws ParsingException {
|
public void testArtistProfilePicture() throws Exception {
|
||||||
assertEquals("kitchen", extractor.getName());
|
String url = extractor().getUploaderAvatarUrl();
|
||||||
}
|
|
||||||
|
|
||||||
@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() {
|
|
||||||
assertTrue(extractor.getDescription().getContent().contains("Boy, you've taken up my thoughts"));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testArtistProfilePicture() {
|
|
||||||
String url = extractor.getUploaderAvatarUrl();
|
|
||||||
assertTrue(url.contains("://f4.bcbits.com/img/") && url.endsWith(".jpg"));
|
assertTrue(url.contains("://f4.bcbits.com/img/") && url.endsWith(".jpg"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testUploadDate() throws ParsingException {
|
|
||||||
final Calendar expectedCalendar = Calendar.getInstance();
|
|
||||||
// 27 Sep 2019 21:49:14 GMT
|
|
||||||
expectedCalendar.setTimeZone(TimeZone.getTimeZone("GMT"));
|
|
||||||
expectedCalendar.set(2019, Calendar.SEPTEMBER, 27, 21, 49, 14);
|
|
||||||
expectedCalendar.set(Calendar.MILLISECOND, 0);
|
|
||||||
|
|
||||||
assertEquals(expectedCalendar.getTimeInMillis(), extractor.getUploadDate().date().getTimeInMillis());
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testNoArtistProfilePicture() throws ExtractionException {
|
|
||||||
assertEquals("", Bandcamp.getStreamExtractor("https://powertothequeerkids.bandcamp.com/track/human-nature").getUploaderAvatarUrl());
|
|
||||||
}
|
|
||||||
|
|
||||||
@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 {
|
|
||||||
StreamExtractor se = Bandcamp.getStreamExtractor("https://npet.bandcamp.com/track/track-1");
|
|
||||||
se.fetchPage();
|
|
||||||
assertEquals("acoustic", se.getCategory());
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testLicense() throws ExtractionException, IOException {
|
|
||||||
StreamExtractor se = Bandcamp.getStreamExtractor("https://npet.bandcamp.com/track/track-1");
|
|
||||||
se.fetchPage();
|
|
||||||
assertEquals("CC BY 3.0", se.getLicence());
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testTranslateIdsToUrl() throws ParsingException {
|
public void testTranslateIdsToUrl() throws ParsingException {
|
||||||
assertEquals("https://zachbenson.bandcamp.com/album/covers", BandcampExtractorHelper.getStreamUrlFromIds(2862267535L, 2063639444L, "album"));
|
assertEquals("https://npet.bandcamp.com/track/track-1", BandcampExtractorHelper.getStreamUrlFromIds(3775652329L, 4207805220L, "track"));
|
||||||
// TODO write more test cases
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue