Skip to content

Commit d4b7fec

Browse files
committed
starting to add new tests
1 parent 2c5e2b0 commit d4b7fec

File tree

9 files changed

+1405
-0
lines changed

9 files changed

+1405
-0
lines changed
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
package com.gitblit.internal;
2+
3+
import javax.servlet.http.HttpServlet;
4+
import javax.servlet.http.HttpServletRequest;
5+
import javax.servlet.http.HttpServletResponse;
6+
7+
public abstract class AbstractServletTest extends AbstractTest {
8+
protected abstract HttpServlet getTestClass();
9+
10+
protected abstract String getURI();
11+
12+
protected TestHttpServletRequest createPost() {
13+
return new TestHttpServletRequest("POST", getURI());
14+
}
15+
16+
protected TestHttpServletRequest createGet() {
17+
return new TestHttpServletRequest("GET", getURI());
18+
}
19+
20+
protected TestHttpServletResponse createResponse() {
21+
return new TestHttpServletResponse();
22+
}
23+
24+
protected void doServletService(HttpServletRequest request,
25+
HttpServletResponse response) throws Exception {
26+
getTestClass().service(request, response);
27+
}
28+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package com.gitblit.internal;
2+
3+
import java.io.IOException;
4+
5+
import org.junit.After;
6+
7+
public abstract class AbstractTest {
8+
@After
9+
public final void cleanUp() throws IOException {
10+
GitUtils.clearTempRepositories();
11+
TestStoredSettings.clearProperties();
12+
}
13+
}
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
package com.gitblit.internal;
2+
3+
import java.io.File;
4+
import java.io.IOException;
5+
import java.util.Collection;
6+
import java.util.LinkedList;
7+
8+
import org.apache.commons.io.FileUtils;
9+
import org.eclipse.jgit.api.Git;
10+
import org.eclipse.jgit.api.errors.GitAPIException;
11+
import org.eclipse.jgit.lib.Repository;
12+
import org.eclipse.jgit.storage.file.FileRepositoryBuilder;
13+
14+
public class GitUtils {
15+
private static final Collection<Repository> TEMP_REPOSITORIES = new LinkedList<>();
16+
17+
private GitUtils() {
18+
}
19+
20+
public static Repository createNewRepository() throws IOException {
21+
final File repoDir = File.createTempFile("TestTempRepository", "");
22+
if (!repoDir.delete()) {
23+
throw new IOException("Could not delete temporary file " + repoDir);
24+
}
25+
final Repository repository = FileRepositoryBuilder.create(new File(
26+
repoDir, ".git"));
27+
repository.create();
28+
TEMP_REPOSITORIES.add(repository);
29+
return repository;
30+
}
31+
32+
public static File addAnEmptyFileAndCommit(Repository repository,
33+
String fileName) throws IOException, GitAPIException {
34+
try (Git git = new Git(repository)) {
35+
final File file = new File(repository.getDirectory().getParent(),
36+
fileName);
37+
if (!file.getParentFile().exists()
38+
&& !file.getParentFile().mkdirs()) {
39+
throw new IOException("Could not create directory "
40+
+ file.getParentFile());
41+
}
42+
if (!file.createNewFile()) {
43+
throw new IOException("Could not create file " + file);
44+
}
45+
git.add().addFilepattern(fileName).call();
46+
git.commit().setMessage("add " + fileName).call();
47+
return file;
48+
}
49+
}
50+
51+
public static void clearTempRepositories() throws IOException {
52+
for (Repository repository : TEMP_REPOSITORIES) {
53+
FileUtils
54+
.deleteDirectory(repository.getDirectory().getParentFile());
55+
}
56+
}
57+
}

0 commit comments

Comments
 (0)