commit | author | age
|
ec97f7
|
1 |
/*
|
JM |
2 |
* Copyright 2011 gitblit.com.
|
|
3 |
*
|
|
4 |
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5 |
* you may not use this file except in compliance with the License.
|
|
6 |
* You may obtain a copy of the License at
|
|
7 |
*
|
|
8 |
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9 |
*
|
|
10 |
* Unless required by applicable law or agreed to in writing, software
|
|
11 |
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12 |
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13 |
* See the License for the specific language governing permissions and
|
|
14 |
* limitations under the License.
|
|
15 |
*/
|
28d6b2
|
16 |
package com.gitblit.tests;
|
JM |
17 |
|
7e8873
|
18 |
import static org.junit.Assert.assertEquals;
|
JM |
19 |
import static org.junit.Assert.assertFalse;
|
|
20 |
import static org.junit.Assert.assertNotNull;
|
d25c59
|
21 |
import static org.junit.Assert.assertTrue;
|
7e8873
|
22 |
|
28d6b2
|
23 |
import java.util.List;
|
JM |
24 |
|
7e8873
|
25 |
import org.junit.Test;
|
28d6b2
|
26 |
|
f339f5
|
27 |
import com.gitblit.Constants.AccessRestrictionType;
|
JM |
28 |
import com.gitblit.FileSettings;
|
28d6b2
|
29 |
import com.gitblit.GitBlit;
|
JM |
30 |
import com.gitblit.models.RepositoryModel;
|
|
31 |
import com.gitblit.models.UserModel;
|
|
32 |
|
7e8873
|
33 |
public class GitBlitTest {
|
28d6b2
|
34 |
|
7e8873
|
35 |
@Test
|
28d6b2
|
36 |
public void testRepositoryModel() throws Exception {
|
JM |
37 |
List<String> repositories = GitBlit.self().getRepositoryList();
|
|
38 |
assertTrue("Repository list is empty!", repositories.size() > 0);
|
db653a
|
39 |
assertTrue(
|
JM |
40 |
"Missing Helloworld repository!",
|
|
41 |
repositories.contains(GitBlitSuite.getHelloworldRepository().getDirectory()
|
|
42 |
.getName()));
|
|
43 |
RepositoryModel model = GitBlit.self().getRepositoryModel(
|
|
44 |
GitBlitSuite.getHelloworldRepository().getDirectory().getName());
|
28d6b2
|
45 |
assertTrue("Helloworld model is null!", model != null);
|
ee0b1f
|
46 |
assertEquals(GitBlitSuite.getHelloworldRepository().getDirectory().getName(), model.name);
|
a2709d
|
47 |
assertTrue(GitBlit.self().calculateSize(model) > 22000L);
|
28d6b2
|
48 |
}
|
db653a
|
49 |
|
7e8873
|
50 |
@Test
|
28d6b2
|
51 |
public void testUserModel() throws Exception {
|
JM |
52 |
List<String> users = GitBlit.self().getAllUsernames();
|
|
53 |
assertTrue("No users found!", users.size() > 0);
|
|
54 |
assertTrue("Admin not found", users.contains("admin"));
|
|
55 |
UserModel model = GitBlit.self().getUserModel("admin");
|
7e8873
|
56 |
assertEquals("admin", model.toString());
|
28d6b2
|
57 |
assertTrue("Admin missing #admin role!", model.canAdmin);
|
JM |
58 |
model.canAdmin = false;
|
f339f5
|
59 |
assertFalse("Admin should not have #admin!", model.canAdmin);
|
28d6b2
|
60 |
String repository = GitBlitSuite.getHelloworldRepository().getDirectory().getName();
|
7e8873
|
61 |
RepositoryModel repositoryModel = GitBlit.self().getRepositoryModel(repository);
|
JM |
62 |
assertFalse("Admin can still access repository!",
|
|
63 |
model.canAccessRepository(repositoryModel));
|
28d6b2
|
64 |
model.addRepository(repository);
|
efe8ec
|
65 |
assertTrue("Admin can't access repository!", model.canAccessRepository(repositoryModel));
|
88598b
|
66 |
assertEquals(GitBlit.self().getRepositoryModel(model, "pretend"), null);
|
JM |
67 |
assertNotNull(GitBlit.self().getRepositoryModel(model, repository));
|
|
68 |
assertTrue(GitBlit.self().getRepositoryModels(model).size() > 0);
|
28d6b2
|
69 |
}
|
85c2e6
|
70 |
|
7e8873
|
71 |
@Test
|
f339f5
|
72 |
public void testAccessRestrictionTypes() throws Exception {
|
JM |
73 |
assertTrue(AccessRestrictionType.PUSH.exceeds(AccessRestrictionType.NONE));
|
|
74 |
assertTrue(AccessRestrictionType.CLONE.exceeds(AccessRestrictionType.PUSH));
|
|
75 |
assertTrue(AccessRestrictionType.VIEW.exceeds(AccessRestrictionType.CLONE));
|
|
76 |
|
|
77 |
assertFalse(AccessRestrictionType.NONE.exceeds(AccessRestrictionType.PUSH));
|
|
78 |
assertFalse(AccessRestrictionType.PUSH.exceeds(AccessRestrictionType.CLONE));
|
|
79 |
assertFalse(AccessRestrictionType.CLONE.exceeds(AccessRestrictionType.VIEW));
|
|
80 |
|
|
81 |
assertTrue(AccessRestrictionType.PUSH.atLeast(AccessRestrictionType.NONE));
|
|
82 |
assertTrue(AccessRestrictionType.CLONE.atLeast(AccessRestrictionType.PUSH));
|
|
83 |
assertTrue(AccessRestrictionType.VIEW.atLeast(AccessRestrictionType.CLONE));
|
|
84 |
|
|
85 |
assertFalse(AccessRestrictionType.NONE.atLeast(AccessRestrictionType.PUSH));
|
|
86 |
assertFalse(AccessRestrictionType.PUSH.atLeast(AccessRestrictionType.CLONE));
|
|
87 |
assertFalse(AccessRestrictionType.CLONE.atLeast(AccessRestrictionType.VIEW));
|
85c2e6
|
88 |
|
f339f5
|
89 |
assertTrue(AccessRestrictionType.PUSH.toString().equals("PUSH"));
|
JM |
90 |
assertTrue(AccessRestrictionType.CLONE.toString().equals("CLONE"));
|
|
91 |
assertTrue(AccessRestrictionType.VIEW.toString().equals("VIEW"));
|
|
92 |
|
7e8873
|
93 |
assertEquals(AccessRestrictionType.NONE, AccessRestrictionType.fromName("none"));
|
JM |
94 |
assertEquals(AccessRestrictionType.PUSH, AccessRestrictionType.fromName("push"));
|
|
95 |
assertEquals(AccessRestrictionType.CLONE, AccessRestrictionType.fromName("clone"));
|
|
96 |
assertEquals(AccessRestrictionType.VIEW, AccessRestrictionType.fromName("view"));
|
f339f5
|
97 |
}
|
85c2e6
|
98 |
|
7e8873
|
99 |
@Test
|
f339f5
|
100 |
public void testFileSettings() throws Exception {
|
JM |
101 |
FileSettings settings = new FileSettings("distrib/gitblit.properties");
|
7e8873
|
102 |
assertEquals(true, settings.getBoolean("missing", true));
|
JM |
103 |
assertEquals("default", settings.getString("missing", "default"));
|
|
104 |
assertEquals(10, settings.getInteger("missing", 10));
|
|
105 |
assertEquals(5, settings.getInteger("realm.realmFile", 5));
|
85c2e6
|
106 |
|
88598b
|
107 |
assertTrue(settings.getBoolean("git.enableGitServlet", false));
|
7e8873
|
108 |
assertEquals("users.conf", settings.getString("realm.userService", null));
|
JM |
109 |
assertEquals(5, settings.getInteger("realm.minPasswordLength", 0));
|
f339f5
|
110 |
List<String> mdExtensions = settings.getStrings("web.markdownExtensions");
|
JM |
111 |
assertTrue(mdExtensions.size() > 0);
|
|
112 |
assertTrue(mdExtensions.contains("md"));
|
85c2e6
|
113 |
|
f339f5
|
114 |
List<String> keys = settings.getAllKeys("server");
|
JM |
115 |
assertTrue(keys.size() > 0);
|
|
116 |
assertTrue(keys.contains("server.httpsPort"));
|
88598b
|
117 |
|
JM |
118 |
assertTrue(settings.getChar("web.forwardSlashCharacter", ' ') == '/');
|
f339f5
|
119 |
}
|
85c2e6
|
120 |
|
7e8873
|
121 |
@Test
|
f339f5
|
122 |
public void testGitblitSettings() throws Exception {
|
JM |
123 |
// These are already tested by above test method.
|
88598b
|
124 |
assertTrue(GitBlit.getBoolean("missing", true));
|
143fc9
|
125 |
assertEquals("default", GitBlit.getString("missing", "default"));
|
JM |
126 |
assertEquals(10, GitBlit.getInteger("missing", 10));
|
|
127 |
assertEquals(5, GitBlit.getInteger("realm.userService", 5));
|
85c2e6
|
128 |
|
88598b
|
129 |
assertTrue(GitBlit.getBoolean("git.enableGitServlet", false));
|
7e8873
|
130 |
assertEquals("test-users.conf", GitBlit.getString("realm.userService", null));
|
143fc9
|
131 |
assertEquals(5, GitBlit.getInteger("realm.minPasswordLength", 0));
|
f339f5
|
132 |
List<String> mdExtensions = GitBlit.getStrings("web.markdownExtensions");
|
JM |
133 |
assertTrue(mdExtensions.size() > 0);
|
|
134 |
assertTrue(mdExtensions.contains("md"));
|
85c2e6
|
135 |
|
f339f5
|
136 |
List<String> keys = GitBlit.getAllKeys("server");
|
JM |
137 |
assertTrue(keys.size() > 0);
|
|
138 |
assertTrue(keys.contains("server.httpsPort"));
|
88598b
|
139 |
|
JM |
140 |
assertTrue(GitBlit.getChar("web.forwardSlashCharacter", ' ') == '/');
|
|
141 |
assertFalse(GitBlit.isDebugMode());
|
f339f5
|
142 |
}
|
85c2e6
|
143 |
|
7e8873
|
144 |
@Test
|
85c2e6
|
145 |
public void testAuthentication() throws Exception {
|
f339f5
|
146 |
assertTrue(GitBlit.self().authenticate("admin", "admin".toCharArray()) != null);
|
JM |
147 |
}
|
85c2e6
|
148 |
|
7e8873
|
149 |
@Test
|
85c2e6
|
150 |
public void testRepositories() throws Exception {
|
f339f5
|
151 |
assertTrue(GitBlit.self().getRepository("missing") == null);
|
JM |
152 |
assertTrue(GitBlit.self().getRepositoryModel("missing") == null);
|
|
153 |
}
|
28d6b2
|
154 |
}
|