From 85079402ffa78dad8881eb0d48a32eb3eee8b919 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Mon, 07 Nov 2011 21:19:13 -0500
Subject: [PATCH] Set resource cache duration to 90 days instead of 120 mins (issue 17)

---
 tests/com/gitblit/tests/SyndicationUtilsTest.java |   50 ++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 38 insertions(+), 12 deletions(-)

diff --git a/tests/com/gitblit/tests/SyndicationUtilsTest.java b/tests/com/gitblit/tests/SyndicationUtilsTest.java
index 6084b99..e0a32bf 100644
--- a/tests/com/gitblit/tests/SyndicationUtilsTest.java
+++ b/tests/com/gitblit/tests/SyndicationUtilsTest.java
@@ -16,37 +16,63 @@
 package com.gitblit.tests;
 
 import java.io.ByteArrayOutputStream;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashSet;
 import java.util.List;
+import java.util.Set;
 
 import junit.framework.TestCase;
 
-import org.eclipse.jgit.lib.Repository;
-import org.eclipse.jgit.revwalk.RevCommit;
-
 import com.gitblit.models.SyndicatedEntryModel;
-import com.gitblit.utils.JGitUtils;
 import com.gitblit.utils.SyndicationUtils;
 
 public class SyndicationUtilsTest extends TestCase {
 
 	public void testSyndication() throws Exception {
-		Repository repository = GitBlitSuite.getHelloworldRepository();
-		List<RevCommit> commits = JGitUtils.getRevLog(repository, 1);
+		List<SyndicatedEntryModel> entries = new ArrayList<SyndicatedEntryModel>();
+		for (int i = 0; i < 10; i++) {
+			SyndicatedEntryModel entry = new SyndicatedEntryModel();
+			entry.title = "Title " + i;
+			entry.author = "Author " + i;
+			entry.link = "Link " + i;
+			entry.published = new Date();
+			entry.contentType = "text/plain";
+			entry.content = "Content " + i;
+			entry.repository = "Repository " + i;
+			entry.branch = "Branch " + i;
+			entries.add(entry);
+		}
 		ByteArrayOutputStream os = new ByteArrayOutputStream();
-		SyndicationUtils.toRSS("http://localhost", "Title", "Description", "Repository", commits,
-				os);
+		SyndicationUtils.toRSS("http://localhost", "", "Title", "Description", "Repository",
+				entries, os);
 		String feed = os.toString();
 		os.close();
-		assertTrue(feed.length() > 100);
 		assertTrue(feed.indexOf("<title>Title</title>") > -1);
 		assertTrue(feed.indexOf("<description>Description</description>") > -1);
 	}
 
 	public void testFeedRead() throws Exception {
-		List<SyndicatedEntryModel> feed = SyndicationUtils.readFeed("https://localhost:8443",
-				"ticgit.git", "master", 5, "admin", "admin".toCharArray());
+		Set<String> links = new HashSet<String>();
+		for (int i = 0; i < 2; i++) {
+			List<SyndicatedEntryModel> feed = SyndicationUtils.readFeed("https://localhost:8443",
+					"ticgit.git", "master", 5, i, "admin", "admin".toCharArray());
+			assertTrue(feed != null);
+			assertTrue(feed.size() > 0);
+			assertEquals(5, feed.size());
+			for (SyndicatedEntryModel entry : feed) {
+				links.add(entry.link);
+			}
+		}
+		// confirm we have 10 unique commits
+		assertEquals("Feed pagination failed", 10, links.size());
+	}
+
+	public void testSearchFeedRead() throws Exception {
+		List<SyndicatedEntryModel> feed = SyndicationUtils.readSearchFeed("https://localhost:8443",
+				"ticgit.git", null, "documentation", null, 5, 0, "admin", "admin".toCharArray());
 		assertTrue(feed != null);
 		assertTrue(feed.size() > 0);
-		assertEquals(5, feed.size());
+		assertEquals(2, feed.size());
 	}
 }
\ No newline at end of file

--
Gitblit v1.9.1