You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by oc...@apache.org on 2008/04/15 05:06:57 UTC

svn commit: r648105 - /archiva/trunk/archiva-modules/archiva-web/archiva-rss/src/test/java/org/apache/archiva/rss/RssFeedGeneratorTest.java

Author: oching
Date: Mon Apr 14 20:06:55 2008
New Revision: 648105

URL: http://svn.apache.org/viewvc?rev=648105&view=rev
Log:
-added additional test case for RssFeedGenerator

Modified:
    archiva/trunk/archiva-modules/archiva-web/archiva-rss/src/test/java/org/apache/archiva/rss/RssFeedGeneratorTest.java

Modified: archiva/trunk/archiva-modules/archiva-web/archiva-rss/src/test/java/org/apache/archiva/rss/RssFeedGeneratorTest.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-rss/src/test/java/org/apache/archiva/rss/RssFeedGeneratorTest.java?rev=648105&r1=648104&r2=648105&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-rss/src/test/java/org/apache/archiva/rss/RssFeedGeneratorTest.java (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-rss/src/test/java/org/apache/archiva/rss/RssFeedGeneratorTest.java Mon Apr 14 20:06:55 2008
@@ -35,7 +35,7 @@
     extends PlexusInSpringTestCase
 {
     private RssFeedGenerator generator;
-
+   
     public void setUp()
         throws Exception
     {
@@ -46,14 +46,14 @@
         File outputDir = new File( getBasedir(), "/target/test-classes/rss-feeds" );
         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" );
@@ -84,7 +84,73 @@
             "<channel><item><title>Item 1</title></item><item><title>Item 2</title></item>"
                 + "<item><title>Item 3</title></item></channel>";
         XMLAssert.assertXpathsEqual( "//channel/item/title", expectedItem1, "//channel/item/title", generatedContent );
+
+        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();
     }
-}
+
+}
\ No newline at end of file