Search in sources :

Example 1 with Tree

use of com.google.gitiles.TreeJsonData.Tree in project gitiles by GerritCodeReview.

the class PathServletTest method treeJson.

@Test
public void treeJson() throws Exception {
    RevCommit c = repo.parseBody(repo.branch("master").commit().add("foo/bar", "bar contents").add("baz", "baz contents").create());
    Tree tree = buildJson(Tree.class, "/repo/+/master/");
    assertThat(tree.id).isEqualTo(c.getTree().name());
    assertThat(tree.entries).hasSize(2);
    assertThat(tree.entries.get(0).mode).isEqualTo(0100644);
    assertThat(tree.entries.get(0).type).isEqualTo("blob");
    assertThat(tree.entries.get(0).id).isEqualTo(repo.get(c.getTree(), "baz").name());
    assertThat(tree.entries.get(0).name).isEqualTo("baz");
    assertThat(tree.entries.get(1).mode).isEqualTo(040000);
    assertThat(tree.entries.get(1).type).isEqualTo("tree");
    assertThat(tree.entries.get(1).id).isEqualTo(repo.get(c.getTree(), "foo").name());
    assertThat(tree.entries.get(1).name).isEqualTo("foo");
    tree = buildJson(Tree.class, "/repo/+/master/foo");
    assertThat(tree.id).isEqualTo(repo.get(c.getTree(), "foo").name());
    assertThat(tree.entries).hasSize(1);
    assertThat(tree.entries.get(0).mode).isEqualTo(0100644);
    assertThat(tree.entries.get(0).type).isEqualTo("blob");
    assertThat(tree.entries.get(0).id).isEqualTo(repo.get(c.getTree(), "foo/bar").name());
    assertThat(tree.entries.get(0).name).isEqualTo("bar");
    tree = buildJson(Tree.class, "/repo/+/master/foo/");
    assertThat(tree.id).isEqualTo(repo.get(c.getTree(), "foo").name());
    assertThat(tree.entries).hasSize(1);
    assertThat(tree.entries.get(0).mode).isEqualTo(0100644);
    assertThat(tree.entries.get(0).type).isEqualTo("blob");
    assertThat(tree.entries.get(0).id).isEqualTo(repo.get(c.getTree(), "foo/bar").name());
    assertThat(tree.entries.get(0).name).isEqualTo("bar");
}
Also used : Tree(com.google.gitiles.TreeJsonData.Tree) RevTree(org.eclipse.jgit.revwalk.RevTree) RevCommit(org.eclipse.jgit.revwalk.RevCommit) Test(org.junit.Test)

Example 2 with Tree

use of com.google.gitiles.TreeJsonData.Tree in project gitiles by GerritCodeReview.

the class PathServletTest method treeJsonSizes.

@Test
public void treeJsonSizes() throws Exception {
    RevCommit c = repo.parseBody(repo.branch("master").commit().add("baz", "01234567").create());
    Tree tree = buildJson(Tree.class, "/repo/+/master/", "long=1");
    assertThat(tree.id).isEqualTo(c.getTree().name());
    assertThat(tree.entries).hasSize(1);
    assertThat(tree.entries.get(0).mode).isEqualTo(0100644);
    assertThat(tree.entries.get(0).type).isEqualTo("blob");
    assertThat(tree.entries.get(0).name).isEqualTo("baz");
    assertThat(tree.entries.get(0).size).isEqualTo(8);
}
Also used : Tree(com.google.gitiles.TreeJsonData.Tree) RevTree(org.eclipse.jgit.revwalk.RevTree) RevCommit(org.eclipse.jgit.revwalk.RevCommit) Test(org.junit.Test)

Example 3 with Tree

use of com.google.gitiles.TreeJsonData.Tree in project gitiles by GerritCodeReview.

the class PathServletTest method treeJsonLinkTarget.

@Test
public void treeJsonLinkTarget() throws Exception {
    final ObjectId targetID = repo.blob("target");
    RevCommit c = repo.parseBody(repo.branch("master").commit().edit(new PathEdit("link") {

        @Override
        public void apply(DirCacheEntry ent) {
            ent.setFileMode(FileMode.SYMLINK);
            ent.setObjectId(targetID);
        }
    }).create());
    Tree tree = buildJson(Tree.class, "/repo/+/master/", "long=1");
    assertThat(tree.id).isEqualTo(c.getTree().name());
    assertThat(tree.entries).hasSize(1);
    TreeJsonData.Entry e = tree.entries.get(0);
    assertThat(e.mode).isEqualTo(0120000);
    assertThat(e.type).isEqualTo("blob");
    assertThat(e.name).isEqualTo("link");
    assertThat(e.id).isEqualTo(targetID.name());
    assertThat(e.target).isEqualTo("target");
}
Also used : DirCacheEntry(org.eclipse.jgit.dircache.DirCacheEntry) ObjectId(org.eclipse.jgit.lib.ObjectId) PathEdit(org.eclipse.jgit.dircache.DirCacheEditor.PathEdit) Tree(com.google.gitiles.TreeJsonData.Tree) RevTree(org.eclipse.jgit.revwalk.RevTree) RevCommit(org.eclipse.jgit.revwalk.RevCommit) Test(org.junit.Test)

Example 4 with Tree

use of com.google.gitiles.TreeJsonData.Tree in project gitiles by GerritCodeReview.

the class PathServletTest method treeJsonRecursive.

@Test
public void treeJsonRecursive() throws Exception {
    RevCommit c = repo.parseBody(repo.branch("master").commit().add("foo/baz/bar/a", "bar contents").add("foo/baz/bar/b", "bar contents").add("baz", "baz contents").create());
    Tree tree = buildJson(Tree.class, "/repo/+/master/", "recursive=1");
    assertThat(tree.id).isEqualTo(c.getTree().name());
    assertThat(tree.entries).hasSize(3);
    assertThat(tree.entries.get(0).name).isEqualTo("baz");
    assertThat(tree.entries.get(1).name).isEqualTo("foo/baz/bar/a");
    assertThat(tree.entries.get(2).name).isEqualTo("foo/baz/bar/b");
    tree = buildJson(Tree.class, "/repo/+/master/foo/baz", "recursive=1");
    assertThat(tree.entries).hasSize(2);
    assertThat(tree.entries.get(0).name).isEqualTo("bar/a");
    assertThat(tree.entries.get(1).name).isEqualTo("bar/b");
}
Also used : Tree(com.google.gitiles.TreeJsonData.Tree) RevTree(org.eclipse.jgit.revwalk.RevTree) RevCommit(org.eclipse.jgit.revwalk.RevCommit) Test(org.junit.Test)

Aggregations

Tree (com.google.gitiles.TreeJsonData.Tree)4 RevCommit (org.eclipse.jgit.revwalk.RevCommit)4 RevTree (org.eclipse.jgit.revwalk.RevTree)4 Test (org.junit.Test)4 PathEdit (org.eclipse.jgit.dircache.DirCacheEditor.PathEdit)1 DirCacheEntry (org.eclipse.jgit.dircache.DirCacheEntry)1 ObjectId (org.eclipse.jgit.lib.ObjectId)1