From 5f227250b8661cb46967f40673374953c8e495e9 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Wed, 09 May 2012 07:59:43 -0400
Subject: [PATCH] Merge pull request #16 from jcrygier/custom_properties
---
tests/com/gitblit/tests/RepositoryModelTest.java | 92 ++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 92 insertions(+), 0 deletions(-)
diff --git a/tests/com/gitblit/tests/RepositoryModelTest.java b/tests/com/gitblit/tests/RepositoryModelTest.java
new file mode 100644
index 0000000..3596c33
--- /dev/null
+++ b/tests/com/gitblit/tests/RepositoryModelTest.java
@@ -0,0 +1,92 @@
+package com.gitblit.tests;
+
+import static org.junit.Assert.assertEquals;
+
+import org.eclipse.jgit.lib.Repository;
+import org.eclipse.jgit.lib.StoredConfig;
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+import com.gitblit.Constants;
+import com.gitblit.GitBlit;
+import com.gitblit.models.RepositoryModel;
+import com.gitblit.utils.JGitUtils;
+
+public class RepositoryModelTest {
+
+ private static String oldSection;
+ private static String oldSubSection;
+ private static boolean wasStarted = false;
+
+ @BeforeClass
+ public static void startGitBlit() throws Exception {
+ wasStarted = GitBlitSuite.startGitblit() == false;
+
+ oldSection = Constants.CUSTOM_FIELDS_PROP_SECTION;
+ oldSubSection = Constants.CUSTOM_FIELDS_PROP_SUBSECTION;
+
+ Constants.CUSTOM_FIELDS_PROP_SECTION = "RepositoryModelTest";
+ Constants.CUSTOM_FIELDS_PROP_SUBSECTION = "RepositoryModelTestSubSection";
+ }
+
+ @AfterClass
+ public static void stopGitBlit() throws Exception {
+ if (wasStarted == false)
+ GitBlitSuite.stopGitblit();
+
+ Constants.CUSTOM_FIELDS_PROP_SECTION = oldSection;
+ Constants.CUSTOM_FIELDS_PROP_SUBSECTION = oldSubSection;
+ }
+
+ @Before
+ public void initializeConfiguration() throws Exception{
+ Repository r = GitBlitSuite.getHelloworldRepository();
+ StoredConfig config = JGitUtils.readConfig(r);
+
+ config.unsetSection(Constants.CUSTOM_FIELDS_PROP_SECTION, Constants.CUSTOM_FIELDS_PROP_SUBSECTION);
+ config.setString(Constants.CUSTOM_FIELDS_PROP_SECTION, Constants.CUSTOM_FIELDS_PROP_SUBSECTION, "commitMessageRegEx", "\\d");
+ config.setString(Constants.CUSTOM_FIELDS_PROP_SECTION, Constants.CUSTOM_FIELDS_PROP_SUBSECTION, "anotherProperty", "Hello");
+
+ config.save();
+ }
+
+ @After
+ public void teardownConfiguration() throws Exception {
+ Repository r = GitBlitSuite.getHelloworldRepository();
+ StoredConfig config = JGitUtils.readConfig(r);
+
+ config.unsetSection(Constants.CUSTOM_FIELDS_PROP_SECTION, Constants.CUSTOM_FIELDS_PROP_SUBSECTION);
+ config.save();
+ }
+
+ @Test
+ public void testGetCustomProperty() throws Exception {
+ RepositoryModel model = GitBlit.self().getRepositoryModel(
+ GitBlitSuite.getHelloworldRepository().getDirectory().getName());
+
+ assertEquals("\\d", model.customFields.get("commitMessageRegEx"));
+ assertEquals("Hello", model.customFields.get("anotherProperty"));
+ }
+
+ @Test
+ public void testSetCustomProperty() throws Exception {
+ RepositoryModel model = GitBlit.self().getRepositoryModel(
+ GitBlitSuite.getHelloworldRepository().getDirectory().getName());
+
+ assertEquals("\\d", model.customFields.get("commitMessageRegEx"));
+ assertEquals("Hello", model.customFields.get("anotherProperty"));
+
+ assertEquals("Hello", model.customFields.put("anotherProperty", "GoodBye"));
+ GitBlit.self().updateRepositoryModel(model.name, model, false);
+
+ model = GitBlit.self().getRepositoryModel(
+ GitBlitSuite.getHelloworldRepository().getDirectory().getName());
+
+ assertEquals("\\d", model.customFields.get("commitMessageRegEx"));
+ assertEquals("GoodBye", model.customFields.get("anotherProperty"));
+ }
+
+}
--
Gitblit v1.9.1