/*
* Copyright 2001-2008 Geert Bevin (gbevin[remove] at uwyn dot com)
* Licensed under the Apache License, Version 2.0 (the "License")
* $Id: TestFeedProvider.java 3918 2008-04-14 17:35:35Z gbevin $
*/
package com.uwyn.rife.feed;
import com.uwyn.rife.TestCaseServerside;
import com.uwyn.rife.tools.HttpUtils;
public class TestFeedProvider extends TestCaseServerside
{
public TestFeedProvider(int siteType, String name)
{
super(siteType, name);
}
public void testFeedProviderRss()
throws Exception
{
setupSite("site/feed.xml");
HttpUtils.Request request = new HttpUtils.Request("http://localhost:8181/rss");
HttpUtils.Page page = request.retrieve();
assertEquals(page.getContent(), "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"+
"<rss version=\"2.0\">\n"+
" <channel>\n"+
" <title>feed_title</title>\n"+
" <link>feed_link</link>\n"+
" <description>feed_description</description>\n"+
" <language>feed_language</language>\n"+
" <copyright>feed_copyright</copyright>\n"+
" <pubDate>Sat, 01 Jan 2005 02:00:00 +0100</pubDate>\n"+
" <managingEditor>feed_author</managingEditor>\n"+
" \n"+
" <item>\n"+
" <title>entry_title1</title>\n"+
" <link>entry_link1</link>\n"+
" <description>entry_content1</description>\n"+
" <pubDate>Sat, 01 Jan 2005 01:00:00 +0100</pubDate>\n"+
" <author>entry_author1</author>\n"+
" <guid>entry_link1</guid>\n"+
" </item>\n"+
" \n"+
" <item>\n"+
" <title>entry_title2</title>\n"+
" <link>entry_link2</link>\n"+
" <description>entry_content2</description>\n"+
" <pubDate>Sat, 01 Jan 2005 02:00:00 +0100</pubDate>\n"+
" <author>entry_author2</author>\n"+
" <guid>entry_link2</guid>\n"+
" </item>\n"+
" \n"+
" \n"+
" </channel>\n"+
"</rss>");
}
public void testFeedProviderAtom()
throws Exception
{
setupSite("site/feed.xml");
HttpUtils.Request request = new HttpUtils.Request("http://localhost:8181/atom");
HttpUtils.Page page = request.retrieve();
assertEquals(page.getContent(), "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"+
"<feed xmlns=\"http://purl.org/atom/ns#\" xmlns:taxo=\"http://purl.org/rss/1.0/modules/taxonomy/\" xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\" xmlns:sy=\"http://purl.org/rss/1.0/modules/syndication/\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" version=\"0.3\">\n"+
" <title>feed_title</title>\n"+
" <link rel=\"alternate\" href=\"feed_link\" type=\"text/html\" />\n"+
" <author>\n"+
" <name>feed_author</name>\n"+
" </author>\n"+
" <copyright>feed_copyright</copyright>\n"+
" <info>feed_description</info>\n"+
" <modified>2005-01-01T02:00:00+0100</modified>\n"+
" <dc:creator>feed_author</dc:creator>\n"+
" <dc:date>2005-01-01T02:00:00+0100</dc:date>\n"+
" <dc:language>feed_language</dc:language>\n"+
" <dc:rights>feed_copyright</dc:rights>\n"+
" \n"+
" \n"+
" <entry>\n"+
" <title>entry_title1</title>\n"+
" <link rel=\"alternate\" href=\"entry_link1\" type=\"text/html\" />\n"+
" <author>\n"+
" <name>entry_author1</name>\n"+
" </author>\n"+
" <modified>2005-01-01T01:00:00+0100</modified>\n"+
" <content type=\"text/html\" mode=\"escaped\">entry_content1</content>\n"+
" <id>entry_link1</id>\n"+
" <issued>2005-01-01T01:00:00+0100</issued>\n"+
" <dc:creator>entry_author1</dc:creator>\n"+
" <dc:date>2005-01-01T01:00:00+0100</dc:date>\n"+
" </entry>\n"+
" \n"+
" <entry>\n"+
" <title>entry_title2</title>\n"+
" <link rel=\"alternate\" href=\"entry_link2\" type=\"text/html\" />\n"+
" <author>\n"+
" <name>entry_author2</name>\n"+
" </author>\n"+
" <modified>2005-01-01T02:00:00+0100</modified>\n"+
" <content type=\"text/html\" mode=\"escaped\">entry_content2</content>\n"+
" <id>entry_link2</id>\n"+
" <issued>2005-01-01T02:00:00+0100</issued>\n"+
" <dc:creator>entry_author2</dc:creator>\n"+
" <dc:date>2005-01-01T02:00:00+0100</dc:date>\n"+
" </entry>\n"+
" \n"+
" \n"+
"</feed>");
}
public void testFeedProviderNamespacesRss()
throws Exception
{
setupSite("site/feed.xml");
HttpUtils.Request request = new HttpUtils.Request("http://localhost:8181/namespaces_rss");
HttpUtils.Page page = request.retrieve();
assertEquals(page.getContent(), "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"+
"<rss xmlns:doap=\"http://usefulinc.com/ns/doap#\" xmlns:foaf=\"http://xmlns.com/foaf/0.1/\" version=\"2.0\">\n"+
" <channel>\n"+
" <title>feed_title_namespace</title>\n"+
" <link>feed_link_namespace</link>\n"+
" <description>feed_description_namespace</description>\n"+
" <language>feed_language_namespace</language>\n"+
" <copyright>feed_copyright_namespace</copyright>\n"+
" <pubDate>Sat, 01 Jan 2005 02:00:00 +0100</pubDate>\n"+
" <managingEditor>feed_author_namespace</managingEditor>\n"+
" \n"+
" <item>\n"+
" <title>entry_title_namespace1</title>\n"+
" <link>entry_link_namespace1</link>\n"+
" <description><doap:Project>entry_content_namespace1</doap:Project></description>\n"+
" <pubDate>Sat, 01 Jan 2005 01:00:00 +0100</pubDate>\n"+
" <author>entry_author_namespace1</author>\n"+
" <guid>entry_link_namespace1</guid>\n"+
" </item>\n"+
" \n"+
" <item>\n"+
" <title>entry_title_namespace2</title>\n"+
" <link>entry_link_namespace2</link>\n"+
" <description><doap:Project>entry_content_namespace2</doap:Project></description>\n"+
" <pubDate>Sat, 01 Jan 2005 02:00:00 +0100</pubDate>\n"+
" <author>entry_author_namespace2</author>\n"+
" <guid>entry_link_namespace2</guid>\n"+
" </item>\n"+
" \n"+
" \n"+
" </channel>\n"+
"</rss>");
}
public void testFeedProviderNamespacesAtom()
throws Exception
{
setupSite("site/feed.xml");
HttpUtils.Request request = new HttpUtils.Request("http://localhost:8181/namespaces_atom");
HttpUtils.Page page = request.retrieve();
assertEquals(page.getContent(), "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"+
"<feed xmlns=\"http://purl.org/atom/ns#\" xmlns:taxo=\"http://purl.org/rss/1.0/modules/taxonomy/\" xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\" xmlns:sy=\"http://purl.org/rss/1.0/modules/syndication/\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:doap=\"http://usefulinc.com/ns/doap#\" xmlns:foaf=\"http://xmlns.com/foaf/0.1/\" version=\"0.3\">\n"+
" <title>feed_title_namespace</title>\n"+
" <link rel=\"alternate\" href=\"feed_link_namespace\" type=\"text/html\" />\n"+
" <author>\n"+
" <name>feed_author_namespace</name>\n"+
" </author>\n"+
" <copyright>feed_copyright_namespace</copyright>\n"+
" <info>feed_description_namespace</info>\n"+
" <modified>2005-01-01T02:00:00+0100</modified>\n"+
" <dc:creator>feed_author_namespace</dc:creator>\n"+
" <dc:date>2005-01-01T02:00:00+0100</dc:date>\n"+
" <dc:language>feed_language_namespace</dc:language>\n"+
" <dc:rights>feed_copyright_namespace</dc:rights>\n"+
" \n"+
" \n"+
" <entry>\n"+
" <title>entry_title_namespace1</title>\n"+
" <link rel=\"alternate\" href=\"entry_link_namespace1\" type=\"text/html\" />\n"+
" <author>\n"+
" <name>entry_author_namespace1</name>\n"+
" </author>\n"+
" <modified>2005-01-01T01:00:00+0100</modified>\n"+
" <content type=\"application/rdf+xml\"><doap:Project>entry_content_namespace1</doap:Project></content>\n"+
" <id>entry_link_namespace1</id>\n"+
" <issued>2005-01-01T01:00:00+0100</issued>\n"+
" <dc:creator>entry_author_namespace1</dc:creator>\n"+
" <dc:date>2005-01-01T01:00:00+0100</dc:date>\n"+
" </entry>\n"+
" \n"+
" <entry>\n"+
" <title>entry_title_namespace2</title>\n"+
" <link rel=\"alternate\" href=\"entry_link_namespace2\" type=\"text/html\" />\n"+
" <author>\n"+
" <name>entry_author_namespace2</name>\n"+
" </author>\n"+
" <modified>2005-01-01T02:00:00+0100</modified>\n"+
" <content type=\"application/rdf+xml\"><doap:Project>entry_content_namespace2</doap:Project></content>\n"+
" <id>entry_link_namespace2</id>\n"+
" <issued>2005-01-01T02:00:00+0100</issued>\n"+
" <dc:creator>entry_author_namespace2</dc:creator>\n"+
" <dc:date>2005-01-01T02:00:00+0100</dc:date>\n"+
" </entry>\n"+
" \n"+
" \n"+
"</feed>");
}
}