Search in sources :

Example 6 with TicketModel

use of com.gitblit.models.TicketModel in project gitblit by gitblit.

the class TicketReferenceTest method commentNoUnexpectedReference.

@Test
public void commentNoUnexpectedReference() throws Exception {
    TicketModel a = ticketService.createTicket(repo, newTicket("commentNoUnexpectedReference-A"));
    TicketModel b = ticketService.createTicket(repo, newTicket("commentNoUnexpectedReference-B"));
    assertNotNull(ticketService.updateTicket(repo, a.number, newComment("comment for 1 - no reference")));
    assertNotNull(ticketService.updateTicket(repo, a.number, newComment("comment for # - no reference")));
    assertNotNull(ticketService.updateTicket(repo, a.number, newComment("comment for #999 - ignores invalid reference")));
    a = ticketService.getTicket(repo, a.number);
    b = ticketService.getTicket(repo, b.number);
    assertFalse(a.hasReferences());
    assertFalse(b.hasReferences());
}
Also used : TicketModel(com.gitblit.models.TicketModel) Test(org.junit.Test)

Example 7 with TicketModel

use of com.gitblit.models.TicketModel in project gitblit by gitblit.

the class TicketReferenceTest method commitTicketBranchDeleteNoMergeReference.

@Test
public void commitTicketBranchDeleteNoMergeReference() throws Exception {
    setPatchsetAvailable(false);
    TicketModel a = ticketService.createTicket(repo, newTicket("commitTicketBranchDeleteNoMergeReference-A"));
    TicketModel b = ticketService.createTicket(repo, newTicket("commitTicketBranchDeleteNoMergeReference-B"));
    TicketModel c = ticketService.createTicket(repo, newTicket("commitTicketBranchDeleteNoMergeReference-C"));
    assertFalse(c.hasPatchsets());
    String branchName = String.format("ticket/%d", c.number);
    git.checkout().setCreateBranch(true).setName(branchName).call();
    String message = String.format("commit before amend for #%d and #%d", a.number, b.number);
    final RevCommit revCommit1 = makeCommit(message);
    final String commit1Sha = revCommit1.name();
    assertPushSuccess(commit1Sha, branchName);
    a = ticketService.getTicket(repo, a.number);
    b = ticketService.getTicket(repo, b.number);
    c = ticketService.getTicket(repo, c.number);
    assertTrue(a.hasReferences());
    assertTrue(b.hasReferences());
    assertFalse(c.hasReferences());
    List<Reference> cRefA = a.getReferences();
    assertNotNull(cRefA);
    assertEquals(1, cRefA.size());
    assertNull(cRefA.get(0).ticketId);
    assertEquals(commit1Sha, cRefA.get(0).hash);
    List<Reference> cRefB = b.getReferences();
    assertNotNull(cRefB);
    assertEquals(1, cRefB.size());
    assertNull(cRefB.get(0).ticketId);
    assertEquals(commit1Sha, cRefB.get(0).hash);
    //Confirm that old invalid references removed for both tickets
    assertDeleteBranch(branchName);
    a = ticketService.getTicket(repo, a.number);
    b = ticketService.getTicket(repo, b.number);
    c = ticketService.getTicket(repo, c.number);
    assertFalse(a.hasReferences());
    assertFalse(b.hasReferences());
    assertFalse(c.hasReferences());
}
Also used : Reference(com.gitblit.models.TicketModel.Reference) TicketModel(com.gitblit.models.TicketModel) RevCommit(org.eclipse.jgit.revwalk.RevCommit) Test(org.junit.Test)

Example 8 with TicketModel

use of com.gitblit.models.TicketModel in project gitblit by gitblit.

the class TicketReferenceTest method commentSingleReference.

@Test
public void commentSingleReference() throws Exception {
    TicketModel a = ticketService.createTicket(repo, newTicket("commentSingleReference-A"));
    TicketModel b = ticketService.createTicket(repo, newTicket("commentSingleReference-B"));
    final Change comment = newComment(String.format("comment for #%d - single reference", b.number));
    assertNotNull(ticketService.updateTicket(repo, a.number, comment));
    a = ticketService.getTicket(repo, a.number);
    b = ticketService.getTicket(repo, b.number);
    assertFalse(a.hasReferences());
    assertTrue(b.hasReferences());
    List<Reference> cRefB = b.getReferences();
    assertNotNull(cRefB);
    assertEquals(1, cRefB.size());
    assertEquals(a.number, cRefB.get(0).ticketId.longValue());
    assertEquals(comment.comment.id, cRefB.get(0).hash);
}
Also used : Reference(com.gitblit.models.TicketModel.Reference) TicketModel(com.gitblit.models.TicketModel) Change(com.gitblit.models.TicketModel.Change) Test(org.junit.Test)

Example 9 with TicketModel

use of com.gitblit.models.TicketModel in project gitblit by gitblit.

the class TicketReferenceTest method commitTicketBranchSingleReference.

@Test
public void commitTicketBranchSingleReference() throws Exception {
    setPatchsetAvailable(false);
    TicketModel a = ticketService.createTicket(repo, newTicket("commitTicketBranchSingleReference-A"));
    TicketModel b = ticketService.createTicket(repo, newTicket("commitTicketBranchSingleReference-B"));
    String branchName = String.format("ticket/%d", a.number);
    git.checkout().setCreateBranch(true).setName(branchName).call();
    final String message = String.format("commit for #%d - patchset single reference", b.number);
    final RevCommit revCommit1 = makeCommit(message);
    final String commit1Sha = revCommit1.name();
    assertPushSuccess(commit1Sha, branchName);
    a = ticketService.getTicket(repo, a.number);
    b = ticketService.getTicket(repo, b.number);
    assertFalse(a.hasReferences());
    assertTrue(b.hasReferences());
    List<Reference> cRefB = b.getReferences();
    assertNotNull(cRefB);
    assertEquals(1, cRefB.size());
    assertNull(cRefB.get(0).ticketId);
    assertEquals(commit1Sha, cRefB.get(0).hash);
}
Also used : Reference(com.gitblit.models.TicketModel.Reference) TicketModel(com.gitblit.models.TicketModel) RevCommit(org.eclipse.jgit.revwalk.RevCommit) Test(org.junit.Test)

Example 10 with TicketModel

use of com.gitblit.models.TicketModel in project gitblit by gitblit.

the class TicketReferenceTest method commentNoSelfReference.

@Test
public void commentNoSelfReference() throws Exception {
    TicketModel a = ticketService.createTicket(repo, newTicket("commentNoSelfReference-A"));
    final Change comment = newComment(String.format("comment for #%d - no self reference", a.number));
    assertNotNull(ticketService.updateTicket(repo, a.number, comment));
    a = ticketService.getTicket(repo, a.number);
    assertFalse(a.hasReferences());
}
Also used : TicketModel(com.gitblit.models.TicketModel) Change(com.gitblit.models.TicketModel.Change) Test(org.junit.Test)

Aggregations

TicketModel (com.gitblit.models.TicketModel)62 Change (com.gitblit.models.TicketModel.Change)32 Test (org.junit.Test)28 RevCommit (org.eclipse.jgit.revwalk.RevCommit)21 IOException (java.io.IOException)18 Reference (com.gitblit.models.TicketModel.Reference)16 Repository (org.eclipse.jgit.lib.Repository)12 Patchset (com.gitblit.models.TicketModel.Patchset)8 RepositoryModel (com.gitblit.models.RepositoryModel)7 TicketLink (com.gitblit.models.TicketModel.TicketLink)7 Ref (org.eclipse.jgit.lib.Ref)5 UserModel (com.gitblit.models.UserModel)4 ArrayList (java.util.ArrayList)4 ReceiveCommand (org.eclipse.jgit.transport.ReceiveCommand)4 Attachment (com.gitblit.models.TicketModel.Attachment)3 ParseException (java.text.ParseException)3 RevWalk (org.eclipse.jgit.revwalk.RevWalk)3 TicketHook (com.gitblit.extensions.TicketHook)2 PathChangeModel (com.gitblit.models.PathModel.PathChangeModel)2 BranchTicketService (com.gitblit.tickets.BranchTicketService)2