Added canCloneMultipleRepositories integration test.

This commit is contained in:
Winston Li
2015-01-11 15:21:11 +00:00
parent 3a63d9c225
commit 984969b155
15 changed files with 171 additions and 24 deletions
@@ -11,7 +11,7 @@ import java.io.File;
public class Main {
public static void main(String[] args) {
MockSnapshotServer server = new MockSnapshotServer(new File("/Users/Roxy/Code/java/writelatex-git-bridge"));
MockSnapshotServer server = new MockSnapshotServer(60000, new File("/Users/Roxy/Code/java/writelatex-git-bridge"));
server.setState(new SnapshotAPIState());
server.start();
}
@@ -19,8 +19,8 @@ public class MockSnapshotServer {
private final SnapshotResponseBuilder responseBuilder;
private int port;
public MockSnapshotServer(File resourceBase) {
server = new Server(60000);
public MockSnapshotServer(int port, File resourceBase) {
server = new Server(port);
responseBuilder = new SnapshotResponseBuilder();
server.setHandler(getHandlerForResourceBase(resourceBase));
}
@@ -36,7 +36,13 @@ public class FileUtil {
public static boolean gitDirectoriesAreEqual(Path dir1, Path dir2) {
Set<String> dir1Contents = getAllFilesRecursivelyInDirectoryApartFrom(dir1, dir1.resolve(".git"));
Set<String> dir2Contents = getAllFilesRecursivelyInDirectoryApartFrom(dir2, dir2.resolve(".git"));
return dir1Contents.equals(dir2Contents) && directoryContentsEqual(dir1Contents, dir1, dir2);
boolean filesEqual = dir1Contents.equals(dir2Contents);
if (!filesEqual) {
System.out.println("Not equal: (" + dir1Contents + ", " + dir2Contents + ")");
System.out.println(dir1 + ": " + dir1Contents);
System.out.println(dir2 + ": " + dir2Contents);
}
return filesEqual && directoryContentsEqual(dir1Contents, dir1, dir2);
}
static boolean directoryContentsEqual(Set<String> dirContents, Path dir1, Path dir2) {