Skip to content

Commit 8a266ed

Browse files
committed
Add test
1 parent f9e3b57 commit 8a266ed

File tree

2 files changed

+47
-16
lines changed

2 files changed

+47
-16
lines changed

src/test/java/com/apptasticsoftware/rssreader/module/itunes/ItunesRssReaderTest.java

+34-8
Original file line numberDiff line numberDiff line change
@@ -5,29 +5,51 @@
55
import nl.jqno.equalsverifier.EqualsVerifier;
66
import org.junit.jupiter.api.Test;
77

8+
import javax.net.ssl.SSLContext;
89
import java.io.IOException;
10+
import java.io.InputStream;
11+
import java.net.http.HttpClient;
12+
import java.security.KeyManagementException;
13+
import java.security.NoSuchAlgorithmException;
14+
import java.time.Duration;
915
import java.util.stream.Collectors;
1016

11-
import static org.junit.jupiter.api.Assertions.assertEquals;
12-
import static org.junit.jupiter.api.Assertions.assertTrue;
17+
import static org.junit.jupiter.api.Assertions.*;
1318

1419
class ItunesRssReaderTest {
1520

1621
@Test
1722
void readItunesPodcastFeed() {
18-
var res = new ItunesRssReader().read(ItunesRssReader.class.getClassLoader().getResourceAsStream("itunes-podcast.xml"))
19-
.sorted(ItemComparator.oldestPublishedItemFirst())
20-
.collect(Collectors.toList());
23+
var res = new ItunesRssReader().read(fromFile("itunes-podcast.xml"))
24+
.sorted(ItemComparator.oldestPublishedItemFirst())
25+
.collect(Collectors.toList());
2126

2227
assertEquals(9, res.size());
2328
}
2429

2530
@Test
26-
void readItunesPodcastFeed2() throws IOException {
31+
void readItunesPodcastFeedFromUrl() throws IOException {
2732
var res = new ItunesRssReader().read("https://feeds.theincomparable.com/batmanuniversity")
28-
.collect(Collectors.toList());
33+
.collect(Collectors.toList());
2934

30-
assertTrue(res.size() > 0);
35+
assertFalse(res.isEmpty());
36+
}
37+
38+
@Test
39+
void httpClient() throws IOException, KeyManagementException, NoSuchAlgorithmException {
40+
SSLContext context = SSLContext.getInstance("TLSv1.3");
41+
context.init(null, null, null);
42+
43+
HttpClient httpClient = HttpClient.newBuilder()
44+
.sslContext(context)
45+
.connectTimeout(Duration.ofSeconds(15))
46+
.followRedirects(HttpClient.Redirect.NORMAL)
47+
.build();
48+
49+
var res = new ItunesRssReader(httpClient).read("https://feeds.theincomparable.com/batmanuniversity")
50+
.collect(Collectors.toList());
51+
52+
assertFalse(res.isEmpty());
3153
}
3254

3355
@Test
@@ -64,4 +86,8 @@ void badDuration() {
6486
item.setItunesDuration("a:b:c");
6587
assertTrue(item.getItunesDurationAsDuration().isEmpty());
6688
}
89+
90+
private InputStream fromFile(String fileName) {
91+
return getClass().getClassLoader().getResourceAsStream(fileName);
92+
}
6793
}

src/test/java/com/apptasticsoftware/rssreader/module/mediarss/MediaRssReaderTest.java

+13-8
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import nl.jqno.equalsverifier.EqualsVerifier;
55
import org.junit.jupiter.api.Test;
66

7+
import java.io.InputStream;
78
import java.util.stream.Collectors;
89

910
import static com.github.npathai.hamcrestopt.OptionalMatchers.isEmpty;
@@ -16,15 +17,15 @@ class MediaRssReaderTest {
1617

1718
@Test
1819
void readMediaRssFeed() {
19-
var res = new MediaRssReader().read(MediaRssReader.class.getClassLoader().getResourceAsStream("media-rss.xml"))
20+
var res = new MediaRssReader().read(fromFile("media-rss.xml"))
2021
.collect(Collectors.toList());
2122

2223
assertEquals(10, res.size());
2324
}
2425

2526
@Test
2627
void readMediaRssFeedItemTitle() {
27-
var res = new MediaRssReader().read(MediaRssReader.class.getClassLoader().getResourceAsStream("media-rss.xml"))
28+
var res = new MediaRssReader().read(fromFile("media-rss.xml"))
2829
.sorted(ItemComparator.oldestPublishedItemFirst())
2930
.collect(Collectors.toList());
3031

@@ -34,7 +35,7 @@ void readMediaRssFeedItemTitle() {
3435

3536
@Test
3637
void readMediaRssFeedItemPubDate() {
37-
var res = new MediaRssReader().read(MediaRssReader.class.getClassLoader().getResourceAsStream("media-rss.xml"))
38+
var res = new MediaRssReader().read(fromFile("media-rss.xml"))
3839
.sorted(ItemComparator.oldestPublishedItemFirst())
3940
.collect(Collectors.toList());
4041

@@ -44,7 +45,7 @@ void readMediaRssFeedItemPubDate() {
4445

4546
@Test
4647
void readMediaRssFeedItemLink() {
47-
var res = new MediaRssReader().read(MediaRssReader.class.getClassLoader().getResourceAsStream("media-rss.xml"))
48+
var res = new MediaRssReader().read(fromFile("media-rss.xml"))
4849
.sorted(ItemComparator.oldestPublishedItemFirst())
4950
.collect(Collectors.toList());
5051

@@ -54,7 +55,7 @@ void readMediaRssFeedItemLink() {
5455

5556
@Test
5657
void readMediaRssFeedDescription() {
57-
var res = new MediaRssReader().read(MediaRssReader.class.getClassLoader().getResourceAsStream("media-rss.xml"))
58+
var res = new MediaRssReader().read(fromFile("media-rss.xml"))
5859
.sorted(ItemComparator.oldestPublishedItemFirst())
5960
.collect(Collectors.toList());
6061

@@ -64,7 +65,7 @@ void readMediaRssFeedDescription() {
6465

6566
@Test
6667
void readMediaRssFeedGuid() {
67-
var res = new MediaRssReader().read(MediaRssReader.class.getClassLoader().getResourceAsStream("media-rss.xml"))
68+
var res = new MediaRssReader().read(fromFile("media-rss.xml"))
6869
.sorted(ItemComparator.oldestPublishedItemFirst())
6970
.collect(Collectors.toList());
7071

@@ -74,7 +75,7 @@ void readMediaRssFeedGuid() {
7475

7576
@Test
7677
void readMediaRssFeedIsPermaLink() {
77-
var res = new MediaRssReader().read(MediaRssReader.class.getClassLoader().getResourceAsStream("media-rss.xml"))
78+
var res = new MediaRssReader().read(fromFile("media-rss.xml"))
7879
.sorted(ItemComparator.oldestPublishedItemFirst())
7980
.collect(Collectors.toList());
8081

@@ -84,7 +85,7 @@ void readMediaRssFeedIsPermaLink() {
8485

8586
@Test
8687
void readMediaRssFeedThumbnail() {
87-
var res = new MediaRssReader().read(MediaRssReader.class.getClassLoader().getResourceAsStream("media-rss.xml"))
88+
var res = new MediaRssReader().read(fromFile("media-rss.xml"))
8889
.sorted(ItemComparator.oldestPublishedItemFirst())
8990
.collect(Collectors.toList());
9091

@@ -100,4 +101,8 @@ void readMediaRssFeedThumbnail() {
100101
void equalsContract() {
101102
EqualsVerifier.simple().forClass(MediaRssItem.class).withIgnoredFields("defaultComparator").withIgnoredFields("dateTimeParser").withIgnoredFields("category").withNonnullFields("categories").withIgnoredFields("enclosure").withNonnullFields("enclosures").verify();
102103
}
104+
105+
private InputStream fromFile(String fileName) {
106+
return getClass().getClassLoader().getResourceAsStream(fileName);
107+
}
103108
}

0 commit comments

Comments
 (0)