|
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