Remove System.out.println from RevWalkFilterTest
[jgit.git] / org.spearce.egit.core.test / src / org / spearce / egit / core / op / T0001_ConnectProviderOperationTest.java
blobf891262a8625e4095a82ce1fda973f160eb62283
1 /*******************************************************************************
2 * Copyright (C) 2007, Robin Rosenberg <robin.rosenberg@dewire.com>
3 * Copyright (C) 2008, Shawn O. Pearce <spearce@spearce.org>
5 * All rights reserved. This program and the accompanying materials
6 * are made available under the terms of the Eclipse Public License v1.0
7 * See LICENSE for the full license text, also available.
8 *******************************************************************************/
9 package org.spearce.egit.core.op;
11 import java.io.ByteArrayInputStream;
12 import java.io.File;
13 import java.io.IOException;
14 import java.util.Date;
15 import java.util.TimeZone;
17 import org.eclipse.core.resources.IFile;
18 import org.eclipse.core.runtime.CoreException;
19 import org.eclipse.core.runtime.IProgressMonitor;
20 import org.eclipse.core.runtime.IStatus;
21 import org.eclipse.core.runtime.jobs.Job;
22 import org.eclipse.team.core.RepositoryProvider;
23 import org.spearce.egit.core.test.GitTestCase;
24 import org.spearce.jgit.lib.Commit;
25 import org.spearce.jgit.lib.FileTreeEntry;
26 import org.spearce.jgit.lib.ObjectId;
27 import org.spearce.jgit.lib.ObjectWriter;
28 import org.spearce.jgit.lib.PersonIdent;
29 import org.spearce.jgit.lib.RefUpdate;
30 import org.spearce.jgit.lib.Repository;
31 import org.spearce.jgit.lib.Tree;
33 public class T0001_ConnectProviderOperationTest extends GitTestCase {
35 public void testNoRepository() throws CoreException {
37 ConnectProviderOperation operation = new ConnectProviderOperation(
38 project.getProject());
39 operation.run(null);
41 // We are shared because we declared as shared
42 assertTrue(RepositoryProvider.isShared(project.getProject()));
43 assertTrue(!gitDir.exists());
46 public void testNewRepository() throws CoreException, IOException {
48 File gitDir = new File(project.getProject().getWorkspace().getRoot()
49 .getRawLocation().toFile(), ".git");
50 Repository repository = new Repository(gitDir);
51 repository.create();
52 repository.close();
53 ConnectProviderOperation operation = new ConnectProviderOperation(
54 project.getProject());
55 operation.run(null);
57 assertTrue(RepositoryProvider.isShared(project.getProject()));
59 assertTrue(gitDir.exists());
62 public void testNewUnsharedFile() throws CoreException, IOException,
63 InterruptedException {
65 project.createSourceFolder();
66 IFile fileA = project.getProject().getFolder("src").getFile("A.java");
67 String srcA = "class A {\n" + "}\n";
68 fileA.create(new ByteArrayInputStream(srcA.getBytes()), false, null);
70 File gitDir = new File(project.getProject().getWorkspace().getRoot()
71 .getRawLocation().toFile(), ".git");
72 Repository thisGit = new Repository(gitDir);
73 thisGit.create();
74 Tree rootTree = new Tree(thisGit);
75 Tree prjTree = rootTree.addTree(project.getProject().getName());
76 Tree srcTree = prjTree.addTree("src");
77 FileTreeEntry entryA = srcTree.addFile("A.java");
78 ObjectWriter writer = new ObjectWriter(thisGit);
79 entryA.setId(writer.writeBlob(fileA.getRawLocation().toFile()));
80 srcTree.setId(writer.writeTree(srcTree));
81 prjTree.setId(writer.writeTree(prjTree));
82 rootTree.setId(writer.writeTree(rootTree));
83 Commit commit = new Commit(thisGit);
84 commit.setTree(rootTree);
85 commit.setAuthor(new PersonIdent("J. Git", "j.git@egit.org", new Date(
86 60876075600000L), TimeZone.getTimeZone("GMT+1")));
87 commit.setCommitter(commit.getAuthor());
88 commit.setMessage("testNewUnsharedFile\n\nJunit tests\n");
89 ObjectId id = writer.writeCommit(commit);
90 RefUpdate lck = thisGit.updateRef("refs/heads/master");
91 assertNotNull("obtained lock", lck);
92 lck.setNewObjectId(id);
93 assertEquals(RefUpdate.Result.NEW, lck.forceUpdate());
95 ConnectProviderOperation operation = new ConnectProviderOperation(
96 project.getProject());
97 operation.run(null);
99 final boolean f[] = new boolean[1];
100 new Job("wait") {
101 protected IStatus run(IProgressMonitor monitor) {
103 System.out.println("MyJob");
104 f[0] = true;
105 return null;
109 setRule(project.getProject());
110 schedule();
113 while (!f[0]) {
114 System.out.println("Waiting");
115 Thread.sleep(1000);
117 System.out.println("DONE");
119 assertNotNull(RepositoryProvider.getProvider(project.getProject()));