New file |
| | |
| | | package com.gitblit.tests; |
| | | |
| | | import static org.junit.Assert.assertEquals; |
| | | import static org.junit.Assert.assertFalse; |
| | | import static org.junit.Assert.assertTrue; |
| | | |
| | | import java.util.HashMap; |
| | | import java.util.Map; |
| | | |
| | | import org.junit.After; |
| | | import org.junit.Test; |
| | | |
| | | import com.gitblit.Keys; |
| | | import com.gitblit.tests.mock.MemorySettings; |
| | | import com.gitblit.utils.ModelUtils; |
| | | |
| | | public class ModelUtilsTest { |
| | | |
| | | private static final String DEFAULT_USER_REPO_PREFIX = "~"; |
| | | |
| | | private static final Map<String, Object> backingMap = new HashMap<String, Object>(); |
| | | private static final MemorySettings ms = new MemorySettings(backingMap); |
| | | |
| | | |
| | | private static void setPrefix(String prefix) |
| | | { |
| | | backingMap.put(Keys.git.userRepositoryPrefix, prefix); |
| | | } |
| | | |
| | | |
| | | private static void setRepoPrefix(String prefix) |
| | | { |
| | | backingMap.put(Keys.git.userRepositoryPrefix, prefix); |
| | | ModelUtils.setUserRepoPrefix(ms); |
| | | } |
| | | |
| | | |
| | | @After |
| | | public void resetPrefix() |
| | | { |
| | | setRepoPrefix(DEFAULT_USER_REPO_PREFIX); |
| | | } |
| | | |
| | | |
| | | @Test |
| | | public void testGetUserRepoPrefix() |
| | | { |
| | | assertEquals(DEFAULT_USER_REPO_PREFIX, ModelUtils.getUserRepoPrefix()); |
| | | } |
| | | |
| | | |
| | | @Test |
| | | public void testSetUserRepoPrefix() |
| | | { |
| | | |
| | | assertEquals(DEFAULT_USER_REPO_PREFIX, ModelUtils.getUserRepoPrefix()); |
| | | |
| | | setPrefix("@"); |
| | | ModelUtils.setUserRepoPrefix(ms); |
| | | assertEquals("@", ModelUtils.getUserRepoPrefix()); |
| | | |
| | | backingMap.remove(Keys.git.userRepositoryPrefix); |
| | | ModelUtils.setUserRepoPrefix(ms); |
| | | assertEquals(DEFAULT_USER_REPO_PREFIX, ModelUtils.getUserRepoPrefix()); |
| | | |
| | | setPrefix("user/"); |
| | | ModelUtils.setUserRepoPrefix(ms); |
| | | assertEquals("user/", ModelUtils.getUserRepoPrefix()); |
| | | |
| | | setPrefix(""); |
| | | ModelUtils.setUserRepoPrefix(ms); |
| | | assertEquals(DEFAULT_USER_REPO_PREFIX, ModelUtils.getUserRepoPrefix()); |
| | | |
| | | setPrefix("u_"); |
| | | ModelUtils.setUserRepoPrefix(ms); |
| | | assertEquals("u_", ModelUtils.getUserRepoPrefix()); |
| | | |
| | | ModelUtils.setUserRepoPrefix(null); |
| | | assertEquals(DEFAULT_USER_REPO_PREFIX, ModelUtils.getUserRepoPrefix()); |
| | | |
| | | setPrefix("/somedir/otherdir/"); |
| | | ModelUtils.setUserRepoPrefix(ms); |
| | | assertEquals("somedir/otherdir/", ModelUtils.getUserRepoPrefix()); |
| | | |
| | | setPrefix(DEFAULT_USER_REPO_PREFIX); |
| | | ModelUtils.setUserRepoPrefix(ms); |
| | | assertEquals(DEFAULT_USER_REPO_PREFIX, ModelUtils.getUserRepoPrefix()); |
| | | } |
| | | |
| | | |
| | | @Test |
| | | public void testGetPersonalPath() |
| | | { |
| | | String username = "rob"; |
| | | assertEquals(DEFAULT_USER_REPO_PREFIX+username.toLowerCase(), ModelUtils.getPersonalPath(username)); |
| | | |
| | | username = "James"; |
| | | assertEquals(DEFAULT_USER_REPO_PREFIX+username.toLowerCase(), ModelUtils.getPersonalPath(username)); |
| | | |
| | | setRepoPrefix("usr/"); |
| | | username = "noMan"; |
| | | assertEquals("usr/"+username.toLowerCase(), ModelUtils.getPersonalPath(username)); |
| | | } |
| | | |
| | | |
| | | @Test |
| | | public void testIsPersonalRepository() |
| | | { |
| | | String reponame = DEFAULT_USER_REPO_PREFIX + "one"; |
| | | assertTrue(ModelUtils.isPersonalRepository(reponame)); |
| | | |
| | | reponame = "none"; |
| | | assertFalse(ModelUtils.isPersonalRepository(reponame)); |
| | | |
| | | setRepoPrefix("@@"); |
| | | reponame = "@@two"; |
| | | assertTrue(ModelUtils.isPersonalRepository(reponame)); |
| | | |
| | | setRepoPrefix("users/"); |
| | | reponame = "users/three"; |
| | | assertTrue(ModelUtils.isPersonalRepository(reponame)); |
| | | |
| | | reponame = "project/four"; |
| | | assertFalse(ModelUtils.isPersonalRepository(reponame)); |
| | | } |
| | | |
| | | |
| | | @Test |
| | | public void testIsUsersPersonalRepository() |
| | | { |
| | | String reponame = DEFAULT_USER_REPO_PREFIX + "lynn"; |
| | | assertTrue(ModelUtils.isUsersPersonalRepository("lynn", reponame)); |
| | | |
| | | reponame = "prjB"; |
| | | assertFalse(ModelUtils.isUsersPersonalRepository("lynn", reponame)); |
| | | |
| | | setRepoPrefix("@@"); |
| | | reponame = "@@newton"; |
| | | assertTrue(ModelUtils.isUsersPersonalRepository("newton", reponame)); |
| | | assertFalse(ModelUtils.isUsersPersonalRepository("hertz", reponame)); |
| | | |
| | | setRepoPrefix("users/"); |
| | | reponame = "users/fee"; |
| | | assertTrue(ModelUtils.isUsersPersonalRepository("fee", reponame)); |
| | | assertFalse(ModelUtils.isUsersPersonalRepository("gnome", reponame)); |
| | | |
| | | reponame = "project/nsbl"; |
| | | assertFalse(ModelUtils.isUsersPersonalRepository("fee", reponame)); |
| | | } |
| | | |
| | | |
| | | @Test |
| | | public void testGetUserNameFromRepoPath() |
| | | { |
| | | String reponame = DEFAULT_USER_REPO_PREFIX + "lynn"; |
| | | assertEquals("lynn", ModelUtils.getUserNameFromRepoPath(reponame)); |
| | | |
| | | setRepoPrefix("@@"); |
| | | reponame = "@@newton"; |
| | | assertEquals("newton", ModelUtils.getUserNameFromRepoPath(reponame)); |
| | | |
| | | setRepoPrefix("users/"); |
| | | reponame = "users/fee"; |
| | | assertEquals("fee", ModelUtils.getUserNameFromRepoPath(reponame)); |
| | | } |
| | | |
| | | } |