From 3fb7a4bae0e9c9e760b843bb92905a387e3d8540 Mon Sep 17 00:00:00 2001 From: labkey-tchad Date: Wed, 22 Jul 2026 09:37:42 -0700 Subject: [PATCH 1/4] Update FICAM compliance test --- .../ComplianceLoginSettingsPage.java | 25 +++++++++++++++++++ .../pages/core/login/LoginConfigurePage.java | 17 +++++++++++++ 2 files changed, 42 insertions(+) diff --git a/src/org/labkey/test/pages/compliance/ComplianceLoginSettingsPage.java b/src/org/labkey/test/pages/compliance/ComplianceLoginSettingsPage.java index 0c3d211587..70388df355 100644 --- a/src/org/labkey/test/pages/compliance/ComplianceLoginSettingsPage.java +++ b/src/org/labkey/test/pages/compliance/ComplianceLoginSettingsPage.java @@ -15,13 +15,19 @@ */ package org.labkey.test.pages.compliance; +import org.json.JSONObject; +import org.labkey.remoteapi.CommandException; +import org.labkey.remoteapi.Connection; +import org.labkey.remoteapi.SimplePostCommand; import org.labkey.test.Locator; import org.labkey.test.WebDriverWrapper; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.support.ui.ExpectedConditions; +import java.io.IOException; import java.util.List; +import java.util.Map; public class ComplianceLoginSettingsPage extends BaseComplianceSettingsPage { @@ -68,6 +74,25 @@ public void clickSaveExpectingAlert(String expectedAlert) assertAlert(expectedAlert); } + public static void setFicamRestriction(Connection connection, boolean restrict) + { + SimplePostCommand command = new SimplePostCommand("compliance", "complianceSettings"); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("tab", "login"); + if (restrict) + jsonObject.put("acceptOnlyFICAMProviders", "on"); + command.setJsonObject(jsonObject); + + try + { + command.execute(connection, null); + } + catch (IOException | CommandException e) + { + throw new RuntimeException(e); + } + } + @Override protected ElementCache newElementCache() { diff --git a/src/org/labkey/test/pages/core/login/LoginConfigurePage.java b/src/org/labkey/test/pages/core/login/LoginConfigurePage.java index 3cc1e60f21..5a989642a3 100644 --- a/src/org/labkey/test/pages/core/login/LoginConfigurePage.java +++ b/src/org/labkey/test/pages/core/login/LoginConfigurePage.java @@ -26,6 +26,7 @@ import org.labkey.test.pages.LabKeyPage; import org.labkey.test.pages.core.admin.ShowAdminPage; import org.labkey.test.params.login.AuthenticationProvider; +import org.labkey.test.util.selenium.WebElementUtils; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.support.ui.ExpectedConditions; @@ -62,6 +63,14 @@ public > D addConfiguration(AuthenticationProvider getPrimaryProviders() + { + togglePrimaryConfiguration(); + BootstrapMenu addPrimaryMenu = elementCache().addPrimaryMenu; + addPrimaryMenu.expand(); + return WebElementUtils.getTexts(addPrimaryMenu.findVisibleMenuItems()); + } + public boolean canAddConfiguration() { togglePrimaryConfiguration(); @@ -78,6 +87,14 @@ public > D addSecondaryConfiguration(AuthenticationP return authenticationProvider.getNewDialog(getDriver()); } + public List getSecondaryProviders() + { + toggleSecondaryConfiguration(); + BootstrapMenu addSecondaryMenu = elementCache().addSecondaryMenu; + addSecondaryMenu.expand(); + return WebElementUtils.getTexts(addSecondaryMenu.findVisibleMenuItems()); + } + public boolean canAddSecondaryConfiguration() { toggleSecondaryConfiguration(); From e0e75543aae3797ea36bf5b3009f6d8669e735e2 Mon Sep 17 00:00:00 2001 From: labkey-tchad Date: Wed, 22 Jul 2026 12:55:42 -0700 Subject: [PATCH 2/4] Update FICAM compliance test --- .../ComplianceLoginSettingsPage.java | 18 ++++++++++-------- .../labkey/test/util/AbstractUserHelper.java | 3 ++- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/src/org/labkey/test/pages/compliance/ComplianceLoginSettingsPage.java b/src/org/labkey/test/pages/compliance/ComplianceLoginSettingsPage.java index 70388df355..ce6b3c067d 100644 --- a/src/org/labkey/test/pages/compliance/ComplianceLoginSettingsPage.java +++ b/src/org/labkey/test/pages/compliance/ComplianceLoginSettingsPage.java @@ -15,17 +15,19 @@ */ package org.labkey.test.pages.compliance; -import org.json.JSONObject; import org.labkey.remoteapi.CommandException; import org.labkey.remoteapi.Connection; -import org.labkey.remoteapi.SimplePostCommand; +import org.labkey.remoteapi.SimpleFormCommand; import org.labkey.test.Locator; import org.labkey.test.WebDriverWrapper; +import org.labkey.test.util.LogMethod; +import org.labkey.test.util.LoggedParam; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.support.ui.ExpectedConditions; import java.io.IOException; +import java.util.HashMap; import java.util.List; import java.util.Map; @@ -74,14 +76,14 @@ public void clickSaveExpectingAlert(String expectedAlert) assertAlert(expectedAlert); } - public static void setFicamRestriction(Connection connection, boolean restrict) + @LogMethod(quiet = true) + public static void setFicamRestrictionViaApi(Connection connection, @LoggedParam boolean restrict) { - SimplePostCommand command = new SimplePostCommand("compliance", "complianceSettings"); - JSONObject jsonObject = new JSONObject(); - jsonObject.put("tab", "login"); + Map formData = new HashMap<>(); + formData.put("tab", "login"); if (restrict) - jsonObject.put("acceptOnlyFICAMProviders", "on"); - command.setJsonObject(jsonObject); + formData.put("acceptOnlyFICAMProviders", "on"); + SimpleFormCommand command = new SimpleFormCommand("compliance", "complianceSettings", formData); try { diff --git a/src/org/labkey/test/util/AbstractUserHelper.java b/src/org/labkey/test/util/AbstractUserHelper.java index d877603406..5a01d2d25d 100644 --- a/src/org/labkey/test/util/AbstractUserHelper.java +++ b/src/org/labkey/test/util/AbstractUserHelper.java @@ -144,7 +144,8 @@ public final void deleteUsers(boolean failIfNotFound, TestUser... users) } public abstract void ensureUsersExist(List userEmails); - public abstract CreateUserResponse createUser(String userName, boolean sendEmail, boolean verifySuccess); + @LogMethod (quiet = true) + public abstract CreateUserResponse createUser(@LoggedParam String userName, boolean sendEmail, boolean verifySuccess); public abstract String setInitialPassword(int userId); protected abstract void _deleteUser(String userEmail); protected abstract void _deleteUsers(boolean failIfNotFound, String... userEmails); From 1df3bb4a3a1eedd69f15e157a9ea2fc33cbee468 Mon Sep 17 00:00:00 2001 From: labkey-tchad Date: Wed, 22 Jul 2026 12:59:42 -0700 Subject: [PATCH 3/4] Move helper --- .../ComplianceLoginSettingsPage.java | 27 ------------------- 1 file changed, 27 deletions(-) diff --git a/src/org/labkey/test/pages/compliance/ComplianceLoginSettingsPage.java b/src/org/labkey/test/pages/compliance/ComplianceLoginSettingsPage.java index ce6b3c067d..0c3d211587 100644 --- a/src/org/labkey/test/pages/compliance/ComplianceLoginSettingsPage.java +++ b/src/org/labkey/test/pages/compliance/ComplianceLoginSettingsPage.java @@ -15,21 +15,13 @@ */ package org.labkey.test.pages.compliance; -import org.labkey.remoteapi.CommandException; -import org.labkey.remoteapi.Connection; -import org.labkey.remoteapi.SimpleFormCommand; import org.labkey.test.Locator; import org.labkey.test.WebDriverWrapper; -import org.labkey.test.util.LogMethod; -import org.labkey.test.util.LoggedParam; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.support.ui.ExpectedConditions; -import java.io.IOException; -import java.util.HashMap; import java.util.List; -import java.util.Map; public class ComplianceLoginSettingsPage extends BaseComplianceSettingsPage { @@ -76,25 +68,6 @@ public void clickSaveExpectingAlert(String expectedAlert) assertAlert(expectedAlert); } - @LogMethod(quiet = true) - public static void setFicamRestrictionViaApi(Connection connection, @LoggedParam boolean restrict) - { - Map formData = new HashMap<>(); - formData.put("tab", "login"); - if (restrict) - formData.put("acceptOnlyFICAMProviders", "on"); - SimpleFormCommand command = new SimpleFormCommand("compliance", "complianceSettings", formData); - - try - { - command.execute(connection, null); - } - catch (IOException | CommandException e) - { - throw new RuntimeException(e); - } - } - @Override protected ElementCache newElementCache() { From 7d3a9242930d56df19a3806b249e4266fa3dccea Mon Sep 17 00:00:00 2001 From: labkey-tchad Date: Wed, 22 Jul 2026 14:44:30 -0700 Subject: [PATCH 4/4] Remove pointless annotations --- src/org/labkey/test/util/AbstractUserHelper.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/org/labkey/test/util/AbstractUserHelper.java b/src/org/labkey/test/util/AbstractUserHelper.java index 5a01d2d25d..d877603406 100644 --- a/src/org/labkey/test/util/AbstractUserHelper.java +++ b/src/org/labkey/test/util/AbstractUserHelper.java @@ -144,8 +144,7 @@ public final void deleteUsers(boolean failIfNotFound, TestUser... users) } public abstract void ensureUsersExist(List userEmails); - @LogMethod (quiet = true) - public abstract CreateUserResponse createUser(@LoggedParam String userName, boolean sendEmail, boolean verifySuccess); + public abstract CreateUserResponse createUser(String userName, boolean sendEmail, boolean verifySuccess); public abstract String setInitialPassword(int userId); protected abstract void _deleteUser(String userEmail); protected abstract void _deleteUsers(boolean failIfNotFound, String... userEmails);