view mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/LogCommandTest.java @ 0:a530ea876f55

mercurial support sources added
author Pavel.Sher
date Mon, 14 Jul 2008 18:22:05 +0400
parents
children 7047f643747f
line wrap: on
line source
package jetbrains.buildServer.buildTriggers.vcs.mercurial.command;

import java.io.IOException;
import java.util.List;
import org.jetbrains.annotations.NotNull;
import org.testng.annotations.Test;
import jetbrains.buildServer.vcs.VcsException;

@Test
public class LogCommandTest extends BaseCommandTestCase {
  public void testOneChangeSet() throws Exception {
    setRepository("mercurial-tests/testData/rep1");
    final String toId = "9875b412a788";
    List<ChangeSet> changes = runLog(null, toId);
    assertEquals(1, changes.size());
    final ChangeSet changeSet = changes.get(0);
    assertEquals(0, changeSet.getRevNumber());
    assertEquals(toId, changeSet.getId());
    assertEquals("pavel@localhost", changeSet.getUser());
    assertEquals("dir1 created", changeSet.getSummary());
  }

  public void testMoreThanOneChangeSet() throws Exception {
    setRepository("mercurial-tests/testData/rep1");
    final String fromId = "9875b412a788";
    final String toId = "7209b1f1d793";
    List<ChangeSet> changes = runLog(fromId, toId);
    assertEquals(3, changes.size());
    ChangeSet changeSet1 = changes.get(0);
    final ChangeSet changeSet2 = changes.get(1);
    final ChangeSet changeSet3 = changes.get(2);
    assertEquals("dir1 created", changeSet1.getSummary());
    assertEquals("new file added", changeSet2.getSummary());
    assertEquals("file4.txt added", changeSet3.getSummary());

    changes = runLog(null, toId);
    assertEquals(3, changes.size());
    changeSet1 = changes.get(2);
    assertEquals("file4.txt added", changeSet1.getSummary());
  }

  private List<ChangeSet> runLog(final String fromId, final String toId) throws IOException, VcsException {
    return runCommand(new CommandExecutor<List<ChangeSet>>() {
      public List<ChangeSet> execute(@NotNull final Settings settings) throws VcsException {
        LogCommand lc = new LogCommand(settings);
        lc.setFromRevId(fromId);
        lc.setToRevId(toId);
        return lc.execute();
      }
    });
  }
}