|
26 | 26 | import java.io.File; |
27 | 27 | import java.io.FileNotFoundException; |
28 | 28 | import java.io.IOException; |
| 29 | +import java.net.URL; |
29 | 30 | import java.nio.file.Files; |
30 | 31 | import java.nio.file.Path; |
31 | 32 | import java.nio.file.Paths; |
|
34 | 35 | import java.util.List; |
35 | 36 | import java.util.Map; |
36 | 37 | import java.util.stream.Collectors; |
| 38 | +import java.util.stream.Stream; |
37 | 39 |
|
38 | 40 | import jakarta.servlet.http.HttpServletRequest; |
| 41 | +import org.apache.commons.lang3.tuple.Pair; |
39 | 42 | import org.junit.jupiter.api.AfterAll; |
40 | 43 | import org.junit.jupiter.api.BeforeAll; |
41 | 44 | import org.junit.jupiter.api.Test; |
42 | 45 | import org.junit.jupiter.api.condition.EnabledOnOs; |
43 | 46 | import org.junit.jupiter.api.condition.OS; |
| 47 | +import org.junit.jupiter.params.ParameterizedTest; |
| 48 | +import org.junit.jupiter.params.provider.MethodSource; |
44 | 49 | import org.opengrok.indexer.authorization.AuthControlFlag; |
45 | 50 | import org.opengrok.indexer.authorization.AuthorizationFramework; |
46 | 51 | import org.opengrok.indexer.authorization.AuthorizationPlugin; |
@@ -79,7 +84,9 @@ public static void setUpClass() throws Exception { |
79 | 84 | env.setHistoryEnabled(true); |
80 | 85 |
|
81 | 86 | repository = new TestRepository(); |
82 | | - repository.create(PageConfigTest.class.getResource("/repositories")); |
| 87 | + URL repositoryURL = PageConfigTest.class.getResource("/repositories"); |
| 88 | + assertNotNull(repositoryURL); |
| 89 | + repository.create(repositoryURL); |
83 | 90 | env.setRepositories(repository.getSourceRoot()); |
84 | 91 | } |
85 | 92 |
|
@@ -425,30 +432,36 @@ public String getPathInfo() { |
425 | 432 | assertNull(rev); |
426 | 433 | } |
427 | 434 |
|
428 | | - @Test |
429 | | - void testGetRequestedRevision() { |
430 | | - final String[] revisions = {"6c5588de", "", "6c5588de", "6c5588de", "6c5588de"}; |
431 | | - for (int i = 0; i < revisions.length; i++) { |
432 | | - final int index = i; |
433 | | - DummyHttpServletRequest req = new DummyHttpServletRequest() { |
434 | | - @Override |
435 | | - public String getParameter(String name) { |
436 | | - if (name.equals("r")) { |
437 | | - return revisions[index]; |
438 | | - } |
439 | | - return null; |
| 435 | + private static Stream<Pair<String, String>> getParamsForTestGetRequestedRevision() { |
| 436 | + return Stream.of(Pair.of("6c5588de", "6c5588de"), |
| 437 | + Pair.of("10013:cb02e4e3d492", "10013:cb02e4e3d492"), |
| 438 | + Pair.of("", ""), |
| 439 | + Pair.of("(foo)\n", "foo")); |
| 440 | + } |
| 441 | + |
| 442 | + @MethodSource("getParamsForTestGetRequestedRevision") |
| 443 | + @ParameterizedTest |
| 444 | + void testGetRequestedRevision(Pair<String, String> revisionParam) { |
| 445 | + final String actualRevision = revisionParam.getLeft(); |
| 446 | + final String expectedRevision = revisionParam.getRight(); |
| 447 | + DummyHttpServletRequest req = new DummyHttpServletRequest() { |
| 448 | + @Override |
| 449 | + public String getParameter(String name) { |
| 450 | + if (name.equals("r")) { |
| 451 | + return actualRevision; |
440 | 452 | } |
441 | | - }; |
| 453 | + return null; |
| 454 | + } |
| 455 | + }; |
442 | 456 |
|
443 | | - PageConfig cfg = PageConfig.get(req); |
444 | | - String rev = cfg.getRequestedRevision(); |
| 457 | + PageConfig cfg = PageConfig.get(req); |
| 458 | + String rev = cfg.getRequestedRevision(); |
445 | 459 |
|
446 | | - assertNotNull(rev); |
447 | | - assertEquals(revisions[i], rev); |
448 | | - assertFalse(rev.contains("r=")); |
| 460 | + assertNotNull(rev); |
| 461 | + assertEquals(expectedRevision, rev); |
| 462 | + assertFalse(rev.contains("r=")); |
449 | 463 |
|
450 | | - PageConfig.cleanup(req); |
451 | | - } |
| 464 | + PageConfig.cleanup(req); |
452 | 465 | } |
453 | 466 |
|
454 | 467 | @Test |
|
0 commit comments