fix: use assertTabs method, rename channelTab mock folder

This commit is contained in:
ThetaDev 2023-05-07 21:06:06 +02:00
parent d868746e50
commit 2adc2caebc
23 changed files with 36 additions and 68 deletions

View File

@ -3,8 +3,11 @@ package org.schabi.newpipe.extractor;
import java.net.MalformedURLException; import java.net.MalformedURLException;
import java.net.URL; import java.net.URL;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
import javax.annotation.Nonnull; import javax.annotation.Nonnull;
import javax.annotation.Nullable; import javax.annotation.Nullable;
@ -15,6 +18,7 @@ import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertNull; import static org.junit.jupiter.api.Assertions.assertNull;
import static org.junit.jupiter.api.Assertions.assertTrue; import static org.junit.jupiter.api.Assertions.assertTrue;
import org.schabi.newpipe.extractor.linkhandler.ListLinkHandler;
import org.schabi.newpipe.extractor.utils.Utils; import org.schabi.newpipe.extractor.utils.Utils;
public class ExtractorAsserts { public class ExtractorAsserts {
@ -144,6 +148,13 @@ public class ExtractorAsserts {
assertNotNull(shouldBeContained, "shouldBeContained is null"); assertNotNull(shouldBeContained, "shouldBeContained is null");
assertNotNull(container, "container is null"); assertNotNull(container, "container is null");
assertTrue(container.contains(shouldBeContained), assertTrue(container.contains(shouldBeContained),
"'" + shouldBeContained + "' should be contained inside '" + container +"'"); "'" + shouldBeContained + "' should be contained inside '" + container + "'");
}
public static void assertTabs(final List<ListLinkHandler> tabs, final String... expect) {
final Set<String> tabSet = tabs.stream()
.map(linkHandler -> linkHandler.getContentFilters().get(0)).collect(Collectors.toUnmodifiableSet());
Arrays.stream(expect).forEach(expectedTab -> assertTrue(tabSet.contains(expectedTab),
String.format("missing tab: %s, got %s", expectedTab, tabSet)));
} }
} }

View File

@ -5,14 +5,12 @@ package org.schabi.newpipe.extractor.services.bandcamp;
import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.schabi.newpipe.downloader.DownloaderTestImpl; import org.schabi.newpipe.downloader.DownloaderTestImpl;
import org.schabi.newpipe.extractor.ExtractorAsserts;
import org.schabi.newpipe.extractor.NewPipe; import org.schabi.newpipe.extractor.NewPipe;
import org.schabi.newpipe.extractor.channel.ChannelExtractor; import org.schabi.newpipe.extractor.channel.ChannelExtractor;
import org.schabi.newpipe.extractor.linkhandler.ChannelTabs; import org.schabi.newpipe.extractor.linkhandler.ChannelTabs;
import org.schabi.newpipe.extractor.services.BaseChannelExtractorTest; import org.schabi.newpipe.extractor.services.BaseChannelExtractorTest;
import java.util.Set;
import java.util.stream.Collectors;
import static org.junit.jupiter.api.Assertions.*; import static org.junit.jupiter.api.Assertions.*;
import static org.schabi.newpipe.extractor.ServiceList.Bandcamp; import static org.schabi.newpipe.extractor.ServiceList.Bandcamp;
@ -66,9 +64,7 @@ public class BandcampChannelExtractorTest implements BaseChannelExtractorTest {
@Test @Test
@Override @Override
public void testTabs() throws Exception { public void testTabs() throws Exception {
Set<String> tabs = extractor.getTabs().stream() ExtractorAsserts.assertTabs(extractor.getTabs(), ChannelTabs.ALBUMS);
.map(linkHandler -> linkHandler.getContentFilters().get(0)).collect(Collectors.toSet());
assertTrue(tabs.contains(ChannelTabs.ALBUMS), "albums");
} }
@Test @Test

View File

@ -213,10 +213,7 @@ public class PeertubeAccountExtractorTest {
@Test @Test
@Override @Override
public void testTabs() throws Exception { public void testTabs() throws Exception {
Set<String> tabs = extractor.getTabs().stream() ExtractorAsserts.assertTabs(extractor.getTabs(), ChannelTabs.VIDEOS, ChannelTabs.CHANNELS);
.map(linkHandler -> linkHandler.getContentFilters().get(0)).collect(Collectors.toSet());
assertTrue(tabs.contains(ChannelTabs.VIDEOS));
assertTrue(tabs.contains(ChannelTabs.CHANNELS));
} }
} }
} }

View File

@ -250,9 +250,7 @@ public class PeertubeChannelExtractorTest {
@Test @Test
@Override @Override
public void testTabs() throws Exception { public void testTabs() throws Exception {
Set<String> tabs = extractor.getTabs().stream() ExtractorAsserts.assertTabs(extractor.getTabs(), ChannelTabs.PLAYLISTS);
.map(linkHandler -> linkHandler.getContentFilters().get(0)).collect(Collectors.toSet());
assertTrue(tabs.contains(ChannelTabs.PLAYLISTS));
} }
} }
} }

View File

@ -3,22 +3,17 @@ package org.schabi.newpipe.extractor.services.soundcloud;
import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.schabi.newpipe.downloader.DownloaderTestImpl; import org.schabi.newpipe.downloader.DownloaderTestImpl;
import org.schabi.newpipe.extractor.ExtractorAsserts;
import org.schabi.newpipe.extractor.NewPipe; import org.schabi.newpipe.extractor.NewPipe;
import org.schabi.newpipe.extractor.channel.ChannelExtractor;
import org.schabi.newpipe.extractor.channel.ChannelTabExtractor;
import org.schabi.newpipe.extractor.exceptions.ParsingException; import org.schabi.newpipe.extractor.exceptions.ParsingException;
import org.schabi.newpipe.extractor.linkhandler.ChannelTabs; import org.schabi.newpipe.extractor.linkhandler.ChannelTabs;
import org.schabi.newpipe.extractor.services.BaseChannelExtractorTest; import org.schabi.newpipe.extractor.services.BaseChannelExtractorTest;
import org.schabi.newpipe.extractor.services.soundcloud.extractors.SoundcloudChannelExtractor; import org.schabi.newpipe.extractor.services.soundcloud.extractors.SoundcloudChannelExtractor;
import java.util.Set;
import java.util.stream.Collectors;
import static org.junit.jupiter.api.Assertions.*; import static org.junit.jupiter.api.Assertions.*;
import static org.schabi.newpipe.extractor.ExtractorAsserts.assertEmpty; import static org.schabi.newpipe.extractor.ExtractorAsserts.assertEmpty;
import static org.schabi.newpipe.extractor.ExtractorAsserts.assertIsSecureUrl; import static org.schabi.newpipe.extractor.ExtractorAsserts.assertIsSecureUrl;
import static org.schabi.newpipe.extractor.ServiceList.SoundCloud; import static org.schabi.newpipe.extractor.ServiceList.SoundCloud;
import static org.schabi.newpipe.extractor.services.DefaultTests.*;
/** /**
* Test for {@link SoundcloudChannelExtractor} * Test for {@link SoundcloudChannelExtractor}
@ -112,11 +107,8 @@ public class SoundcloudChannelExtractorTest {
@Test @Test
@Override @Override
public void testTabs() throws Exception { public void testTabs() throws Exception {
Set<String> tabs = extractor.getTabs().stream() ExtractorAsserts.assertTabs(extractor.getTabs(),
.map(linkHandler -> linkHandler.getContentFilters().get(0)).collect(Collectors.toSet()); ChannelTabs.TRACKS, ChannelTabs.PLAYLISTS, ChannelTabs.ALBUMS);
assertTrue(tabs.contains(ChannelTabs.TRACKS));
assertTrue(tabs.contains(ChannelTabs.PLAYLISTS));
assertTrue(tabs.contains(ChannelTabs.ALBUMS));
} }
} }
@ -208,11 +200,8 @@ public class SoundcloudChannelExtractorTest {
@Test @Test
@Override @Override
public void testTabs() throws Exception { public void testTabs() throws Exception {
Set<String> tabs = extractor.getTabs().stream() ExtractorAsserts.assertTabs(extractor.getTabs(),
.map(linkHandler -> linkHandler.getContentFilters().get(0)).collect(Collectors.toSet()); ChannelTabs.TRACKS, ChannelTabs.PLAYLISTS, ChannelTabs.ALBUMS);
assertTrue(tabs.contains(ChannelTabs.TRACKS));
assertTrue(tabs.contains(ChannelTabs.PLAYLISTS));
assertTrue(tabs.contains(ChannelTabs.ALBUMS));
} }
} }
} }

View File

@ -18,7 +18,7 @@ import static org.schabi.newpipe.extractor.services.DefaultTests.defaultTestMore
import static org.schabi.newpipe.extractor.services.DefaultTests.defaultTestRelatedItems; import static org.schabi.newpipe.extractor.services.DefaultTests.defaultTestRelatedItems;
public class YouTubeChannelTabExtractorTest { public class YouTubeChannelTabExtractorTest {
private static final String RESOURCE_PATH = DownloaderFactory.RESOURCE_PATH + "services/youtube/extractor/channelTab/"; private static final String RESOURCE_PATH = DownloaderFactory.RESOURCE_PATH + "services/youtube/extractor/channelTabs/";
public static class Playlists implements BaseListExtractorTest { public static class Playlists implements BaseListExtractorTest {
private static YoutubeChannelTabExtractor extractor; private static YoutubeChannelTabExtractor extractor;

View File

@ -16,8 +16,6 @@ import org.schabi.newpipe.extractor.services.BaseChannelExtractorTest;
import org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelExtractor; import org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelExtractor;
import java.io.IOException; import java.io.IOException;
import java.util.Set;
import java.util.stream.Collectors;
import static org.junit.jupiter.api.Assertions.*; import static org.junit.jupiter.api.Assertions.*;
import static org.schabi.newpipe.extractor.ExtractorAsserts.assertContains; import static org.schabi.newpipe.extractor.ExtractorAsserts.assertContains;
@ -258,12 +256,8 @@ public class YoutubeChannelExtractorTest {
@Test @Test
@Override @Override
public void testTabs() throws Exception { public void testTabs() throws Exception {
Set<String> tabs = extractor.getTabs().stream() ExtractorAsserts.assertTabs(extractor.getTabs(),
.map(linkHandler -> linkHandler.getContentFilters().get(0)).collect(Collectors.toSet()); ChannelTabs.VIDEOS, ChannelTabs.LIVESTREAMS, ChannelTabs.PLAYLISTS, ChannelTabs.CHANNELS);
assertTrue(tabs.contains(ChannelTabs.VIDEOS));
assertTrue(tabs.contains(ChannelTabs.LIVESTREAMS));
assertTrue(tabs.contains(ChannelTabs.PLAYLISTS));
assertTrue(tabs.contains(ChannelTabs.CHANNELS));
} }
} }
@ -383,13 +377,9 @@ public class YoutubeChannelExtractorTest {
@Test @Test
@Override @Override
public void testTabs() throws Exception { public void testTabs() throws Exception {
Set<String> tabs = extractor.getTabs().stream() ExtractorAsserts.assertTabs(extractor.getTabs(),
.map(linkHandler -> linkHandler.getContentFilters().get(0)).collect(Collectors.toSet()); ChannelTabs.VIDEOS, ChannelTabs.SHORTS, ChannelTabs.LIVESTREAMS,
assertTrue(tabs.contains(ChannelTabs.VIDEOS)); ChannelTabs.PLAYLISTS, ChannelTabs.CHANNELS);
assertTrue(tabs.contains(ChannelTabs.SHORTS));
assertTrue(tabs.contains(ChannelTabs.LIVESTREAMS));
assertTrue(tabs.contains(ChannelTabs.PLAYLISTS));
assertTrue(tabs.contains(ChannelTabs.CHANNELS));
} }
} }
@ -511,11 +501,8 @@ public class YoutubeChannelExtractorTest {
@Test @Test
@Override @Override
public void testTabs() throws Exception { public void testTabs() throws Exception {
Set<String> tabs = extractor.getTabs().stream() ExtractorAsserts.assertTabs(extractor.getTabs(),
.map(linkHandler -> linkHandler.getContentFilters().get(0)).collect(Collectors.toSet()); ChannelTabs.VIDEOS, ChannelTabs.PLAYLISTS, ChannelTabs.CHANNELS);
assertTrue(tabs.contains(ChannelTabs.VIDEOS));
assertTrue(tabs.contains(ChannelTabs.PLAYLISTS));
assertTrue(tabs.contains(ChannelTabs.CHANNELS));
} }
} }
@ -660,11 +647,8 @@ public class YoutubeChannelExtractorTest {
@Test @Test
@Override @Override
public void testTabs() throws Exception { public void testTabs() throws Exception {
Set<String> tabs = extractor.getTabs().stream() ExtractorAsserts.assertTabs(extractor.getTabs(),
.map(linkHandler -> linkHandler.getContentFilters().get(0)).collect(Collectors.toSet()); ChannelTabs.VIDEOS, ChannelTabs.PLAYLISTS, ChannelTabs.CHANNELS);
assertTrue(tabs.contains(ChannelTabs.VIDEOS));
assertTrue(tabs.contains(ChannelTabs.PLAYLISTS));
assertTrue(tabs.contains(ChannelTabs.CHANNELS));
} }
} }
@ -789,11 +773,8 @@ public class YoutubeChannelExtractorTest {
@Test @Test
@Override @Override
public void testTabs() throws Exception { public void testTabs() throws Exception {
Set<String> tabs = extractor.getTabs().stream() ExtractorAsserts.assertTabs(extractor.getTabs(),
.map(linkHandler -> linkHandler.getContentFilters().get(0)).collect(Collectors.toSet()); ChannelTabs.VIDEOS, ChannelTabs.PLAYLISTS, ChannelTabs.CHANNELS);
assertTrue(tabs.contains(ChannelTabs.VIDEOS));
assertTrue(tabs.contains(ChannelTabs.PLAYLISTS));
assertTrue(tabs.contains(ChannelTabs.CHANNELS));
} }
} }
@ -907,13 +888,9 @@ public class YoutubeChannelExtractorTest {
@Test @Test
@Override @Override
public void testTabs() throws Exception { public void testTabs() throws Exception {
Set<String> tabs = extractor.getTabs().stream() ExtractorAsserts.assertTabs(extractor.getTabs(),
.map(linkHandler -> linkHandler.getContentFilters().get(0)).collect(Collectors.toSet()); ChannelTabs.VIDEOS, ChannelTabs.SHORTS, ChannelTabs.LIVESTREAMS,
assertTrue(tabs.contains(ChannelTabs.VIDEOS)); ChannelTabs.PLAYLISTS, ChannelTabs.CHANNELS);
assertTrue(tabs.contains(ChannelTabs.SHORTS));
assertTrue(tabs.contains(ChannelTabs.LIVESTREAMS));
assertTrue(tabs.contains(ChannelTabs.PLAYLISTS));
assertTrue(tabs.contains(ChannelTabs.CHANNELS));
} }
} }
} }