Search in sources :

Example 11 with TagInput

use of com.google.gerrit.extensions.api.projects.TagInput in project gerrit by GerritCodeReview.

the class TagsIT method invalidTagName.

@Test
public void invalidTagName() throws Exception {
    grantTagPermissions();
    TagInput input = new TagInput();
    input.ref = "refs/heads/test";
    exception.expect(BadRequestException.class);
    exception.expectMessage("invalid tag name \"" + input.ref + "\"");
    tag(input.ref).create(input);
}
Also used : TagInput(com.google.gerrit.extensions.api.projects.TagInput) Test(org.junit.Test) AbstractDaemonTest(com.google.gerrit.acceptance.AbstractDaemonTest)

Example 12 with TagInput

use of com.google.gerrit.extensions.api.projects.TagInput in project gerrit by GerritCodeReview.

the class TagsIT method listTagsOfNonVisibleBranch.

@Test
public void listTagsOfNonVisibleBranch() throws Exception {
    grantTagPermissions();
    PushOneCommit push1 = pushFactory.create(db, admin.getIdent(), testRepo);
    PushOneCommit.Result r1 = push1.to("refs/heads/master");
    r1.assertOkStatus();
    TagInput tag1 = new TagInput();
    tag1.ref = "v1.0";
    tag1.revision = r1.getCommit().getName();
    TagInfo result = tag(tag1.ref).create(tag1).get();
    assertThat(result.ref).isEqualTo(R_TAGS + tag1.ref);
    assertThat(result.revision).isEqualTo(tag1.revision);
    pushTo("refs/heads/hidden");
    PushOneCommit push2 = pushFactory.create(db, admin.getIdent(), testRepo);
    PushOneCommit.Result r2 = push2.to("refs/heads/hidden");
    r2.assertOkStatus();
    TagInput tag2 = new TagInput();
    tag2.ref = "v2.0";
    tag2.revision = r2.getCommit().getName();
    result = tag(tag2.ref).create(tag2).get();
    assertThat(result.ref).isEqualTo(R_TAGS + tag2.ref);
    assertThat(result.revision).isEqualTo(tag2.revision);
    List<TagInfo> tags = getTags().get();
    assertThat(tags).hasSize(2);
    assertThat(tags.get(0).ref).isEqualTo(R_TAGS + tag1.ref);
    assertThat(tags.get(0).revision).isEqualTo(tag1.revision);
    assertThat(tags.get(1).ref).isEqualTo(R_TAGS + tag2.ref);
    assertThat(tags.get(1).revision).isEqualTo(tag2.revision);
    blockRead("refs/heads/hidden");
    tags = getTags().get();
    assertThat(tags).hasSize(1);
    assertThat(tags.get(0).ref).isEqualTo(R_TAGS + tag1.ref);
    assertThat(tags.get(0).revision).isEqualTo(tag1.revision);
}
Also used : TagInfo(com.google.gerrit.extensions.api.projects.TagInfo) TagInput(com.google.gerrit.extensions.api.projects.TagInput) PushOneCommit(com.google.gerrit.acceptance.PushOneCommit) Test(org.junit.Test) AbstractDaemonTest(com.google.gerrit.acceptance.AbstractDaemonTest)

Example 13 with TagInput

use of com.google.gerrit.extensions.api.projects.TagInput in project gerrit by GerritCodeReview.

the class TagsIT method createTagNotAllowed.

@Test
public void createTagNotAllowed() throws Exception {
    block(R_TAGS + "*", Permission.CREATE, REGISTERED_USERS);
    TagInput input = new TagInput();
    input.ref = "test";
    exception.expect(AuthException.class);
    exception.expectMessage("create not permitted");
    tag(input.ref).create(input);
}
Also used : TagInput(com.google.gerrit.extensions.api.projects.TagInput) Test(org.junit.Test) AbstractDaemonTest(com.google.gerrit.acceptance.AbstractDaemonTest)

Example 14 with TagInput

use of com.google.gerrit.extensions.api.projects.TagInput in project gerrit by GerritCodeReview.

the class TagsIT method mismatchedInput.

@Test
public void mismatchedInput() throws Exception {
    TagInput input = new TagInput();
    input.ref = "test";
    exception.expect(BadRequestException.class);
    exception.expectMessage("ref must match URL");
    tag("TEST").create(input);
}
Also used : TagInput(com.google.gerrit.extensions.api.projects.TagInput) Test(org.junit.Test) AbstractDaemonTest(com.google.gerrit.acceptance.AbstractDaemonTest)

Example 15 with TagInput

use of com.google.gerrit.extensions.api.projects.TagInput in project gerrit by GerritCodeReview.

the class TagsIT method annotatedTag.

@Test
public void annotatedTag() throws Exception {
    grantTagPermissions();
    PushOneCommit push = pushFactory.create(db, admin.getIdent(), testRepo);
    PushOneCommit.Result r = push.to("refs/heads/master");
    r.assertOkStatus();
    TagInput input = new TagInput();
    input.ref = "v1.0";
    input.revision = r.getCommit().getName();
    input.message = "annotation message";
    TagInfo result = tag(input.ref).create(input).get();
    assertThat(result.ref).isEqualTo(R_TAGS + input.ref);
    assertThat(result.object).isEqualTo(input.revision);
    assertThat(result.message).isEqualTo(input.message);
    assertThat(result.tagger.name).isEqualTo(admin.fullName);
    assertThat(result.tagger.email).isEqualTo(admin.email);
    eventRecorder.assertRefUpdatedEvents(project.get(), result.ref, null, result.revision);
    // A second tag pushed on the same ref should have the same ref
    TagInput input2 = new TagInput();
    input2.ref = "refs/tags/v2.0";
    input2.revision = input.revision;
    input2.message = "second annotation message";
    TagInfo result2 = tag(input2.ref).create(input2).get();
    assertThat(result2.ref).isEqualTo(input2.ref);
    assertThat(result2.object).isEqualTo(input2.revision);
    assertThat(result2.message).isEqualTo(input2.message);
    assertThat(result2.tagger.name).isEqualTo(admin.fullName);
    assertThat(result2.tagger.email).isEqualTo(admin.email);
    eventRecorder.assertRefUpdatedEvents(project.get(), result2.ref, null, result2.revision);
}
Also used : TagInfo(com.google.gerrit.extensions.api.projects.TagInfo) TagInput(com.google.gerrit.extensions.api.projects.TagInput) PushOneCommit(com.google.gerrit.acceptance.PushOneCommit) Test(org.junit.Test) AbstractDaemonTest(com.google.gerrit.acceptance.AbstractDaemonTest)

Aggregations

TagInput (com.google.gerrit.extensions.api.projects.TagInput)15 AbstractDaemonTest (com.google.gerrit.acceptance.AbstractDaemonTest)13 Test (org.junit.Test)13 TagInfo (com.google.gerrit.extensions.api.projects.TagInfo)5 PushOneCommit (com.google.gerrit.acceptance.PushOneCommit)3 Result (com.google.gerrit.acceptance.PushOneCommit.Result)2 Branch (com.google.gerrit.reviewdb.client.Branch)2 AuthException (com.google.gerrit.extensions.restapi.AuthException)1 BadRequestException (com.google.gerrit.extensions.restapi.BadRequestException)1 MethodNotAllowedException (com.google.gerrit.extensions.restapi.MethodNotAllowedException)1 ResourceConflictException (com.google.gerrit.extensions.restapi.ResourceConflictException)1 PermissionBackend (com.google.gerrit.server.permissions.PermissionBackend)1 InvalidRevisionException (com.google.gerrit.server.project.RefUtil.InvalidRevisionException)1 IOException (java.io.IOException)1 Git (org.eclipse.jgit.api.Git)1 TagCommand (org.eclipse.jgit.api.TagCommand)1 GitAPIException (org.eclipse.jgit.api.errors.GitAPIException)1 ObjectId (org.eclipse.jgit.lib.ObjectId)1 Ref (org.eclipse.jgit.lib.Ref)1 Repository (org.eclipse.jgit.lib.Repository)1