From 1c30dad2115fc513791d8a5b292ad0f7d7b85749 Mon Sep 17 00:00:00 2001
From: lemval <mvanleeuwen@xebia.com>
Date: Tue, 31 Jan 2012 09:25:02 -0500
Subject: [PATCH] Do not traverse unaccessible subdirectories (issue 51)

---
 tests/com/gitblit/tests/SyndicationUtilsTest.java |   72 +++++++++++++++++++++++++++++-------
 1 files changed, 58 insertions(+), 14 deletions(-)

diff --git a/tests/com/gitblit/tests/SyndicationUtilsTest.java b/tests/com/gitblit/tests/SyndicationUtilsTest.java
index 6084b99..ca6678d 100644
--- a/tests/com/gitblit/tests/SyndicationUtilsTest.java
+++ b/tests/com/gitblit/tests/SyndicationUtilsTest.java
@@ -15,36 +15,80 @@
  */
 package com.gitblit.tests;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
 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.junit.Test;
 
-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.Constants.SearchType;
+import com.gitblit.models.FeedEntryModel;
 import com.gitblit.utils.SyndicationUtils;
 
-public class SyndicationUtilsTest extends TestCase {
+public class SyndicationUtilsTest {
 
+	@Test
 	public void testSyndication() throws Exception {
-		Repository repository = GitBlitSuite.getHelloworldRepository();
-		List<RevCommit> commits = JGitUtils.getRevLog(repository, 1);
+		List<FeedEntryModel> entries = new ArrayList<FeedEntryModel>();
+		for (int i = 0; i < 10; i++) {
+			FeedEntryModel entry = new FeedEntryModel();
+			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;
+			List<String> tags = new ArrayList<String>();
+			for (int j = 0; j < 5; j++) {
+				tags.add("Tag " + j);
+			}
+			entry.tags = tags;
+			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);
 	}
 
+	@Test
 	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<FeedEntryModel> feed = SyndicationUtils.readFeed(GitBlitSuite.url, "ticgit.git",
+					"deving", 5, i, GitBlitSuite.account, GitBlitSuite.password.toCharArray());
+			assertTrue(feed != null);
+			assertTrue(feed.size() > 0);
+			assertEquals(5, feed.size());
+			for (FeedEntryModel entry : feed) {
+				links.add(entry.link);
+			}
+		}
+		// confirm we have 10 unique commits
+		assertEquals("Feed pagination failed", 10, links.size());
+	}
+
+	@Test
+	public void testSearchFeedRead() throws Exception {
+		List<FeedEntryModel> feed = SyndicationUtils
+				.readSearchFeed(GitBlitSuite.url, "ticgit.git", null, "test", null, 5, 0,
+						GitBlitSuite.account, GitBlitSuite.password.toCharArray());
+		assertTrue(feed != null);
+		assertTrue(feed.size() > 0);
+		assertEquals(5, feed.size());
+		feed = SyndicationUtils.readSearchFeed(GitBlitSuite.url, "ticgit.git", "master", "test",
+				SearchType.COMMIT, 5, 1, GitBlitSuite.account, GitBlitSuite.password.toCharArray());
 		assertTrue(feed != null);
 		assertTrue(feed.size() > 0);
 		assertEquals(5, feed.size());

--
Gitblit v1.9.1