Skip to content

Commit ee625c3

Browse files
committed
Inherit from DefaultListExtractorTest in channel tab tests
1 parent 276c293 commit ee625c3

19 files changed

Lines changed: 2474 additions & 2469 deletions

extractor/src/test/java/org/schabi/newpipe/extractor/services/bandcamp/BandcampChannelTabExtractorTest.java

Lines changed: 23 additions & 84 deletions
Original file line numberDiff line numberDiff line change
@@ -3,22 +3,27 @@
33
import org.junit.jupiter.api.BeforeAll;
44
import org.junit.jupiter.api.Test;
55
import org.schabi.newpipe.downloader.DownloaderTestImpl;
6+
import org.schabi.newpipe.extractor.InfoItem;
67
import org.schabi.newpipe.extractor.NewPipe;
8+
import org.schabi.newpipe.extractor.StreamingService;
9+
import org.schabi.newpipe.extractor.channel.tabs.ChannelTabExtractor;
710
import org.schabi.newpipe.extractor.channel.tabs.ChannelTabs;
811
import org.schabi.newpipe.extractor.exceptions.ExtractionException;
912
import org.schabi.newpipe.extractor.exceptions.ParsingException;
1013
import org.schabi.newpipe.extractor.services.BaseListExtractorTest;
14+
import org.schabi.newpipe.extractor.services.DefaultListExtractorTest;
1115
import org.schabi.newpipe.extractor.services.bandcamp.extractors.BandcampChannelTabExtractor;
1216

1317
import java.io.IOException;
1418

1519
import static org.junit.jupiter.api.Assertions.assertEquals;
1620
import static org.schabi.newpipe.extractor.ServiceList.Bandcamp;
21+
import static org.schabi.newpipe.extractor.ServiceList.PeerTube;
1722
import static org.schabi.newpipe.extractor.services.DefaultTests.defaultTestRelatedItems;
1823

1924
class BandcampChannelTabExtractorTest {
2025

21-
static class Tracks implements BaseListExtractorTest {
26+
static class Tracks extends DefaultListExtractorTest<ChannelTabExtractor> {
2227
private static BandcampChannelTabExtractor extractor;
2328

2429
@BeforeAll
@@ -29,50 +34,17 @@ static void setUp() throws IOException, ExtractionException {
2934
extractor.fetchPage();
3035
}
3136

32-
@Test
33-
@Override
34-
public void testServiceId() throws Exception {
35-
assertEquals(Bandcamp.getServiceId(), extractor.getServiceId());
36-
}
37-
38-
@Test
39-
@Override
40-
public void testName() throws Exception {
41-
assertEquals(ChannelTabs.TRACKS, extractor.getName());
42-
}
43-
44-
@Test
45-
@Override
46-
public void testId() throws ParsingException {
47-
assertEquals("2464198920", extractor.getId());
48-
}
49-
50-
@Test
51-
@Override
52-
public void testUrl() throws ParsingException {
53-
assertEquals("https://wintergatan.bandcamp.com/track", extractor.getUrl());
54-
}
55-
56-
@Test
57-
@Override
58-
public void testOriginalUrl() throws Exception {
59-
assertEquals("https://wintergatan.bandcamp.com/track", extractor.getOriginalUrl());
60-
}
61-
62-
@Test
63-
@Override
64-
public void testRelatedItems() throws Exception {
65-
defaultTestRelatedItems(extractor);
66-
}
67-
68-
@Test
69-
@Override
70-
public void testMoreRelatedItems() throws Exception {
71-
// Bandcamp only return a single page
72-
}
37+
@Override public ChannelTabExtractor extractor() throws Exception { return extractor; }
38+
@Override public StreamingService expectedService() throws Exception { return Bandcamp; }
39+
@Override public String expectedName() throws Exception { return ChannelTabs.TRACKS; }
40+
@Override public String expectedId() throws Exception { return "2464198920"; }
41+
@Override public String expectedUrlContains() throws Exception { return "https://wintergatan.bandcamp.com/track"; }
42+
@Override public String expectedOriginalUrlContains() throws Exception { return "https://wintergatan.bandcamp.com/track"; }
43+
@Override public InfoItem.InfoType expectedInfoItemType() { return InfoItem.InfoType.STREAM; }
44+
@Override public boolean expectedHasMoreItems() { return false; }
7345
}
7446

75-
static class Albums implements BaseListExtractorTest {
47+
static class Albums extends DefaultListExtractorTest<ChannelTabExtractor> {
7648
private static BandcampChannelTabExtractor extractor;
7749

7850
@BeforeAll
@@ -83,46 +55,13 @@ static void setUp() throws IOException, ExtractionException {
8355
extractor.fetchPage();
8456
}
8557

86-
@Test
87-
@Override
88-
public void testServiceId() {
89-
assertEquals(Bandcamp.getServiceId(), extractor.getServiceId());
90-
}
91-
92-
@Test
93-
@Override
94-
public void testName() throws Exception {
95-
assertEquals(ChannelTabs.ALBUMS, extractor.getName());
96-
}
97-
98-
@Test
99-
@Override
100-
public void testId() throws ParsingException {
101-
assertEquals("2450875064", extractor.getId());
102-
}
103-
104-
@Test
105-
@Override
106-
public void testUrl() throws ParsingException {
107-
assertEquals("https://toupie.bandcamp.com/album", extractor.getUrl());
108-
}
109-
110-
@Test
111-
@Override
112-
public void testOriginalUrl() throws Exception {
113-
assertEquals("https://toupie.bandcamp.com/album", extractor.getOriginalUrl());
114-
}
115-
116-
@Test
117-
@Override
118-
public void testRelatedItems() throws Exception {
119-
defaultTestRelatedItems(extractor);
120-
}
121-
122-
@Test
123-
@Override
124-
public void testMoreRelatedItems() throws Exception {
125-
// Bandcamp only return a single page
126-
}
58+
@Override public ChannelTabExtractor extractor() throws Exception { return extractor; }
59+
@Override public StreamingService expectedService() throws Exception { return Bandcamp; }
60+
@Override public String expectedName() throws Exception { return ChannelTabs.ALBUMS; }
61+
@Override public String expectedId() throws Exception { return "2450875064"; }
62+
@Override public String expectedUrlContains() throws Exception { return "https://toupie.bandcamp.com/album"; }
63+
@Override public String expectedOriginalUrlContains() throws Exception { return "https://toupie.bandcamp.com/album"; }
64+
@Override public InfoItem.InfoType expectedInfoItemType() { return InfoItem.InfoType.PLAYLIST; }
65+
@Override public boolean expectedHasMoreItems() { return false; }
12766
}
12867
}

extractor/src/test/java/org/schabi/newpipe/extractor/services/peertube/PeertubeAccountTabExtractorTest.java

Lines changed: 22 additions & 104 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,14 @@
33
import org.junit.jupiter.api.BeforeAll;
44
import org.junit.jupiter.api.Test;
55
import org.schabi.newpipe.downloader.DownloaderTestImpl;
6+
import org.schabi.newpipe.extractor.InfoItem;
67
import org.schabi.newpipe.extractor.NewPipe;
8+
import org.schabi.newpipe.extractor.StreamingService;
9+
import org.schabi.newpipe.extractor.channel.tabs.ChannelTabExtractor;
710
import org.schabi.newpipe.extractor.channel.tabs.ChannelTabs;
811
import org.schabi.newpipe.extractor.exceptions.ParsingException;
912
import org.schabi.newpipe.extractor.services.BaseListExtractorTest;
13+
import org.schabi.newpipe.extractor.services.DefaultListExtractorTest;
1014
import org.schabi.newpipe.extractor.services.peertube.extractors.PeertubeChannelTabExtractor;
1115

1216
import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -16,7 +20,7 @@
1620

1721
class PeertubeAccountTabExtractorTest {
1822

19-
static class Videos implements BaseListExtractorTest {
23+
static class Videos extends DefaultListExtractorTest<ChannelTabExtractor> {
2024
private static PeertubeChannelTabExtractor extractor;
2125

2226
@BeforeAll
@@ -29,60 +33,17 @@ static void setUp() throws Exception {
2933
extractor.fetchPage();
3034
}
3135

32-
/*//////////////////////////////////////////////////////////////////////////
33-
// Extractor
34-
//////////////////////////////////////////////////////////////////////////*/
35-
36-
@Test
37-
@Override
38-
public void testServiceId() {
39-
assertEquals(PeerTube.getServiceId(), extractor.getServiceId());
40-
}
41-
42-
@Test
43-
@Override
44-
public void testName() throws ParsingException {
45-
assertEquals(ChannelTabs.VIDEOS, extractor.getName());
46-
}
47-
48-
@Test
49-
@Override
50-
public void testId() throws ParsingException {
51-
assertEquals("accounts/framasoft", extractor.getId());
52-
}
53-
54-
@Test
55-
@Override
56-
public void testUrl() throws ParsingException {
57-
assertEquals("https://framatube.org/accounts/framasoft/videos",
58-
extractor.getUrl());
59-
}
60-
61-
@Test
62-
@Override
63-
public void testOriginalUrl() throws ParsingException {
64-
assertEquals("https://framatube.org/accounts/framasoft/videos",
65-
extractor.getOriginalUrl());
66-
}
67-
68-
/*//////////////////////////////////////////////////////////////////////////
69-
// ListExtractor
70-
//////////////////////////////////////////////////////////////////////////*/
71-
72-
@Test
73-
@Override
74-
public void testRelatedItems() throws Exception {
75-
defaultTestRelatedItems(extractor);
76-
}
77-
78-
@Test
79-
@Override
80-
public void testMoreRelatedItems() throws Exception {
81-
defaultTestMoreItems(extractor);
82-
}
36+
@Override public ChannelTabExtractor extractor() throws Exception { return extractor; }
37+
@Override public StreamingService expectedService() throws Exception { return PeerTube; }
38+
@Override public String expectedName() throws Exception { return ChannelTabs.VIDEOS; }
39+
@Override public String expectedId() throws Exception { return "accounts/framasoft"; }
40+
@Override public String expectedUrlContains() throws Exception { return "https://framatube.org/accounts/framasoft/videos"; }
41+
@Override public String expectedOriginalUrlContains() throws Exception { return "https://framatube.org/accounts/framasoft/videos"; }
42+
@Override public InfoItem.InfoType expectedInfoItemType() { return InfoItem.InfoType.STREAM; }
43+
@Override public boolean expectedHasMoreItems() { return true; }
8344
}
8445

85-
static class Channels implements BaseListExtractorTest {
46+
static class Channels extends DefaultListExtractorTest<ChannelTabExtractor> {
8647
private static PeertubeChannelTabExtractor extractor;
8748

8849
@BeforeAll
@@ -95,56 +56,13 @@ static void setUp() throws Exception {
9556
extractor.fetchPage();
9657
}
9758

98-
/*//////////////////////////////////////////////////////////////////////////
99-
// Extractor
100-
//////////////////////////////////////////////////////////////////////////*/
101-
102-
@Test
103-
@Override
104-
public void testServiceId() {
105-
assertEquals(PeerTube.getServiceId(), extractor.getServiceId());
106-
}
107-
108-
@Test
109-
@Override
110-
public void testName() throws ParsingException {
111-
assertEquals(ChannelTabs.CHANNELS, extractor.getName());
112-
}
113-
114-
@Test
115-
@Override
116-
public void testId() throws ParsingException {
117-
assertEquals("accounts/framasoft", extractor.getId());
118-
}
119-
120-
@Test
121-
@Override
122-
public void testUrl() throws ParsingException {
123-
assertEquals("https://framatube.org/accounts/framasoft/video-channels",
124-
extractor.getUrl());
125-
}
126-
127-
@Test
128-
@Override
129-
public void testOriginalUrl() throws ParsingException {
130-
assertEquals("https://framatube.org/accounts/framasoft/video-channels",
131-
extractor.getOriginalUrl());
132-
}
133-
134-
/*//////////////////////////////////////////////////////////////////////////
135-
// ListExtractor
136-
//////////////////////////////////////////////////////////////////////////*/
137-
138-
@Test
139-
@Override
140-
public void testRelatedItems() throws Exception {
141-
defaultTestRelatedItems(extractor);
142-
}
143-
144-
@Test
145-
@Override
146-
public void testMoreRelatedItems() throws Exception {
147-
defaultTestMoreItems(extractor);
148-
}
59+
@Override public ChannelTabExtractor extractor() throws Exception { return extractor; }
60+
@Override public StreamingService expectedService() throws Exception { return PeerTube; }
61+
@Override public String expectedName() throws Exception { return ChannelTabs.CHANNELS; }
62+
@Override public String expectedId() throws Exception { return "accounts/framasoft"; }
63+
@Override public String expectedUrlContains() throws Exception { return "https://framatube.org/accounts/framasoft/video-channels"; }
64+
@Override public String expectedOriginalUrlContains() throws Exception { return "https://framatube.org/accounts/framasoft/video-channels"; }
65+
@Override public InfoItem.InfoType expectedInfoItemType() { return InfoItem.InfoType.CHANNEL; }
66+
@Override public boolean expectedHasMoreItems() { return true; }
14967
}
15068
}

0 commit comments

Comments
 (0)