|
31 | 31 | import org.junit.jupiter.params.provider.MethodSource;
|
32 | 32 | import org.junit.jupiter.params.provider.ValueSource;
|
33 | 33 | import org.opengrok.indexer.condition.EnabledForRepository;
|
| 34 | +import org.opengrok.indexer.configuration.CommandTimeoutType; |
34 | 35 | import org.opengrok.indexer.configuration.RuntimeEnvironment;
|
35 | 36 | import org.opengrok.indexer.util.Executor;
|
| 37 | +import org.opengrok.indexer.util.IOUtils; |
36 | 38 | import org.opengrok.indexer.util.TestRepository;
|
37 | 39 |
|
38 | 40 | import java.io.File;
|
39 | 41 | import java.io.IOException;
|
40 | 42 | import java.io.InputStream;
|
41 | 43 | import java.net.URISyntaxException;
|
| 44 | +import java.nio.file.Files; |
| 45 | +import java.nio.file.Path; |
42 | 46 | import java.nio.file.Paths;
|
43 | 47 | import java.util.ArrayList;
|
44 | 48 | import java.util.Arrays;
|
45 | 49 | import java.util.Collections;
|
| 50 | +import java.util.Date; |
46 | 51 | import java.util.List;
|
| 52 | +import java.util.Objects; |
| 53 | +import java.util.Set; |
| 54 | +import java.util.TreeSet; |
47 | 55 | import java.util.stream.Collectors;
|
48 | 56 | import java.util.stream.Stream;
|
49 | 57 |
|
@@ -97,7 +105,7 @@ public class MercurialRepositoryTest {
|
97 | 105 | */
|
98 | 106 | private void setUpTestRepository() throws IOException, URISyntaxException {
|
99 | 107 | repository = new TestRepository();
|
100 |
| - repository.create(getClass().getResource("/repositories")); |
| 108 | + repository.create(Objects.requireNonNull(getClass().getResource("/repositories"))); |
101 | 109 | repositoryRoot = new File(repository.getSourceRoot(), "mercurial");
|
102 | 110 | }
|
103 | 111 |
|
@@ -441,4 +449,31 @@ void testAnnotationPositive(Pair<String, List<String>> pair) throws Exception {
|
441 | 449 | List<String> revisions = new ArrayList<>(annotation.getRevisions());
|
442 | 450 | assertEquals(pair.getValue(), revisions);
|
443 | 451 | }
|
| 452 | + |
| 453 | + @Test |
| 454 | + void testBuildTagListEmpty() throws Exception { |
| 455 | + Path repositoryRootPath = Files.createDirectory(Path.of(RuntimeEnvironment.getInstance().getSourceRootPath(), |
| 456 | + "emptyTagsTest")); |
| 457 | + File repositoryRoot = repositoryRootPath.toFile(); |
| 458 | + assertTrue(repositoryRoot.isDirectory()); |
| 459 | + runHgCommand(repositoryRoot, "init"); |
| 460 | + MercurialRepository hgRepo = (MercurialRepository) RepositoryFactory.getRepository(repositoryRoot); |
| 461 | + assertNotNull(hgRepo); |
| 462 | + hgRepo.buildTagList(new File(hgRepo.getDirectoryName()), CommandTimeoutType.INDEXER); |
| 463 | + assertEquals(0, hgRepo.getTagList().size()); |
| 464 | + IOUtils.removeRecursive(repositoryRootPath); |
| 465 | + } |
| 466 | + |
| 467 | + @Test |
| 468 | + void testBuildTagListInitial() throws Exception { |
| 469 | + MercurialRepository hgRepo = (MercurialRepository) RepositoryFactory.getRepository(repositoryRoot); |
| 470 | + assertNotNull(hgRepo); |
| 471 | + hgRepo.buildTagList(new File(hgRepo.getDirectoryName()), CommandTimeoutType.INDEXER); |
| 472 | + var tags = hgRepo.getTagList(); |
| 473 | + assertEquals(1, tags.size()); |
| 474 | + Set<TagEntry> expectedTags = new TreeSet<>(); |
| 475 | + TagEntry tagEntry = new MercurialTagEntry(7, "start_of_novel"); |
| 476 | + expectedTags.add(tagEntry); |
| 477 | + assertEquals(expectedTags, tags); |
| 478 | + } |
444 | 479 | }
|
0 commit comments