Author: solomax
Date: Sun Jan 22 16:48:27 2017
New Revision: 1779836

URL: http://svn.apache.org/viewvc?rev=1779836&view=rev
Log:
[OPENMEETINGS-816] loginUI wicket test is fixed

Modified:
    
openmeetings/application/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/AbstractTestDefaults.java
    
openmeetings/application/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/TestSignUp.java
    
openmeetings/application/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/web/LoginUI.java
    
openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/AbstractTestDefaults.java
    
openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/TestSignUp.java
    
openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/web/LoginUI.java
    
openmeetings/application/trunk/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/AbstractTestDefaults.java
    
openmeetings/application/trunk/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/TestSignUp.java
    
openmeetings/application/trunk/openmeetings-web/src/test/java/org/apache/openmeetings/test/web/LoginUI.java

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/AbstractTestDefaults.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/AbstractTestDefaults.java?rev=1779836&r1=1779835&r2=1779836&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/AbstractTestDefaults.java
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/AbstractTestDefaults.java
 Sun Jan 22 16:48:27 2017
@@ -34,12 +34,11 @@ import org.springframework.beans.factory
 
 @Category(SeleniumTests.class)
 public abstract class AbstractTestDefaults extends AbstractSpringTest {
-       
        @Autowired
        private LabelDao labelDao;
 
        public WebDriver driver = null;
-       
+
        private String BASE_URL = "http://localhost:5080/openmeetings";;
        private String username = "swagner";
        private String userpass = "qweqwe";
@@ -67,11 +66,11 @@ public abstract class AbstractTestDefaul
        public String getEmail() {
                return email;
        }
-       
+
        public Long getLanguageId() {
                return 1L;
        }
-       
+
        public String getLocale() {
                return locale;
        }
@@ -80,14 +79,14 @@ public abstract class AbstractTestDefaul
        // Eclipse, the browser will not shut down after the test so you can 
start
        // to diagnose the test issue
        public boolean doTearDownAfterTest = false;
-       
+
        public String getString(long id) {
                return labelDao.getString(id, getLanguageId());
        }
 
        /**
         * Make method overwrite possible to have custom behavior in tests
-        * 
+        *
         * @return
         */
        public boolean getDoTearDownAfterTest() {
@@ -104,7 +103,7 @@ public abstract class AbstractTestDefaul
        /**
         * This test is a basic test to verify the default loader mechanism 
works
         * it is not intend to be a part of any sub test
-        * 
+        *
         * @throws Exception
         */
        //@Test
@@ -131,9 +130,9 @@ public abstract class AbstractTestDefaul
        }
 
        /**
-        * Throws exception in case that test fails, so it is important to not 
catch 
+        * Throws exception in case that test fails, so it is important to not 
catch
         * that exception but really let the test fail!
-        * 
+        *
         * @throws Exception
         */
        protected void testIsInstalledAndDoInstallation() throws Exception {

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/TestSignUp.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/TestSignUp.java?rev=1779836&r1=1779835&r2=1779836&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/TestSignUp.java
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/TestSignUp.java
 Sun Jan 22 16:48:27 2017
@@ -27,9 +27,8 @@ import org.openqa.selenium.WebElement;
 import com.googlecode.wicket.jquery.ui.widget.dialog.DialogButtons;
 
 public class TestSignUp extends AbstractTestDefaults {
-       
        String pass = "pass";
-       
+
        @Override
        public boolean getDoTearDownAfterTest() {
                return false;
@@ -37,97 +36,94 @@ public class TestSignUp extends Abstract
 
        @Test
        public void testSignUp() throws Exception {
-               
                try {
                        driver.get(getBASE_URL());
-                       
+
                        String currentRandomCounter = "" + ((new 
Date().getTime())/1000);
                        String userName = "seba" + currentRandomCounter;
                        String email = "hans." + currentRandomCounter + 
"@openmeetings.apache.org";
-                       
+
                        super.testIsInstalledAndDoInstallation();
-                       
+
                        WebElement signUpButton = 
SeleniumUtils.findElement(driver,
                                        "//button[span[contains(text(), '" + 
getString(123) + "')]]", true, true);
                        signUpButton.click();
-                       
+
                        // ##################################
                        // Test validation message for passwords to be identical
                        // ##################################
                        doSignUp("Hans","Muster", userName, "pw", "pw2", email);
-                       
+
                        //Find Error label-id 232 "Please enter two identical 
passwords"
                        SeleniumUtils.findElement(driver, 
"//span[@class='feedbackPanelERROR'][contains(text(), '" + getString(232) + 
"')]", true, true);
-                       
-                       
+
                        // ##################################
                        // Sign up with user and sign in
                        // ##################################
                        doSignUp("Hans","Muster", userName, pass, pass, email);
-                       
-                       
+
                        //Check for popup with success message and email to 
check
                        //Labelid 674
                        SeleniumUtils.findElement(driver, 
"//span[contains(text(), '" + getString(674) + "')]", true, true);
-                       
+
                        //click button to close popup
                        WebElement signUpSucessPopUpOkButton = 
SeleniumUtils.findElement(driver,
                                        "//button[span[contains(text(), '" + 
DialogButtons.OK.toString() + "')]]", true, true);
                        signUpSucessPopUpOkButton.click();
-                       
+
                        //Login with user
                        SeleniumUtils.inputText(driver, "login", userName);
                        SeleniumUtils.inputText(driver, "pass", pass);
-       
+
                        //click labelid 112 "Sign In"
                        WebElement signInButton = 
SeleniumUtils.findElement(driver,
                                        "//button[span[contains(text(), '" + 
getString(112) + "')]]", true, true);
                        signInButton.click();
-       
+
                        // check for some text in dashbaord, labelid 281, "Help 
and support"
                        SeleniumUtils.elementExists(driver,
                                        "//h3[contains(text(), '" + 
getString(281) + "')]", true);
-                       
+
                        //sign out
                        WebElement signOutLink = 
SeleniumUtils.findElement(driver,
                                        "//a[contains(text(), '" + 
getString(310) + "')]", true, true);
                        signOutLink.click();
-                       
+
                        Alert alert = driver.switchTo().alert();
                        alert.accept();
-                       
+
                        // ##################################
                        // Sign up with same user and email and check duplicate 
messages
                        // ##################################
-                       
+
                        signUpButton = SeleniumUtils.findElement(driver,
                                        "//button[span[contains(text(), '" + 
getString(123) + "')]]", true, true);
                        signUpButton.click();
-                       
+
                        doSignUp("Hans","Muster", userName, pass, pass, email);
-                       
+
                        //Find Error label-id 105, The username is already used
                        SeleniumUtils.findElement(driver, 
"//span[@class='feedbackPanelERROR'][contains(text(), '" + getString(105) + 
"')]", true, true);
-                       
+
                        //Find Error label-id 1000, This email is already used 
by another user.
                        SeleniumUtils.findElement(driver, 
"//span[@class='feedbackPanelERROR'][contains(text(), '" + getString(1000) + 
"')]", true, true);
                } catch (Exception e) {
                        
SeleniumUtils.makeScreenShot(this.getClass().getSimpleName(), e,
                                        driver);
                        throw e;
-               }       
+               }
        }
-       
+
        private void doSignUp(String firstName, String lastName, String login, 
String password,
                                        String confirmPassword, String email) 
throws Exception {
-               
+
                SeleniumUtils.inputText(driver, "firstName", firstName);
                SeleniumUtils.inputText(driver, "lastName", lastName);
                SeleniumUtils.inputText(driver, "//input[@name='login']", 
login);
                SeleniumUtils.inputText(driver, "password", password);
                SeleniumUtils.inputText(driver, "confirmPassword", 
confirmPassword);
                SeleniumUtils.inputText(driver, "email", email);
-               
+
                WebElement submitButton = SeleniumUtils.findElement(driver,
                                "//button[span[contains(text(), 'Register')]]", 
true, true);
                submitButton.click();

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/web/LoginUI.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/web/LoginUI.java?rev=1779836&r1=1779835&r2=1779836&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/web/LoginUI.java
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/web/LoginUI.java
 Sun Jan 22 16:48:27 2017
@@ -18,35 +18,42 @@
  */
 package org.apache.openmeetings.test.web;
 
+import static org.junit.Assert.assertTrue;
+
 import org.apache.openmeetings.test.AbstractWicketTester;
+import org.apache.openmeetings.web.app.Application;
+import org.apache.openmeetings.web.app.WebSession;
 import org.apache.openmeetings.web.pages.MainPage;
 import org.apache.openmeetings.web.pages.auth.SignInPage;
 import org.apache.wicket.util.tester.FormTester;
+import org.junit.Test;
 
 public class LoginUI extends AbstractWicketTester {
-
-        //@Test Needs to much memory to start this test, and there is nothing 
useful here inside other then some basic
-        //proof of concept (basically the concept failed)
-       public void testLoginUi() {
-               
+       @Test
+       public void testValidLogin() {
                tester.startPage(MainPage.class);
-               
                tester.assertRenderedPage(SignInPage.class);
-               
+
                FormTester formTester = tester.newFormTester("signin:signin");
                formTester.setValue("login", username);
                formTester.setValue("pass", userpass);
-               
-               //How to reference specific buttons in Wicket jQuery UI ?!
-               
-               formTester.submit();
-               
-               System.err.println("getLastRenderedPage: "+ 
tester.getLastRenderedPage().getMarkup().toString());
-               
-               //will fail
-               //tester.assertComponent("dashboard", DashboardPanel.class);
-               
+               formTester.submit("submit");
+
+               tester.assertNoErrorMessage();
+               tester.assertRenderedPage(MainPage.class);
+               WebSession ws = (WebSession)tester.getSession();
+               assertTrue("Login should be successful", ws.isSignedIn());
        }
-       
-}
 
+       @Test
+       public void testEmptyLogin() {
+               tester.startPage(SignInPage.class);
+               tester.assertRenderedPage(SignInPage.class);
+
+               FormTester formTester = tester.newFormTester("signin:signin");
+               formTester.submit("submit");
+
+               tester.assertErrorMessages(String.format("'%s' is required.", 
Application.getString(114))
+                               , String.format("'%s' is required.", 
Application.getString(115)));
+       }
+}

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/AbstractTestDefaults.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/AbstractTestDefaults.java?rev=1779836&r1=1779835&r2=1779836&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/AbstractTestDefaults.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/AbstractTestDefaults.java
 Sun Jan 22 16:48:27 2017
@@ -34,12 +34,11 @@ import org.springframework.beans.factory
 
 @Category(SeleniumTests.class)
 public abstract class AbstractTestDefaults extends AbstractSpringTest {
-       
        @Autowired
        private LabelDao labelDao;
 
        public WebDriver driver = null;
-       
+
        private String BASE_URL = "http://localhost:5080/openmeetings";;
        private String username = "swagner";
        private String userpass = "qweqwe";
@@ -67,11 +66,11 @@ public abstract class AbstractTestDefaul
        public String getEmail() {
                return email;
        }
-       
+
        public Long getLanguageId() {
                return 1L;
        }
-       
+
        public String getLocale() {
                return locale;
        }
@@ -80,14 +79,14 @@ public abstract class AbstractTestDefaul
        // Eclipse, the browser will not shut down after the test so you can 
start
        // to diagnose the test issue
        public boolean doTearDownAfterTest = false;
-       
+
        public String getString(long id) {
                return labelDao.getString(id, getLanguageId());
        }
 
        /**
         * Make method overwrite possible to have custom behavior in tests
-        * 
+        *
         * @return
         */
        public boolean getDoTearDownAfterTest() {
@@ -104,7 +103,7 @@ public abstract class AbstractTestDefaul
        /**
         * This test is a basic test to verify the default loader mechanism 
works
         * it is not intend to be a part of any sub test
-        * 
+        *
         * @throws Exception
         */
        //@Test
@@ -131,9 +130,9 @@ public abstract class AbstractTestDefaul
        }
 
        /**
-        * Throws exception in case that test fails, so it is important to not 
catch 
+        * Throws exception in case that test fails, so it is important to not 
catch
         * that exception but really let the test fail!
-        * 
+        *
         * @throws Exception
         */
        protected void testIsInstalledAndDoInstallation() throws Exception {

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/TestSignUp.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/TestSignUp.java?rev=1779836&r1=1779835&r2=1779836&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/TestSignUp.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/TestSignUp.java
 Sun Jan 22 16:48:27 2017
@@ -27,9 +27,8 @@ import org.openqa.selenium.WebElement;
 import com.googlecode.wicket.jquery.ui.widget.dialog.DialogButtons;
 
 public class TestSignUp extends AbstractTestDefaults {
-       
        String pass = "pass";
-       
+
        @Override
        public boolean getDoTearDownAfterTest() {
                return false;
@@ -37,97 +36,94 @@ public class TestSignUp extends Abstract
 
        @Test
        public void testSignUp() throws Exception {
-               
                try {
                        driver.get(getBASE_URL());
-                       
+
                        String currentRandomCounter = "" + ((new 
Date().getTime())/1000);
                        String userName = "seba" + currentRandomCounter;
                        String email = "hans." + currentRandomCounter + 
"@openmeetings.apache.org";
-                       
+
                        super.testIsInstalledAndDoInstallation();
-                       
+
                        WebElement signUpButton = 
SeleniumUtils.findElement(driver,
                                        "//button[span[contains(text(), '" + 
getString(123) + "')]]", true, true);
                        signUpButton.click();
-                       
+
                        // ##################################
                        // Test validation message for passwords to be identical
                        // ##################################
                        doSignUp("Hans","Muster", userName, "pw", "pw2", email);
-                       
+
                        //Find Error label-id 232 "Please enter two identical 
passwords"
                        SeleniumUtils.findElement(driver, 
"//span[@class='feedbackPanelERROR'][contains(text(), '" + getString(232) + 
"')]", true, true);
-                       
-                       
+
                        // ##################################
                        // Sign up with user and sign in
                        // ##################################
                        doSignUp("Hans","Muster", userName, pass, pass, email);
-                       
-                       
+
                        //Check for popup with success message and email to 
check
                        //Labelid 674
                        SeleniumUtils.findElement(driver, 
"//span[contains(text(), '" + getString(674) + "')]", true, true);
-                       
+
                        //click button to close popup
                        WebElement signUpSucessPopUpOkButton = 
SeleniumUtils.findElement(driver,
                                        "//button[span[contains(text(), '" + 
DialogButtons.OK.toString() + "')]]", true, true);
                        signUpSucessPopUpOkButton.click();
-                       
+
                        //Login with user
                        SeleniumUtils.inputText(driver, "login", userName);
                        SeleniumUtils.inputText(driver, "pass", pass);
-       
+
                        //click labelid 112 "Sign In"
                        WebElement signInButton = 
SeleniumUtils.findElement(driver,
                                        "//button[span[contains(text(), '" + 
getString(112) + "')]]", true, true);
                        signInButton.click();
-       
+
                        // check for some text in dashbaord, labelid 281, "Help 
and support"
                        SeleniumUtils.elementExists(driver,
                                        "//h3[contains(text(), '" + 
getString(281) + "')]", true);
-                       
+
                        //sign out
                        WebElement signOutLink = 
SeleniumUtils.findElement(driver,
                                        "//a[contains(text(), '" + 
getString(310) + "')]", true, true);
                        signOutLink.click();
-                       
+
                        Alert alert = driver.switchTo().alert();
                        alert.accept();
-                       
+
                        // ##################################
                        // Sign up with same user and email and check duplicate 
messages
                        // ##################################
-                       
+
                        signUpButton = SeleniumUtils.findElement(driver,
                                        "//button[span[contains(text(), '" + 
getString(123) + "')]]", true, true);
                        signUpButton.click();
-                       
+
                        doSignUp("Hans","Muster", userName, pass, pass, email);
-                       
+
                        //Find Error label-id 105, The username is already used
                        SeleniumUtils.findElement(driver, 
"//span[@class='feedbackPanelERROR'][contains(text(), '" + getString(105) + 
"')]", true, true);
-                       
+
                        //Find Error label-id 1000, This email is already used 
by another user.
                        SeleniumUtils.findElement(driver, 
"//span[@class='feedbackPanelERROR'][contains(text(), '" + getString(1000) + 
"')]", true, true);
                } catch (Exception e) {
                        
SeleniumUtils.makeScreenShot(this.getClass().getSimpleName(), e,
                                        driver);
                        throw e;
-               }       
+               }
        }
-       
+
        private void doSignUp(String firstName, String lastName, String login, 
String password,
                                        String confirmPassword, String email) 
throws Exception {
-               
+
                SeleniumUtils.inputText(driver, "firstName", firstName);
                SeleniumUtils.inputText(driver, "lastName", lastName);
                SeleniumUtils.inputText(driver, "//input[@name='login']", 
login);
                SeleniumUtils.inputText(driver, "password", password);
                SeleniumUtils.inputText(driver, "confirmPassword", 
confirmPassword);
                SeleniumUtils.inputText(driver, "email", email);
-               
+
                WebElement submitButton = SeleniumUtils.findElement(driver,
                                "//button[span[contains(text(), 'Register')]]", 
true, true);
                submitButton.click();

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/web/LoginUI.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/web/LoginUI.java?rev=1779836&r1=1779835&r2=1779836&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/web/LoginUI.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/web/LoginUI.java
 Sun Jan 22 16:48:27 2017
@@ -18,35 +18,42 @@
  */
 package org.apache.openmeetings.test.web;
 
+import static org.junit.Assert.assertTrue;
+
 import org.apache.openmeetings.test.AbstractWicketTester;
+import org.apache.openmeetings.web.app.Application;
+import org.apache.openmeetings.web.app.WebSession;
 import org.apache.openmeetings.web.pages.MainPage;
 import org.apache.openmeetings.web.pages.auth.SignInPage;
 import org.apache.wicket.util.tester.FormTester;
+import org.junit.Test;
 
 public class LoginUI extends AbstractWicketTester {
-
-        //@Test Needs to much memory to start this test, and there is nothing 
useful here inside other then some basic
-        //proof of concept (basically the concept failed)
-       public void testLoginUi() {
-               
+       @Test
+       public void testValidLogin() {
                tester.startPage(MainPage.class);
-               
                tester.assertRenderedPage(SignInPage.class);
-               
+
                FormTester formTester = tester.newFormTester("signin:signin");
                formTester.setValue("login", username);
                formTester.setValue("pass", userpass);
-               
-               //How to reference specific buttons in Wicket jQuery UI ?!
-               
-               formTester.submit();
-               
-               System.err.println("getLastRenderedPage: "+ 
tester.getLastRenderedPage().getMarkup().toString());
-               
-               //will fail
-               //tester.assertComponent("dashboard", DashboardPanel.class);
-               
+               formTester.submit("submit");
+
+               tester.assertNoErrorMessage();
+               tester.assertRenderedPage(MainPage.class);
+               WebSession ws = (WebSession)tester.getSession();
+               assertTrue("Login should be successful", ws.isSignedIn());
        }
-       
-}
 
+       @Test
+       public void testEmptyLogin() {
+               tester.startPage(SignInPage.class);
+               tester.assertRenderedPage(SignInPage.class);
+
+               FormTester formTester = tester.newFormTester("signin:signin");
+               formTester.submit("submit");
+
+               tester.assertErrorMessages(String.format("'%s' is required.", 
Application.getString(114))
+                               , String.format("'%s' is required.", 
Application.getString(115)));
+       }
+}

Modified: 
openmeetings/application/trunk/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/AbstractTestDefaults.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/AbstractTestDefaults.java?rev=1779836&r1=1779835&r2=1779836&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/AbstractTestDefaults.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/AbstractTestDefaults.java
 Sun Jan 22 16:48:27 2017
@@ -34,12 +34,11 @@ import org.springframework.beans.factory
 
 @Category(SeleniumTests.class)
 public abstract class AbstractTestDefaults extends AbstractSpringTest {
-       
        @Autowired
        private LabelDao labelDao;
 
        public WebDriver driver = null;
-       
+
        private String BASE_URL = "http://localhost:5080/openmeetings";;
        private String username = "swagner";
        private String userpass = "qweqwe";
@@ -67,11 +66,11 @@ public abstract class AbstractTestDefaul
        public String getEmail() {
                return email;
        }
-       
+
        public Long getLanguageId() {
                return 1L;
        }
-       
+
        public String getLocale() {
                return locale;
        }
@@ -80,14 +79,14 @@ public abstract class AbstractTestDefaul
        // Eclipse, the browser will not shut down after the test so you can 
start
        // to diagnose the test issue
        public boolean doTearDownAfterTest = false;
-       
+
        public String getString(long id) {
                return labelDao.getString(id, getLanguageId());
        }
 
        /**
         * Make method overwrite possible to have custom behavior in tests
-        * 
+        *
         * @return
         */
        public boolean getDoTearDownAfterTest() {
@@ -104,7 +103,7 @@ public abstract class AbstractTestDefaul
        /**
         * This test is a basic test to verify the default loader mechanism 
works
         * it is not intend to be a part of any sub test
-        * 
+        *
         * @throws Exception
         */
        //@Test
@@ -131,9 +130,9 @@ public abstract class AbstractTestDefaul
        }
 
        /**
-        * Throws exception in case that test fails, so it is important to not 
catch 
+        * Throws exception in case that test fails, so it is important to not 
catch
         * that exception but really let the test fail!
-        * 
+        *
         * @throws Exception
         */
        protected void testIsInstalledAndDoInstallation() throws Exception {

Modified: 
openmeetings/application/trunk/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/TestSignUp.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/TestSignUp.java?rev=1779836&r1=1779835&r2=1779836&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/TestSignUp.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/TestSignUp.java
 Sun Jan 22 16:48:27 2017
@@ -27,9 +27,8 @@ import org.openqa.selenium.WebElement;
 import com.googlecode.wicket.jquery.ui.widget.dialog.DialogButtons;
 
 public class TestSignUp extends AbstractTestDefaults {
-       
        String pass = "pass";
-       
+
        @Override
        public boolean getDoTearDownAfterTest() {
                return false;
@@ -37,97 +36,94 @@ public class TestSignUp extends Abstract
 
        @Test
        public void testSignUp() throws Exception {
-               
                try {
                        driver.get(getBASE_URL());
-                       
+
                        String currentRandomCounter = "" + ((new 
Date().getTime())/1000);
                        String userName = "seba" + currentRandomCounter;
                        String email = "hans." + currentRandomCounter + 
"@openmeetings.apache.org";
-                       
+
                        super.testIsInstalledAndDoInstallation();
-                       
+
                        WebElement signUpButton = 
SeleniumUtils.findElement(driver,
                                        "//button[span[contains(text(), '" + 
getString(123) + "')]]", true, true);
                        signUpButton.click();
-                       
+
                        // ##################################
                        // Test validation message for passwords to be identical
                        // ##################################
                        doSignUp("Hans","Muster", userName, "pw", "pw2", email);
-                       
+
                        //Find Error label-id 232 "Please enter two identical 
passwords"
                        SeleniumUtils.findElement(driver, 
"//span[@class='feedbackPanelERROR'][contains(text(), '" + getString(232) + 
"')]", true, true);
-                       
-                       
+
                        // ##################################
                        // Sign up with user and sign in
                        // ##################################
                        doSignUp("Hans","Muster", userName, pass, pass, email);
-                       
-                       
+
                        //Check for popup with success message and email to 
check
                        //Labelid 674
                        SeleniumUtils.findElement(driver, 
"//span[contains(text(), '" + getString(674) + "')]", true, true);
-                       
+
                        //click button to close popup
                        WebElement signUpSucessPopUpOkButton = 
SeleniumUtils.findElement(driver,
                                        "//button[span[contains(text(), '" + 
DialogButtons.OK.toString() + "')]]", true, true);
                        signUpSucessPopUpOkButton.click();
-                       
+
                        //Login with user
                        SeleniumUtils.inputText(driver, "login", userName);
                        SeleniumUtils.inputText(driver, "pass", pass);
-       
+
                        //click labelid 112 "Sign In"
                        WebElement signInButton = 
SeleniumUtils.findElement(driver,
                                        "//button[span[contains(text(), '" + 
getString(112) + "')]]", true, true);
                        signInButton.click();
-       
+
                        // check for some text in dashbaord, labelid 281, "Help 
and support"
                        SeleniumUtils.elementExists(driver,
                                        "//h3[contains(text(), '" + 
getString(281) + "')]", true);
-                       
+
                        //sign out
                        WebElement signOutLink = 
SeleniumUtils.findElement(driver,
                                        "//a[contains(text(), '" + 
getString(310) + "')]", true, true);
                        signOutLink.click();
-                       
+
                        Alert alert = driver.switchTo().alert();
                        alert.accept();
-                       
+
                        // ##################################
                        // Sign up with same user and email and check duplicate 
messages
                        // ##################################
-                       
+
                        signUpButton = SeleniumUtils.findElement(driver,
                                        "//button[span[contains(text(), '" + 
getString(123) + "')]]", true, true);
                        signUpButton.click();
-                       
+
                        doSignUp("Hans","Muster", userName, pass, pass, email);
-                       
+
                        //Find Error label-id 105, The username is already used
                        SeleniumUtils.findElement(driver, 
"//span[@class='feedbackPanelERROR'][contains(text(), '" + getString(105) + 
"')]", true, true);
-                       
+
                        //Find Error label-id 1000, This email is already used 
by another user.
                        SeleniumUtils.findElement(driver, 
"//span[@class='feedbackPanelERROR'][contains(text(), '" + getString(1000) + 
"')]", true, true);
                } catch (Exception e) {
                        
SeleniumUtils.makeScreenShot(this.getClass().getSimpleName(), e,
                                        driver);
                        throw e;
-               }       
+               }
        }
-       
+
        private void doSignUp(String firstName, String lastName, String login, 
String password,
                                        String confirmPassword, String email) 
throws Exception {
-               
+
                SeleniumUtils.inputText(driver, "firstName", firstName);
                SeleniumUtils.inputText(driver, "lastName", lastName);
                SeleniumUtils.inputText(driver, "//input[@name='login']", 
login);
                SeleniumUtils.inputText(driver, "password", password);
                SeleniumUtils.inputText(driver, "confirmPassword", 
confirmPassword);
                SeleniumUtils.inputText(driver, "email", email);
-               
+
                WebElement submitButton = SeleniumUtils.findElement(driver,
                                "//button[span[contains(text(), 'Register')]]", 
true, true);
                submitButton.click();

Modified: 
openmeetings/application/trunk/openmeetings-web/src/test/java/org/apache/openmeetings/test/web/LoginUI.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/test/java/org/apache/openmeetings/test/web/LoginUI.java?rev=1779836&r1=1779835&r2=1779836&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/test/java/org/apache/openmeetings/test/web/LoginUI.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/test/java/org/apache/openmeetings/test/web/LoginUI.java
 Sun Jan 22 16:48:27 2017
@@ -18,35 +18,42 @@
  */
 package org.apache.openmeetings.test.web;
 
+import static org.junit.Assert.assertTrue;
+
 import org.apache.openmeetings.test.AbstractWicketTester;
+import org.apache.openmeetings.web.app.Application;
+import org.apache.openmeetings.web.app.WebSession;
 import org.apache.openmeetings.web.pages.MainPage;
 import org.apache.openmeetings.web.pages.auth.SignInPage;
 import org.apache.wicket.util.tester.FormTester;
+import org.junit.Test;
 
 public class LoginUI extends AbstractWicketTester {
-
-        //@Test Needs to much memory to start this test, and there is nothing 
useful here inside other then some basic
-        //proof of concept (basically the concept failed)
-       public void testLoginUi() {
-               
+       @Test
+       public void testValidLogin() {
                tester.startPage(MainPage.class);
-               
                tester.assertRenderedPage(SignInPage.class);
-               
+
                FormTester formTester = tester.newFormTester("signin:signin");
                formTester.setValue("login", username);
                formTester.setValue("pass", userpass);
-               
-               //How to reference specific buttons in Wicket jQuery UI ?!
-               
-               formTester.submit();
-               
-               System.err.println("getLastRenderedPage: "+ 
tester.getLastRenderedPage().getMarkup().toString());
-               
-               //will fail
-               //tester.assertComponent("dashboard", DashboardPanel.class);
-               
+               formTester.submit("submit");
+
+               tester.assertNoErrorMessage();
+               tester.assertRenderedPage(MainPage.class);
+               WebSession ws = (WebSession)tester.getSession();
+               assertTrue("Login should be successful", ws.isSignedIn());
        }
-       
-}
 
+       @Test
+       public void testEmptyLogin() {
+               tester.startPage(SignInPage.class);
+               tester.assertRenderedPage(SignInPage.class);
+
+               FormTester formTester = tester.newFormTester("signin:signin");
+               formTester.submit("submit");
+
+               tester.assertErrorMessages(String.format("'%s' is required.", 
Application.getString(114))
+                               , String.format("'%s' is required.", 
Application.getString(115)));
+       }
+}


Reply via email to