-added additional test case for RssFeedGenerator

git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@648105 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Maria Odea B. Ching 2008-04-15 03:06:55 +00:00
parent 328422ab73
commit 5920685d00
1 changed files with 73 additions and 7 deletions

View File

@ -47,13 +47,13 @@ public class RssFeedGeneratorTest
outputDir.mkdir();
}
public void testGenerateFeed()
public void testNewFeed()
throws Exception
{
generator.setRssDirectory( getBasedir() + "/target/test-classes/rss-feeds/" );
List<RssFeedEntry> entries = new ArrayList<RssFeedEntry>();
RssFeedEntry entry = new RssFeedEntry( "Item 1", "http://rss-2.0-test-feed.com");
RssFeedEntry entry = new RssFeedEntry( "Item 1", "http://rss-2.0-test-feed.com" );
entry.setDescription( "RSS 2.0 feed item 1." );
entry.setGuid( "http://rss-2.0-test-feed.com/item1" );
@ -87,4 +87,70 @@ public class RssFeedGeneratorTest
outputFile.deleteOnExit();
}
public void testUpdateFeed()
throws Exception
{
generator.setRssDirectory( getBasedir() + "/target/test-classes/rss-feeds/" );
List<RssFeedEntry> entries = new ArrayList<RssFeedEntry>();
RssFeedEntry entry = new RssFeedEntry( "Item 1", "http://rss-2.0-test-feed.com" );
entry.setDescription( "RSS 2.0 feed item 1." );
entry.setGuid( "http://rss-2.0-test-feed.com/item1" );
entries.add( entry );
entry = new RssFeedEntry( "Item 2", "http://rss-2.0-test-feed.com" );
entry.setDescription( "RSS 2.0 feed item 2." );
entry.setGuid( "http://rss-2.0-test-feed.com/item2" );
entries.add( entry );
generator.generateFeed( "Test Feed", "http://localhost:8080/archiva", "The test feed from Archiva.", entries,
"generated-test-update-rss2.0-feed.xml" );
File outputFile = new File( getBasedir(), "/target/test-classes/rss-feeds/generated-test-update-rss2.0-feed.xml" );
String generatedContent = FileUtils.readFileToString( outputFile );
XMLAssert.assertXpathEvaluatesTo( "Test Feed", "//channel/title", generatedContent );
XMLAssert.assertXpathEvaluatesTo( "http://localhost:8080/archiva", "//channel/link", generatedContent );
XMLAssert.assertXpathEvaluatesTo( "The test feed from Archiva.", "//channel/description", generatedContent );
XMLAssert.assertXpathEvaluatesTo( "en-us", "//channel/language", generatedContent );
String expectedItem1 =
"<channel><item><title>Item 1</title></item><item><title>Item 2</title></item></channel>";
XMLAssert.assertXpathsEqual( "//channel/item/title", expectedItem1, "//channel/item/title", generatedContent );
//update existing rss feed
entries = new ArrayList<RssFeedEntry>();
entry = new RssFeedEntry( "Item 3", "http://rss-2.0-test-feed.com" );
entry.setDescription( "RSS 2.0 feed item 3." );
entry.setGuid( "http://rss-2.0-test-feed.com/item4" );
entries.add( entry );
entry = new RssFeedEntry( "Item 4", "http://rss-2.0-test-feed.com" );
entry.setDescription( "RSS 2.0 feed item 4." );
entry.setGuid( "http://rss-2.0-test-feed.com/item5" );
entries.add( entry );
generator.generateFeed( "Test Feed", "http://localhost:8080/archiva", "The test feed from Archiva.", entries,
"generated-test-update-rss2.0-feed.xml" );
outputFile = new File( getBasedir(), "/target/test-classes/rss-feeds/generated-test-update-rss2.0-feed.xml" );
generatedContent = FileUtils.readFileToString( outputFile );
XMLAssert.assertXpathEvaluatesTo( "Test Feed", "//channel/title", generatedContent );
XMLAssert.assertXpathEvaluatesTo( "http://localhost:8080/archiva", "//channel/link", generatedContent );
XMLAssert.assertXpathEvaluatesTo( "The test feed from Archiva.", "//channel/description", generatedContent );
XMLAssert.assertXpathEvaluatesTo( "en-us", "//channel/language", generatedContent );
expectedItem1 =
"<channel><item><title>Item 1</title></item><item><title>Item 2</title></item>"
+ "<item><title>Item 3</title></item><item><title>Item 4</title></item></channel>";
XMLAssert.assertXpathsEqual( "//channel/item/title", expectedItem1, "//channel/item/title", generatedContent );
outputFile.deleteOnExit();
}
}