From 276e2eaf71403e985f49047f68ae0251961eee88 Mon Sep 17 00:00:00 2001 From: labkey-tchad Date: Tue, 16 Jan 2024 12:14:20 -0800 Subject: [PATCH 1/4] Find correct file root when testing against embedded distribution --- src/org/labkey/test/TestFileUtils.java | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/src/org/labkey/test/TestFileUtils.java b/src/org/labkey/test/TestFileUtils.java index e22d7cb745..0ac83dd66a 100644 --- a/src/org/labkey/test/TestFileUtils.java +++ b/src/org/labkey/test/TestFileUtils.java @@ -81,6 +81,7 @@ public abstract class TestFileUtils private static File _labkeyRoot = null; private static File _buildDir = null; private static File _testRoot = null; + private static File _baseFileRoot = null; private static Set _sampledataDirs = null; public static String getFileContents(String rootRelativePath) @@ -186,6 +187,20 @@ public static File getTestBuildDir() return _buildDir; } + private static File getBaseFileRoot() + { + if (_baseFileRoot == null) + { + _baseFileRoot = new File(getDefaultDeployDir(), "files"); + if (TestProperties.isEmbeddedTomcat() && !_baseFileRoot.isDirectory()) + { + // File root when deploying from embedded distribution + _baseFileRoot = new File(getDefaultDeployDir(), "server/files"); + } + } + return _baseFileRoot; + } + public static File getGradleReportDir() { return new File(getTestBuildDir(), "test/logs/reports"); @@ -198,12 +213,12 @@ public static File getDefaultDeployDir() public static File getDefaultFileRoot(String containerPath) { - return new File(getLabKeyRoot(), "build/deploy/files/" + containerPath + "/@files"); + return new File(getBaseFileRoot(), containerPath + "/@files"); } public static String getDefaultWebAppRoot() { - File path = new File(getLabKeyRoot(), "build/deploy/labkeyWebapp"); + File path = new File(getDefaultDeployDir(), "labkeyWebapp"); return path.toString(); } From e8de73bb36ba2110ae9ffc8e641bd941b6647d0d Mon Sep 17 00:00:00 2001 From: labkey-tchad Date: Wed, 17 Jan 2024 08:30:25 -0800 Subject: [PATCH 2/4] Correct directory --- src/org/labkey/test/TestFileUtils.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/org/labkey/test/TestFileUtils.java b/src/org/labkey/test/TestFileUtils.java index 0ac83dd66a..c6f3568dfe 100644 --- a/src/org/labkey/test/TestFileUtils.java +++ b/src/org/labkey/test/TestFileUtils.java @@ -195,7 +195,7 @@ private static File getBaseFileRoot() if (TestProperties.isEmbeddedTomcat() && !_baseFileRoot.isDirectory()) { // File root when deploying from embedded distribution - _baseFileRoot = new File(getDefaultDeployDir(), "server/files"); + _baseFileRoot = new File(getDefaultDeployDir(), "embedded/server/files"); } } return _baseFileRoot; From 84d0d433b9545a4d9d611d495c70f5df4badcf55 Mon Sep 17 00:00:00 2001 From: labkey-tchad Date: Wed, 17 Jan 2024 11:39:26 -0800 Subject: [PATCH 3/4] Handle ROOT context path --- .../labkey/test/tests/CustomizeEmailTemplateTest.java | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/org/labkey/test/tests/CustomizeEmailTemplateTest.java b/src/org/labkey/test/tests/CustomizeEmailTemplateTest.java index 16dc41168a..c8bd40c736 100644 --- a/src/org/labkey/test/tests/CustomizeEmailTemplateTest.java +++ b/src/org/labkey/test/tests/CustomizeEmailTemplateTest.java @@ -45,7 +45,6 @@ public class CustomizeEmailTemplateTest extends SpecimenBaseTest private static final String _shipping = "123 main street"; private static final String _comments = "this is my comment"; private static final String _studyName = "Study 001"; - private static final String _delim = "::"; private static final String _notificationDivName = "params"; private static final List replacementParams = Arrays.asList( "action", @@ -151,7 +150,7 @@ protected void doVerifySteps() throws Exception EmailRecordTable emailRecordTable = goToEmailRecord(); EmailRecordTable.EmailMessage message = emailRecordTable.getEmailAtTableIndex(3); emailRecordTable.clickMessage(message); - String[] bodyContents = Locator.name(_notificationDivName).findElement(getDriver()).getText().split(_delim); + String[] bodyContents = Locator.name(_notificationDivName).findElement(getDriver()).getText().split("\n"); Map emailNVPs = new HashMap<>(); for (String line : bodyContents) { @@ -168,7 +167,7 @@ protected void doVerifySteps() throws Exception assertEquals(_studyName, message.getSubject()); assertEquals("New Request", emailNVPs.get("status")); assertEquals("New Request Created", emailNVPs.get("action")); - assertEquals("/labkey", emailNVPs.get("contextPath")); + assertEquals(WebTestHelper.getContextPath(), emailNVPs.getOrDefault("contextPath", "")); assertEquals("My Study", emailNVPs.get("folderName")); assertEquals("/EmailTemplateProject/My Study", emailNVPs.get("folderPath")); assertEquals(WebTestHelper.getBaseURL(), emailNVPs.get("homePageURL")); @@ -178,14 +177,14 @@ private String buildTemplateBody() { String delimiter = ""; StringBuilder templateBuilder = new StringBuilder(); - templateBuilder.append("
"); + templateBuilder.append("
\n"); for (String param : replacementParams) { templateBuilder.append(delimiter); templateBuilder.append(String.format("^%s|%s==%%s^", param, param)); - delimiter = _delim + "\n"; + delimiter = "
\n"; } - templateBuilder.append("
"); + templateBuilder.append("\n
"); return templateBuilder.toString(); } From d516419375006bc6d90e75f9d1c6badfc9f4c70f Mon Sep 17 00:00:00 2001 From: labkey-tchad Date: Wed, 17 Jan 2024 13:03:03 -0800 Subject: [PATCH 4/4] Handle different deploy directory structures --- .../junit/runner/WebTestProperties.java | 2 +- src/org/labkey/test/TestFileUtils.java | 41 +++++++++++++------ 2 files changed, 29 insertions(+), 14 deletions(-) diff --git a/src/org/labkey/junit/runner/WebTestProperties.java b/src/org/labkey/junit/runner/WebTestProperties.java index 1c3d3b8a2f..a5b4277194 100644 --- a/src/org/labkey/junit/runner/WebTestProperties.java +++ b/src/org/labkey/junit/runner/WebTestProperties.java @@ -119,7 +119,7 @@ public Collection put(Class key, String module) private static List getInstalledModules() { - File modulesDir = new File(TestFileUtils.getDefaultDeployDir(), "modules"); + File modulesDir = TestFileUtils.getModulesDir(); if (!modulesDir.exists()) return Collections.emptyList(); diff --git a/src/org/labkey/test/TestFileUtils.java b/src/org/labkey/test/TestFileUtils.java index c6f3568dfe..c3234b0a43 100644 --- a/src/org/labkey/test/TestFileUtils.java +++ b/src/org/labkey/test/TestFileUtils.java @@ -81,7 +81,7 @@ public abstract class TestFileUtils private static File _labkeyRoot = null; private static File _buildDir = null; private static File _testRoot = null; - private static File _baseFileRoot = null; + private static File _modulesDir = null; private static Set _sampledataDirs = null; public static String getFileContents(String rootRelativePath) @@ -189,16 +189,8 @@ public static File getTestBuildDir() private static File getBaseFileRoot() { - if (_baseFileRoot == null) - { - _baseFileRoot = new File(getDefaultDeployDir(), "files"); - if (TestProperties.isEmbeddedTomcat() && !_baseFileRoot.isDirectory()) - { - // File root when deploying from embedded distribution - _baseFileRoot = new File(getDefaultDeployDir(), "embedded/server/files"); - } - } - return _baseFileRoot; + // Files are a sibling of the modules directory + return new File(getModulesDir().getParentFile(), "files"); } public static File getGradleReportDir() @@ -206,11 +198,29 @@ public static File getGradleReportDir() return new File(getTestBuildDir(), "test/logs/reports"); } - public static File getDefaultDeployDir() + /** + * Private because deployment structure varies between Non-embedded, locally built embedded, and deployed embedded + * distribution. + */ + private static File getDefaultDeployDir() { return new File(getLabKeyRoot(), "build/deploy"); } + public static File getModulesDir() + { + if (_modulesDir == null) + { + _modulesDir = new File(getDefaultDeployDir(), "modules"); + if (TestProperties.isEmbeddedTomcat() && !_modulesDir.isDirectory()) + { + // Module root when deploying from embedded distribution + _modulesDir = new File(getDefaultDeployDir(), "embedded/server/modules"); + } + } + return _modulesDir; + } + public static File getDefaultFileRoot(String containerPath) { return new File(getBaseFileRoot(), containerPath + "/@files"); @@ -218,7 +228,12 @@ public static File getDefaultFileRoot(String containerPath) public static String getDefaultWebAppRoot() { - File path = new File(getDefaultDeployDir(), "labkeyWebapp"); + File path = new File(getModulesDir().getParentFile(), "labkeyWebapp"); + if (!path.isDirectory()) + { + // Casing is different when deployed from an embedded distribution + path = new File(getModulesDir().getParentFile(), "labkeywebapp"); + } return path.toString(); }