From 0c21828c8645f1391b9f35e1beffc7dbe73ba4a4 Mon Sep 17 00:00:00 2001
From: srosse <stephane.rosse@frentix.com>
Date: Fri, 21 Jun 2019 21:34:02 +0200
Subject: [PATCH] OO-4030: update selenium after changes in password/username
 policy

---
 src/test/java/org/olat/selenium/UserTest.java | 32 +++++++++++--------
 .../page/course/DialogConfigurationPage.java  |  1 +
 .../selenium/page/user/UserAdminPage.java     | 13 ++------
 3 files changed, 21 insertions(+), 25 deletions(-)

diff --git a/src/test/java/org/olat/selenium/UserTest.java b/src/test/java/org/olat/selenium/UserTest.java
index 2e3cfa84334..48555842fd0 100644
--- a/src/test/java/org/olat/selenium/UserTest.java
+++ b/src/test/java/org/olat/selenium/UserTest.java
@@ -623,8 +623,9 @@ public class UserTest extends Deployments {
 			.resume();
 		
 		String uuid = UUID.randomUUID().toString();
-		String username = "miku-" + uuid;
-		UserVO userVo = UserAdminPage.createUserVO(username, "Miku", "Hatsune", "miku-" + uuid + "@openolat.com", "miku01");
+		String username = ("miku-" + uuid).substring(0, 32);
+		String password = "Miku#hatsune#01";
+		UserVO userVo = UserAdminPage.createUserVO(username, "Miku", "Hatsune", username + "@openolat.com", password);
 
 		NavigationPage navBar = NavigationPage.load(browser);
 		UserAdminPage userAdminPage = navBar
@@ -644,7 +645,7 @@ public class UserTest extends Deployments {
 		LoginPage userLoginPage = LoginPage.load(userBrowser, deploymentUrl);
 		//tools
 		userLoginPage
-			.loginAs(username, "miku01")
+			.loginAs(username, password)
 			.resume()
 			.assertLoggedIn(userVo);
 	}
@@ -671,9 +672,10 @@ public class UserTest extends Deployments {
 			.resume();
 		
 		String uuid = UUID.randomUUID().toString();
-		String username = "miku-" + uuid;
+		String username = ("miku-" + uuid).substring(0, 32);
 		String lastName = "Hatsune" + uuid;
-		UserVO userVo = UserAdminPage.createUserVO(username, "Miku", lastName, "miku-" + uuid + "@openolat.com", "miku01");
+		String password = "Miku#hatsune#02";
+		UserVO userVo = UserAdminPage.createUserVO(username, "Miku", lastName, username + "@openolat.com", password);
 
 		NavigationPage navBar = NavigationPage.load(browser);
 		UserAdminPage userAdminPage = navBar
@@ -686,7 +688,7 @@ public class UserTest extends Deployments {
 		LoginPage userLoginPage = LoginPage.load(userBrowser, deploymentUrl);
 		//tools
 		userLoginPage
-			.loginAs(username, "miku01")
+			.loginAs(username, password)
 			.resume()
 			.assertLoggedIn(userVo);
 		//log out
@@ -702,7 +704,7 @@ public class UserTest extends Deployments {
 		//user try the login
 		userLoginPage = LoginPage.load(userBrowser, deploymentUrl);
 		userLoginPage
-			.loginDenied(username, "miku01");
+			.loginDenied(username, password);
 		//assert on error message
 		By errorMessageby = By.cssSelector("div.modal-body.alert.alert-danger");
 		OOGraphene.waitElement(errorMessageby, 2, userBrowser);
@@ -741,8 +743,8 @@ public class UserTest extends Deployments {
 		ImportUserPage importWizard = userAdminPage.startImport();
 		
 		String uuid = UUID.randomUUID().toString();
-		String username1 = "moka-" + uuid;
-		String username2 = "mizore-" + uuid;
+		String username1 = ("moka-" + uuid).substring(0, 32);
+		String username2 = ("mizore-" + uuid).substring(0, 32);
 		
 		StringBuilder csv = new StringBuilder();
 		UserVO user1 = importWizard.append(username1, "rosario01", "Moka", "Akashiya", csv);
@@ -799,11 +801,13 @@ public class UserTest extends Deployments {
 		ImportUserPage importWizard = userAdminPage.startImport();
 		
 		String uuid = UUID.randomUUID().toString();
-		String username1 = "moka-" + uuid;
+		String username1 = ("moka-" + uuid).substring(0, 32);
+		String password1 = "Rosario#02";
+		String password2 = "Openolat#2";
 
 		StringBuilder csv = new StringBuilder();
-		UserVO newUser = importWizard.append(username1, "rosario02", "Moka", "Akashiya", csv);
-		user1 = importWizard.append(user1, "Aono", "openolat2", csv);
+		UserVO newUser = importWizard.append(username1, password1, "Moka", "Akashiya", csv);
+		user1 = importWizard.append(user1, "Aono", password2, csv);
 		importWizard
 			.fill(csv.toString())
 			.nextData() // -> preview
@@ -821,7 +825,7 @@ public class UserTest extends Deployments {
 		LoginPage userLoginPage = LoginPage.load(existingUserBrowser, deploymentUrl);
 		//tools
 		userLoginPage
-			.loginAs(user1.getLogin(), "openolat2")
+			.loginAs(user1.getLogin(), password2)
 			.resume()
 			.assertLoggedInByLastName("Aono");
 		
@@ -829,7 +833,7 @@ public class UserTest extends Deployments {
 		LoginPage newLoginPage = LoginPage.load(newUserBrowser, deploymentUrl);
 		//tools
 		newLoginPage
-			.loginAs(newUser.getLogin(), "rosario02")
+			.loginAs(newUser.getLogin(), password1)
 			.resume()
 			.assertLoggedInByLastName("Akashiya");
 	}
diff --git a/src/test/java/org/olat/selenium/page/course/DialogConfigurationPage.java b/src/test/java/org/olat/selenium/page/course/DialogConfigurationPage.java
index 8f70804a5f3..ea25e1ef0db 100644
--- a/src/test/java/org/olat/selenium/page/course/DialogConfigurationPage.java
+++ b/src/test/java/org/olat/selenium/page/course/DialogConfigurationPage.java
@@ -52,6 +52,7 @@ public class DialogConfigurationPage {
 		
 		By inputBy = By.xpath("//div[contains(@class,'modal-body')]//div[@class='o_fileinput']/input[@type='file']");
 		OOGraphene.uploadFile(inputBy, file, browser);
+		OOGraphene.waitBusy(browser);
 		
 		By uploadButtonBy = By.cssSelector("div.modal-body div.o_sel_upload_buttons button.btn-primary");
 		OOGraphene.waitElement(uploadButtonBy, browser);
diff --git a/src/test/java/org/olat/selenium/page/user/UserAdminPage.java b/src/test/java/org/olat/selenium/page/user/UserAdminPage.java
index 83bc9cc9ffd..a4a4fd9d854 100644
--- a/src/test/java/org/olat/selenium/page/user/UserAdminPage.java
+++ b/src/test/java/org/olat/selenium/page/user/UserAdminPage.java
@@ -191,17 +191,8 @@ public class UserAdminPage {
 	}
 	
 	public UserAdminPage assertOnUserEditView(String username) {
-		By userInfoTdBy = By.cssSelector(".o_user_infos table tr td");
-		List<WebElement> tds = browser.findElements(userInfoTdBy);
-		boolean found = false;
-		for(WebElement td:tds) {
-			String text = td.getText();
-			if(text != null && text.equals(username)) {
-				found = true;
-				break;
-			}
-		}
-		Assert.assertTrue(found);
+		By userInfoBy = By.xpath("//div[contains(@class,'o_user_infos')]//table//tr/td[contains(text(),'" + username + "')]");
+		OOGraphene.waitElement(userInfoBy, browser);
 		return this;
 	}
 	
-- 
GitLab