This is an automated email from the ASF dual-hosted git repository.

solomax pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/openmeetings.git


The following commit(s) were added to refs/heads/master by this push:
     new 4be92fa  [OPENMEETINGS-2177] test install
4be92fa is described below

commit 4be92fa4c5f9dd5696719e210d5eee467838c7a4
Author: Maxim Solodovnik <[email protected]>
AuthorDate: Fri Mar 6 13:52:20 2020 +0700

    [OPENMEETINGS-2177] test install
---
 .../web/pages/install/TestInstall.java             | 30 +++++++++++++++++++---
 1 file changed, 26 insertions(+), 4 deletions(-)

diff --git 
a/openmeetings-web/src/test/java/org/apache/openmeetings/web/pages/install/TestInstall.java
 
b/openmeetings-web/src/test/java/org/apache/openmeetings/web/pages/install/TestInstall.java
index 043f23d..795703e 100644
--- 
a/openmeetings-web/src/test/java/org/apache/openmeetings/web/pages/install/TestInstall.java
+++ 
b/openmeetings-web/src/test/java/org/apache/openmeetings/web/pages/install/TestInstall.java
@@ -18,6 +18,7 @@
  */
 package org.apache.openmeetings.web.pages.install;
 
+import static 
com.googlecode.wicket.jquery.ui.widget.dialog.AbstractDialog.SUBMIT;
 import static org.apache.commons.io.FileUtils.deleteQuietly;
 import static org.apache.openmeetings.AbstractJUnitDefaults.adminUsername;
 import static org.apache.openmeetings.AbstractJUnitDefaults.email;
@@ -25,7 +26,6 @@ import static 
org.apache.openmeetings.AbstractJUnitDefaults.group;
 import static org.apache.openmeetings.AbstractJUnitDefaults.userpass;
 import static org.apache.openmeetings.AbstractWicketTester.checkErrors;
 import static org.apache.openmeetings.AbstractWicketTester.countErrors;
-import static org.apache.openmeetings.AbstractWicketTester.getButtonBehavior;
 import static org.apache.openmeetings.AbstractWicketTester.getWicketTester;
 import static 
org.apache.openmeetings.cli.ConnectionPropertiesPatcher.DEFAULT_DB_NAME;
 import static 
org.apache.openmeetings.db.util.ApplicationHelper.ensureApplication;
@@ -33,9 +33,12 @@ import static 
org.apache.openmeetings.util.OpenmeetingsVariables.DEFAULT_APP_NAM
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.setWicketApplicationName;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.fail;
 
 import java.io.File;
+import java.io.Serializable;
 import java.nio.file.Files;
+import java.util.List;
 import java.util.Locale;
 import java.util.Random;
 import java.util.TimeZone;
@@ -47,6 +50,7 @@ import 
org.apache.openmeetings.util.crypt.SCryptImplementation;
 import org.apache.openmeetings.web.app.Application;
 import org.apache.openmeetings.web.app.WebSession;
 import org.apache.wicket.behavior.AbstractAjaxBehavior;
+import org.apache.wicket.util.lang.Args;
 import org.apache.wicket.util.tester.FormTester;
 import org.apache.wicket.util.tester.WicketTester;
 import org.junit.jupiter.api.AfterEach;
@@ -55,6 +59,9 @@ import org.junit.jupiter.api.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import com.googlecode.wicket.jquery.ui.widget.dialog.AbstractDialog;
+import com.googlecode.wicket.jquery.ui.widget.dialog.ButtonAjaxBehavior;
+
 public class TestInstall {
        private static final Logger log = 
LoggerFactory.getLogger(TestInstall.class);
        private static final String WIZARD_PATH = "wizard";
@@ -113,11 +120,11 @@ public class TestInstall {
                
tester.executeBehavior((AbstractAjaxBehavior)page.getBehaviorById(0)); 
//welcome step
                assertNotNull(wiz.getWizardModel().getActiveStep(), "Model 
should NOT be null");
 
-               AbstractAjaxBehavior prev = getButtonBehavior(tester, 
WIZARD_PATH, 0);
+               AbstractAjaxBehavior prev = getButtonBehavior(tester, 
WIZARD_PATH, "PREV");
                //check enabled, add check for other buttons on other steps
                //FIXME TODO assertFalse(prev.getButton().isEnabled(), "Prev 
button should be disabled");
-               AbstractAjaxBehavior next = getButtonBehavior(tester, 
WIZARD_PATH, 1);
-               AbstractAjaxBehavior finish = getButtonBehavior(tester, 
WIZARD_PATH, 2);
+               AbstractAjaxBehavior next = getButtonBehavior(tester, 
WIZARD_PATH, "NEXT");
+               AbstractAjaxBehavior finish = getButtonBehavior(tester, 
WIZARD_PATH, SUBMIT);
                tester.executeBehavior(next); //DB step
                FormTester wizardTester = tester.newFormTester("wizard:form");
                wizardTester.select("view:form:dbType", 1);
@@ -152,4 +159,19 @@ public class TestInstall {
                tester.executeBehavior(finish);
                checkErrors(tester, 0);
        }
+
+       public static <T extends Serializable> ButtonAjaxBehavior 
getButtonBehavior(WicketTester tester, String path, String name) {
+               Args.notNull(path, "path");
+               Args.notNull(name, "name");
+               @SuppressWarnings("unchecked")
+               AbstractDialog<T> dialog = 
(AbstractDialog<T>)tester.getComponentFromLastRenderedPage(path);
+               List<ButtonAjaxBehavior> bl = 
dialog.getBehaviors(ButtonAjaxBehavior.class);
+               for (ButtonAjaxBehavior bb : bl) {
+                       if (name.equals(bb.getButton().getName())) {
+                               return bb;
+                       }
+               }
+               fail(String.format("Button '%s' not found for dialog '%s'", 
name, path));
+               return null;
+       }
 }

Reply via email to