summaryrefslogtreecommitdiffstats
path: root/src/test/java/com/gitblit/tests
diff options
context:
space:
mode:
authorJames Moger <james.moger@gitblit.com>2014-05-01 13:55:09 -0400
committerJames Moger <james.moger@gitblit.com>2014-05-01 13:55:09 -0400
commit0c8b287242e4fa45710a304570934201c8827e3e (patch)
tree39a0c9c501d8d202037ea467fcace08ff3c605fa /src/test/java/com/gitblit/tests
parent55dc95d6015dfb980a118a3f2aec2c43c773e90a (diff)
downloadgitblit-0c8b287242e4fa45710a304570934201c8827e3e.tar.gz
gitblit-0c8b287242e4fa45710a304570934201c8827e3e.zip
Fix inconsistency with owner permissions check
Diffstat (limited to 'src/test/java/com/gitblit/tests')
-rw-r--r--src/test/java/com/gitblit/tests/PermissionsTest.java42
1 files changed, 40 insertions, 2 deletions
diff --git a/src/test/java/com/gitblit/tests/PermissionsTest.java b/src/test/java/com/gitblit/tests/PermissionsTest.java
index cffce51b..46695e95 100644
--- a/src/test/java/com/gitblit/tests/PermissionsTest.java
+++ b/src/test/java/com/gitblit/tests/PermissionsTest.java
@@ -2508,7 +2508,7 @@ public class PermissionsTest extends GitblitUnitTest {
@Test
public void testOwner() throws Exception {
- RepositoryModel repository = new RepositoryModel("myrepo.git", null, null, new Date());
+ RepositoryModel repository = new RepositoryModel("~jj/myrepo.git", null, null, new Date());
repository.authorizationControl = AuthorizationControl.NAMED;
repository.accessRestriction = AccessRestrictionType.VIEW;
@@ -2530,11 +2530,30 @@ public class PermissionsTest extends GitblitUnitTest {
assertFalse("owner CAN NOT delete!", user.canDelete(repository));
assertTrue("owner CAN NOT edit!", user.canEdit(repository));
+
+ // test personal repo owner
+ UserModel jj = new UserModel("jj");
+ assertFalse("jj SHOULD NOT HAVE a repository permission!", jj.hasRepositoryPermission(repository.name));
+ assertTrue("jj CAN NOT view!", jj.canView(repository));
+ assertTrue("jj CAN NOT clone!", jj.canClone(repository));
+ assertTrue("jj CAN NOT push!", jj.canPush(repository));
+
+ assertTrue("jj CAN NOT create ref!", jj.canCreateRef(repository));
+ assertTrue("jj CAN NOT delete ref!", jj.canDeleteRef(repository));
+ assertTrue("jj CAN NOT rewind ref!", jj.canRewindRef(repository));
+
+ assertEquals("jj has wrong permission!", AccessPermission.REWIND, jj.getRepositoryPermission(repository).permission);
+
+ assertFalse("jj CAN fork!", jj.canFork(repository));
+
+ assertTrue("jj CAN NOT delete!", jj.canDelete(repository));
+ assertTrue("jj CAN NOT edit!", jj.canEdit(repository));
+ assertTrue(repository.isOwner(jj.username));
}
@Test
public void testMultipleOwners() throws Exception {
- RepositoryModel repository = new RepositoryModel("myrepo.git", null, null, new Date());
+ RepositoryModel repository = new RepositoryModel("~jj/myrepo.git", null, null, new Date());
repository.authorizationControl = AuthorizationControl.NAMED;
repository.accessRestriction = AccessRestrictionType.VIEW;
@@ -2579,6 +2598,25 @@ public class PermissionsTest extends GitblitUnitTest {
assertTrue(repository.isOwner(user.username));
assertTrue(repository.isOwner(user2.username));
+
+ // test personal repo owner
+ UserModel jj = new UserModel("jj");
+ assertFalse("jj SHOULD NOT HAVE a repository permission!", jj.hasRepositoryPermission(repository.name));
+ assertTrue("jj CAN NOT view!", jj.canView(repository));
+ assertTrue("jj CAN NOT clone!", jj.canClone(repository));
+ assertTrue("jj CAN NOT push!", jj.canPush(repository));
+
+ assertTrue("jj CAN NOT create ref!", jj.canCreateRef(repository));
+ assertTrue("jj CAN NOT delete ref!", jj.canDeleteRef(repository));
+ assertTrue("jj CAN NOT rewind ref!", jj.canRewindRef(repository));
+
+ assertEquals("jj has wrong permission!", AccessPermission.REWIND, jj.getRepositoryPermission(repository).permission);
+
+ assertFalse("jj CAN fork!", jj.canFork(repository));
+
+ assertTrue("jj CAN NOT delete!", jj.canDelete(repository));
+ assertTrue("jj CAN NOT edit!", jj.canEdit(repository));
+ assertTrue(repository.isOwner(jj.username));
}
@Test