15
15
*/
16
16
package org .labkey .test .pages ;
17
17
18
- import org .apache .commons .lang3 . StringUtils ;
18
+ import org .apache .commons .text . WordUtils ;
19
19
import org .jetbrains .annotations .Nullable ;
20
20
import org .labkey .test .Locator ;
21
21
import org .labkey .test .WebDriverWrapper ;
@@ -74,7 +74,7 @@ public boolean isEnginePresent(String engineName)
74
74
public void setSiteDefault (String engineName )
75
75
{
76
76
log ("Ensure " + engineName + " is the site default engine" );
77
- editEngine (engineName );
77
+ EditEngineWindow editEngineWindow = editEngine (engineName );
78
78
Locator .XPathLocator defaultCheckbox = Locator .id ("editEngine_default-inputEl" );
79
79
if (_ext4Helper .isChecked (defaultCheckbox ))
80
80
{
@@ -85,8 +85,9 @@ public void setSiteDefault(String engineName)
85
85
}
86
86
log ("Change site default engine to " + engineName );
87
87
_ext4Helper .checkCheckbox (defaultCheckbox );
88
- click ( Locator . linkWithText ("Submit" ) );
88
+ editEngineWindow . clickButton ("Submit" , 0 );
89
89
acceptAlert ();
90
+ editEngineWindow .waitForClose ();
90
91
_ext4Helper .waitForMaskToDisappear ();
91
92
}
92
93
@@ -107,13 +108,12 @@ public void addEngine(@LoggedParam EngineType type, EngineConfig engineConfig)
107
108
mouseOver (menuItem );
108
109
menuItem .click (); // Retry for unresponsive button
109
110
}
110
- Window window = Window ( getDriver ()). withTitle ( EDIT_WINDOW_TITLE ). waitFor ();
111
- engineConfig .configureEngine (type , window , this );
111
+ EditEngineWindow configWindow = new EditEngineWindow ();
112
+ engineConfig .configureEngine (configWindow );
112
113
113
114
String language = getFormElement (Locator .id ("editEngine_languageName-inputEl" ));
114
115
115
- clickButton ("Submit" , 0 );
116
- waitForElementToDisappear (ConfigureReportsAndScriptsPage .Locators .editEngineWindow );
116
+ configWindow .submit ();
117
117
waitForElement (Locators .enginesGridRowForLanguage (language ));
118
118
}
119
119
@@ -218,13 +218,21 @@ public void deleteAllREngines()
218
218
}
219
219
220
220
@ LogMethod (quiet = true )
221
- public void editEngine (@ LoggedParam String engineName )
221
+ public EditEngineWindow editEngine (@ LoggedParam String engineName )
222
222
{
223
223
selectEngineNamed (engineName );
224
224
225
225
clickButton ("Edit" , 0 );
226
226
227
- Window (getDriver ()).withTitle (EDIT_WINDOW_TITLE ).waitFor ();
227
+ return new EditEngineWindow ();
228
+ }
229
+
230
+ @ LogMethod (quiet = true )
231
+ public void updateEngine (@ LoggedParam EngineConfig engineConfig )
232
+ {
233
+ EditEngineWindow editEngineWindow = editEngine (engineConfig .getName ());
234
+ engineConfig .configureEngine (editEngineWindow );
235
+ editEngineWindow .submit ();
228
236
}
229
237
230
238
private void deleteSelectedEngine (WebElement selectedEngineRow )
@@ -363,33 +371,26 @@ public void setOutputFileName(String outputFileName)
363
371
{
364
372
_outputFileNameInput .set (outputFileName );
365
373
}
374
+
375
+ public void submit ()
376
+ {
377
+ clickButton ("Submit" , true );
378
+ }
366
379
}
367
380
368
381
public enum EngineType
369
382
{
370
383
PERL ,
371
- REMOTE_R
372
- {
373
- @ Override
374
- public String toString ()
375
- {
376
- return "Remote R" ;
377
- }
378
- },
384
+ DOCKER_REPORT , // IPYNB
385
+ REMOTE_R ,
379
386
R ,
380
387
EXTERNAL ,
381
- R_DOCKER
382
- {
383
- @ Override
384
- public String toString ()
385
- {
386
- return "R Docker" ;
387
- }
388
- };
388
+ R_DOCKER ,
389
+ ;
389
390
390
391
public String toString ()
391
392
{
392
- return StringUtils .capitalize (name ().toLowerCase ());
393
+ return WordUtils .capitalize (name ().toLowerCase (). replace ( "_" , " " ));
393
394
}
394
395
}
395
396
@@ -502,16 +503,22 @@ public EngineConfig setOutputFileName(String outputFileName)
502
503
return this ;
503
504
}
504
505
505
- public void configureEngine (EngineType type , Window configWindow , WebDriverWrapper wrapper )
506
+ public void configureEngine (EditEngineWindow configWindow )
506
507
{
507
508
for (Map .Entry <Locator , String > entry : getConfigMap ().entrySet ())
508
509
{
509
510
if (entry .getValue () != null )
510
511
{
511
- wrapper .setFormElement (entry .getKey (), entry .getValue ());
512
+ configWindow . getWrapper () .setFormElement (entry .getKey (), entry .getValue ());
512
513
}
513
514
}
514
515
}
516
+
517
+ @ Override
518
+ public String toString ()
519
+ {
520
+ return getName () != null ? getName () : getClass ().getSimpleName ();
521
+ }
515
522
}
516
523
517
524
public static class RServeEngineConfig extends EngineConfig
@@ -635,18 +642,18 @@ public Map<Locator, String> getConfigMap()
635
642
}
636
643
637
644
@ Override
638
- public void configureEngine (EngineType type , Window configWindow , WebDriverWrapper wrapper )
645
+ public void configureEngine (EditEngineWindow configWindow )
639
646
{
640
647
// need to set the change password checkbox
641
- wrapper ._ext4Helper .checkCheckbox (Locator .id ("editEngine_changePassword-inputEl" ));
642
- super .configureEngine (type , configWindow , wrapper );
648
+ configWindow . getWrapper () ._ext4Helper .checkCheckbox (Locator .id ("editEngine_changePassword-inputEl" ));
649
+ super .configureEngine (configWindow );
643
650
644
- wrapper . log ("Configuring the path mapping" );
645
- wrapper .click (Locator .tagWithClassContaining ("td" , "remoteURI" ).index (0 ));
646
- Locator .name ("remoteURI" ).findElement (wrapper .getDriver ()).sendKeys (_remoteReportsTemp );
651
+ TestLogger . debug ("Configuring the path mapping" );
652
+ configWindow . getWrapper () .click (Locator .tagWithClassContaining ("td" , "remoteURI" ).index (0 ));
653
+ Locator .name ("remoteURI" ).findElement (configWindow . getWrapper () .getDriver ()).sendKeys (_remoteReportsTemp );
647
654
648
- wrapper .click (Locator .tagWithClassContaining ("td" , "remoteURI" ).index (1 ));
649
- Locator .name ("remoteURI" ).findElement (wrapper .getDriver ()).sendKeys (_remoteDate );
655
+ configWindow . getWrapper () .click (Locator .tagWithClassContaining ("td" , "remoteURI" ).index (1 ));
656
+ Locator .name ("remoteURI" ).findElement (configWindow . getWrapper () .getDriver ()).sendKeys (_remoteDate );
650
657
}
651
658
}
652
659
0 commit comments