From 4987bda1c6f0cb2dfcf2b5a0fe067ed85b20e80b Mon Sep 17 00:00:00 2001 From: alanv Date: Wed, 30 Sep 2026 15:41:42 -0500 Subject: [PATCH 1/2] FileWatcherPipelineTriggerTest - Add testParameterFunctionRequiresTrustedAnalyst --- .../pipeline/PipelineTriggerWizard.java | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/org/labkey/test/components/pipeline/PipelineTriggerWizard.java b/src/org/labkey/test/components/pipeline/PipelineTriggerWizard.java index 33f9c887f5..105b8cd321 100644 --- a/src/org/labkey/test/components/pipeline/PipelineTriggerWizard.java +++ b/src/org/labkey/test/components/pipeline/PipelineTriggerWizard.java @@ -231,6 +231,13 @@ public PipelineTriggerWizard setParameterFunction(String function) return this; } + public boolean isParameterFunctionPresent() + { + showAdvanced(); + getWrapper().shortWait().until(ExpectedConditions.visibilityOf(elementCache().addCustomParam)); + return elementCache().paramFunctionInput.getComponentElement().isDisplayed(); + } + private void showAdvanced() { if (!Locator.byClass("advanced-settings").findWhenNeeded(this).isDisplayed()) @@ -310,9 +317,9 @@ protected class ElementCache extends Component.ElementCache //details page elements Input nameInput = new Input(Locator.tagWithName("input", "name").findWhenNeeded(this), getDriver()); Input descriptionInput = new Input(Locator.tagWithName("textarea", "description").findWhenNeeded(this), getDriver()); - OptionSelect typeSelect = new OptionSelect(Locator.tagWithName("select", "type").findWhenNeeded(this)); - OptionSelect taskSelect = new OptionSelect(Locator.tagWithName("select", "pipelineId").findWhenNeeded(this)); - OptionSelect usernameInput = new OptionSelect(Locator.tagWithName("select", "username").findWhenNeeded(this)); + OptionSelect typeSelect = new OptionSelect<>(Locator.tagWithName("select", "type").findWhenNeeded(this)); + OptionSelect taskSelect = new OptionSelect<>(Locator.tagWithName("select", "pipelineId").findWhenNeeded(this)); + OptionSelect usernameInput = new OptionSelect<>(Locator.tagWithName("select", "username").findWhenNeeded(this)); Input assayProviderInput = new Input(Locator.tagWithName("input", "assay provider").findWhenNeeded(this), getDriver()); Checkbox enabledCheckbox = new Checkbox(Locator.tagWithName("input", "enabled").findWhenNeeded(this)); //configuration page elements @@ -323,12 +330,12 @@ protected class ElementCache extends Component.ElementCache Input containerMoveInput = new Input(Locator.tagWithName("input", "moveContainer").findWhenNeeded(this), getDriver()); Input subdirectoryMoveInput = new Input(Locator.tagWithName("input", "moveDirectory").findWhenNeeded(this), getDriver()); Input copyInput = new Input(Locator.tagWithName("input", "copy").findWhenNeeded(this), getDriver()); - Input paramFunctionInput = new Input(Locator.tagWithName("textarea", "parameterFunction").findWhenNeeded(this), getDriver()); + Input paramFunctionInput = new Input(Locator.id("parameter-function").findWhenNeeded(this), getDriver()); WebElement showAdvanced = Locator.byClass("custom-config__button").withText("Show Advanced Settings").findWhenNeeded(this); WebElement addCustomParam = Locator.byClass("custom-config__button").withText("Add Custom Parameter").findWhenNeeded(this); Input assayProtocolInput = new Input(Locator.tagWithName("input", "protocolName").findWhenNeeded(this), getDriver()); Input configurationFileInput = new Input(Locator.name("configFileName").findWhenNeeded(this), getDriver()); - //navgiation elements + //navigation elements WebElement detailsButton = Locator.linkContainingText("Details").findWhenNeeded(this); WebElement configurationButton = Locator.linkContainingText("Configuration").findWhenNeeded(this); From 79304f744ca7e609c7a901a5b78ead9441facb86 Mon Sep 17 00:00:00 2001 From: alanv Date: Thu, 1 Oct 2026 12:09:49 -0500 Subject: [PATCH 2/2] PipelineTriggerWizard: Add infrastructure needed for testCreateTriggerIgnoresParameterFunctionFromUrl --- .../pipeline/PipelineTriggerWizard.java | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/src/org/labkey/test/components/pipeline/PipelineTriggerWizard.java b/src/org/labkey/test/components/pipeline/PipelineTriggerWizard.java index 105b8cd321..e51f06c82d 100644 --- a/src/org/labkey/test/components/pipeline/PipelineTriggerWizard.java +++ b/src/org/labkey/test/components/pipeline/PipelineTriggerWizard.java @@ -64,7 +64,12 @@ public static PipelineTriggerWizard beginAt(WebDriverWrapper driver, String cont public static PipelineTriggerWizard beginAt(WebDriverWrapper driver, String containerPath, String pipelineTask) { - driver.beginAt(WebTestHelper.buildURL("pipeline", containerPath, "createPipelineTrigger", Map.of("pipelineTask", pipelineTask))); + return beginAt(driver, containerPath, Map.of("pipelineTask", pipelineTask)); + } + + public static PipelineTriggerWizard beginAt(WebDriverWrapper driver, String containerPath, Map params) + { + driver.beginAt(WebTestHelper.buildURL("pipeline", containerPath, "createPipelineTrigger", params)); return new PipelineTriggerWizard(driver.getDriver()); } @@ -156,6 +161,11 @@ public PipelineTriggerWizard goToConfiguration() return this; } + public String getLocation() + { + return elementCache().locationInput.get(); + } + public PipelineTriggerWizard setLocation(String value) { elementCache().locationInput.set(value); @@ -223,6 +233,12 @@ public PipelineTriggerWizard setCopy(String value) return this; } + public String getParameterFunction() + { + showAdvanced(); + return elementCache().paramFunctionInput.get(); + } + public PipelineTriggerWizard setParameterFunction(String function) { showAdvanced();