{rev}:{node|short}
)
* @return original filename
*/
- private String findOriginalName(String fullpath, String fullRevToFind) throws IOException {
+ private String findOriginalName(String fullPath, String fullRevToFind) throws IOException {
Matcher matcher = LOG_COPIES_PATTERN.matcher("");
- String file = fullpath.substring(getDirectoryName().length() + 1);
+ String file = fullPath.substring(getDirectoryName().length() + 1);
ArrayList<%= error %>
<% +<%= Util.htmlize(error) %>
<% } } } else if (g == AbstractAnalyzer.Genre.IMAGE) { diff --git a/opengrok-web/src/test/java/org/opengrok/web/PageConfigTest.java b/opengrok-web/src/test/java/org/opengrok/web/PageConfigTest.java index 8b4eaba42f4..04760f8c0af 100644 --- a/opengrok-web/src/test/java/org/opengrok/web/PageConfigTest.java +++ b/opengrok-web/src/test/java/org/opengrok/web/PageConfigTest.java @@ -26,6 +26,7 @@ import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; +import java.net.URL; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; @@ -33,14 +34,19 @@ import java.util.Arrays; import java.util.List; import java.util.Map; +import java.util.Objects; import java.util.stream.Collectors; +import java.util.stream.Stream; import jakarta.servlet.http.HttpServletRequest; +import org.apache.commons.lang3.tuple.Pair; import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.condition.EnabledOnOs; import org.junit.jupiter.api.condition.OS; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.MethodSource; import org.opengrok.indexer.authorization.AuthControlFlag; import org.opengrok.indexer.authorization.AuthorizationFramework; import org.opengrok.indexer.authorization.AuthorizationPlugin; @@ -79,12 +85,14 @@ public static void setUpClass() throws Exception { env.setHistoryEnabled(true); repository = new TestRepository(); - repository.create(PageConfigTest.class.getResource("/repositories")); + URL repositoryURL = PageConfigTest.class.getResource("/repositories"); + assertNotNull(repositoryURL); + repository.create(repositoryURL); env.setRepositories(repository.getSourceRoot()); } @AfterAll - public static void tearDownClass() throws Exception { + public static void tearDownClass() { repository.destroy(); repository = null; } @@ -175,7 +183,7 @@ void testGetResourceFileList() { env.setProjectsEnabled(true); // Enable projects. - for (String file : new File(repository.getSourceRoot()).list()) { + for (String file : Objects.requireNonNull(new File(repository.getSourceRoot()).list())) { Project proj = new Project(file); proj.setIndexed(true); env.getProjects().put(file, proj); @@ -235,13 +243,11 @@ public boolean isAllowed(HttpServletRequest request, Project project) { void testGetSortedFilesDirsFirst() throws IOException { RuntimeEnvironment env = RuntimeEnvironment.getInstance(); env.setListDirsFirst(true); - // Cannot spy/mock final class. - HttpServletRequest req = createRequest("/source", "/xref", ""); - PageConfig pageConfig = PageConfig.get(req); // Make sure the source root has just directories. File sourceRootFile = new File(repository.getSourceRoot()); - assertTrue(Arrays.stream(sourceRootFile.listFiles()).filter(File::isFile). + assertTrue(Arrays.stream(Objects.requireNonNull(sourceRootFile.listFiles())). + filter(File::isFile). collect(Collectors.toSet()).isEmpty()); // Create regular file under source root. @@ -345,15 +351,6 @@ void testGetLatestRevisionViaIndex() throws Exception { indexer.doIndexerExecution(null, null); final String filePath = "/git/main.c"; - - DummyHttpServletRequest req1 = new DummyHttpServletRequest() { - @Override - public String getPathInfo() { - return filePath; - } - }; - - PageConfig cfg = PageConfig.get(req1); String rev = LatestRevisionUtil.getLastRevFromIndex(new File(repository.getSourceRoot(), filePath)); assertNotNull(rev); assertEquals(HASH_AA35C258, rev); @@ -425,30 +422,37 @@ public String getPathInfo() { assertNull(rev); } - @Test - void testGetRequestedRevision() { - final String[] revisions = {"6c5588de", "", "6c5588de", "6c5588de", "6c5588de"}; - for (int i = 0; i < revisions.length; i++) { - final int index = i; - DummyHttpServletRequest req = new DummyHttpServletRequest() { - @Override - public String getParameter(String name) { - if (name.equals("r")) { - return revisions[index]; - } - return null; + private static Stream