Mercurial > hg > mercurial
view mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/HgRepoTest.java @ 511:f2666e817701
Detect changes in subrepos
author | Dmitry Neverov <dmitry.neverov@jetbrains.com> |
---|---|
date | Thu, 15 Nov 2012 16:40:22 +0400 |
parents | |
children | 6c8911ed66f2 |
line wrap: on
line source
package jetbrains.buildServer.buildTriggers.vcs.mercurial; import com.intellij.openapi.diagnostic.Logger; import jetbrains.buildServer.TempFiles; import jetbrains.buildServer.buildTriggers.vcs.mercurial.command.AuthSettings; import jetbrains.buildServer.buildTriggers.vcs.mercurial.command.TestCommandSettingsFactory; import jetbrains.buildServer.log.Log4jFactory; import org.testng.annotations.AfterMethod; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; import java.io.File; import java.io.IOException; import java.util.List; import static jetbrains.buildServer.buildTriggers.vcs.mercurial.Util.copyRepository; import static org.testng.AssertJUnit.assertEquals; import static org.testng.AssertJUnit.assertNull; import static org.testng.AssertJUnit.assertTrue; @Test public class HgRepoTest { static { Logger.setFactory(new Log4jFactory()); } private TempFiles myTempFiles; @BeforeMethod public void setUp() throws IOException { myTempFiles = new TempFiles(); } @AfterMethod public void tearDown() { myTempFiles.cleanup(); } public void subrepos() throws Exception { File repository = myTempFiles.createTempDir(); copyRepository(new File("mercurial-tests/testData/subrepos/r1"), repository); HgRepo repo = new HgRepo(new TestCommandSettingsFactory(), repository, Util.getHgPath(), new AuthSettings()); List<SubRepoConfigChange> changes = repo.getSubrepoConfigChanges("09c256b6163e"); assertEquals(1, changes.size()); SubRepoConfigChange c = changes.get(0); assertEquals("r2", c.getPath()); //noinspection ConstantConditions assertTrue(c.getPrevious().revision().startsWith("9e4a2fef1a1c")); //noinspection ConstantConditions assertTrue(c.getCurrent().revision().startsWith("ebb884b1b691")); changes = repo.getSubrepoConfigChanges("4d7b3db8779f"); assertEquals(1, changes.size()); c = changes.get(0); assertEquals("r2", c.getPath()); //noinspection ConstantConditions assertTrue(c.getPrevious().revision().startsWith("916933c1dd8e")); assertNull(c.getCurrent()); changes = repo.getSubrepoConfigChanges("d350e7209906"); assertEquals(1, changes.size()); } }