You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2017/10/01 05:43:26 UTC

[2/4] openmeetings git commit: [OPENMEETINGS-1714] more issues are fixed

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/3dac8e2f/openmeetings-web/src/test/java/org/apache/openmeetings/test/derby/PrepareSystemFiles.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/test/java/org/apache/openmeetings/test/derby/PrepareSystemFiles.java b/openmeetings-web/src/test/java/org/apache/openmeetings/test/derby/PrepareSystemFiles.java
deleted file mode 100644
index 6e02765..0000000
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/test/derby/PrepareSystemFiles.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License") +  you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.openmeetings.test.derby;
-
-import static org.apache.openmeetings.util.OpenmeetingsVariables.getWebAppRootKey;
-
-import java.io.File;
-
-import org.apache.openmeetings.cli.ConnectionPropertiesPatcher;
-import org.apache.openmeetings.util.ConnectionProperties.DbType;
-import org.apache.openmeetings.util.OmFileHelper;
-import org.red5.logging.Red5LoggerFactory;
-import org.slf4j.Logger;
-
-/**
- * This file is called from command line to patch the derby configuration
- * during the automated run of Selenium
- *
- * @author swagner
- *
- */
-public class PrepareSystemFiles {
-	private static final Logger log = Red5LoggerFactory.getLogger(PrepareSystemFiles.class, getWebAppRootKey());
-
-	public static void main(String... args) {
-		try {
-			OmFileHelper.setOmHome(args[0]);
-
-			String databaseHomeDirectory = args[1];
-
-			String persistanceFileToPatch = args[2];
-
-			File conf = new File(persistanceFileToPatch);
-
-			if (conf.exists()) {
-				conf.delete();
-			}
-
-			ConnectionPropertiesPatcher.patch(DbType.derby.name()
-					, "localhost"
-					, "1527"
-					, databaseHomeDirectory + "openmeetings"
-					, "user"
-					, "secret"
-					);
-		} catch (Exception err) {
-			log.error("Error", err);
-		}
-	}
-
-}

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/3dac8e2f/openmeetings-web/src/test/java/org/apache/openmeetings/test/domain/TestAddGroup.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/test/java/org/apache/openmeetings/test/domain/TestAddGroup.java b/openmeetings-web/src/test/java/org/apache/openmeetings/test/domain/TestAddGroup.java
deleted file mode 100644
index fc90b9b..0000000
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/test/domain/TestAddGroup.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License") +  you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.openmeetings.test.domain;
-
-import static org.apache.openmeetings.util.OpenmeetingsVariables.getWebAppRootKey;
-import static org.junit.Assert.assertNotNull;
-
-import org.apache.openmeetings.db.dao.user.GroupDao;
-import org.apache.openmeetings.db.dao.user.UserDao;
-import org.apache.openmeetings.db.entity.user.Group;
-import org.apache.openmeetings.db.entity.user.GroupUser;
-import org.apache.openmeetings.db.entity.user.User;
-import org.apache.openmeetings.test.AbstractJUnitDefaults;
-import org.junit.Test;
-import org.red5.logging.Red5LoggerFactory;
-import org.slf4j.Logger;
-import org.springframework.beans.factory.annotation.Autowired;
-
-public class TestAddGroup extends AbstractJUnitDefaults {
-	private static final Logger log = Red5LoggerFactory.getLogger(TestAddGroup.class, getWebAppRootKey());
-
-	@Autowired
-	private GroupDao groupDao;
-	@Autowired
-	private UserDao userDao;
-
-	@Test
-	public void testAddingGroup() {
-		Group o = new Group();
-		o.setName("default");
-		o = groupDao.update(o, null);
-		assertNotNull("Id of group created should not be null", o.getId());
-
-		User us = userDao.get(1L);
-		assertNotNull("User should exist", us);
-
-		assertNotNull("Group User list should exist", us.getGroupUsers());
-		us.getGroupUsers().add(new GroupUser(o, us));
-		us = userDao.update(us, null);
-
-		log.error(us.getLastname());
-		log.error(us.getAddress().getTown());
-	}
-}

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/3dac8e2f/openmeetings-web/src/test/java/org/apache/openmeetings/test/domain/TestUserGroupAggregation.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/test/java/org/apache/openmeetings/test/domain/TestUserGroupAggregation.java b/openmeetings-web/src/test/java/org/apache/openmeetings/test/domain/TestUserGroupAggregation.java
deleted file mode 100644
index 3152eba..0000000
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/test/domain/TestUserGroupAggregation.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License") +  you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.openmeetings.test.domain;
-
-import static org.apache.openmeetings.util.OpenmeetingsVariables.getWebAppRootKey;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
-import org.apache.openmeetings.db.dao.user.UserDao;
-import org.apache.openmeetings.db.entity.user.GroupUser;
-import org.apache.openmeetings.db.entity.user.User;
-import org.apache.openmeetings.test.AbstractJUnitDefaults;
-import org.junit.Test;
-import org.red5.logging.Red5LoggerFactory;
-import org.slf4j.Logger;
-import org.springframework.beans.factory.annotation.Autowired;
-
-public class TestUserGroupAggregation extends AbstractJUnitDefaults {
-	private static final Logger log = Red5LoggerFactory.getLogger(TestUserGroupAggregation.class, getWebAppRootKey());
-
-	@Autowired
-	private UserDao userDao;
-
-	@Test
-	public void testitNow() {
-		User u = userDao.get(1L);
-
-		assertNotNull("Group list for default user must not be null", u.getGroupUsers());
-		assertTrue("Default user must belong to at least one group", u.getGroupUsers().size() > 0);
-
-		for (GroupUser orgUserObj : u.getGroupUsers()) {
-			log.error("testitNow: group Id: '" + orgUserObj.getGroup().getId() + "'; name: '" + orgUserObj.getGroup().getName() + "'");
-		}
-	}
-}

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/3dac8e2f/openmeetings-web/src/test/java/org/apache/openmeetings/test/invitiation/TestInvitation.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/test/java/org/apache/openmeetings/test/invitiation/TestInvitation.java b/openmeetings-web/src/test/java/org/apache/openmeetings/test/invitiation/TestInvitation.java
deleted file mode 100644
index 2c97de5..0000000
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/test/invitiation/TestInvitation.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License") +  you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.openmeetings.test.invitiation;
-
-import static org.apache.openmeetings.util.CalendarHelper.getDate;
-
-import java.time.LocalDateTime;
-
-import org.apache.openmeetings.db.dao.room.RoomDao;
-import org.apache.openmeetings.db.dao.user.UserDao;
-import org.apache.openmeetings.db.entity.room.Invitation;
-import org.apache.openmeetings.db.entity.room.Invitation.MessageType;
-import org.apache.openmeetings.db.entity.room.Invitation.Valid;
-import org.apache.openmeetings.db.entity.user.User;
-import org.apache.openmeetings.service.room.InvitationManager;
-import org.apache.openmeetings.test.AbstractWicketTester;
-import org.junit.Test;
-import org.springframework.beans.factory.annotation.Autowired;
-
-public class TestInvitation extends AbstractWicketTester {
-	@Autowired
-	private InvitationManager invitationManager;
-	@Autowired
-	private UserDao userDao;
-	@Autowired
-	private RoomDao roomDao;
-
-	@Test
-	public void testSendInvitationLink() throws Exception {
-		User us = userDao.getByLogin(username, User.Type.user, null);
-
-		LocalDateTime from = LocalDateTime.now().plusDays(1).withHour(12).withMinute(0).withSecond(0);
-		User invitee = userDao.getContact("sebawagner@apache.org", "Testname", "Testlastname", us.getId());
-		Invitation i = invitationManager.getInvitation(invitee, roomDao.get(1L),
-				false, "", Valid.OneTime
-				, us, us.getLanguageId(),
-				getDate(from, "GMT"), getDate(from.plusHours(2), "GMT"), null);
-
-		invitationManager.sendInvitationLink(i, MessageType.Create, "subject", "message", false);
-	}
-}

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/3dac8e2f/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/AbstractTestDefaults.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/AbstractTestDefaults.java b/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/AbstractTestDefaults.java
deleted file mode 100644
index aadf93f..0000000
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/AbstractTestDefaults.java
+++ /dev/null
@@ -1,229 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License") +  you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.openmeetings.test.selenium;
-
-import java.util.List;
-
-import org.apache.openmeetings.db.dao.label.LabelDao;
-import org.apache.openmeetings.test.AbstractSpringTest;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.experimental.categories.Category;
-import org.openqa.selenium.Keys;
-import org.openqa.selenium.WebDriver;
-import org.openqa.selenium.WebElement;
-import org.openqa.selenium.firefox.FirefoxDriver;
-import org.openqa.selenium.firefox.FirefoxOptions;
-import org.openqa.selenium.firefox.FirefoxProfile;
-
-@Category(SeleniumTests.class)
-public abstract class AbstractTestDefaults extends AbstractSpringTest {
-	public WebDriver driver = null;
-
-	private String BASE_URL = "http://localhost:5080/openmeetings";
-	private String username = "swagner";
-	private String userpass = "qweqwe";
-	private String groupName = "seleniumtest";
-	private String email = "selenium@openmeetings.apache.org";
-	private String locale = "en-us";
-
-
-	public String getBASE_URL() {
-		return BASE_URL;
-	}
-
-	public String getUsername() {
-		return username;
-	}
-
-	public String getUserpass() {
-		return userpass;
-	}
-
-	public String getGroupName() {
-		return groupName;
-	}
-
-	public String getEmail() {
-		return email;
-	}
-
-	public Long getLanguageId() {
-		return 1L;
-	}
-
-	public String getLocale() {
-		return locale;
-	}
-
-	// setting this to false can be handy if you run the test from inside
-	// 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(String key) {
-		return LabelDao.getString(key, getLanguageId());
-	}
-
-	/**
-	 * Make method overwrite possible to have custom behavior in tests
-	 *
-	 * @return
-	 */
-	public boolean getDoTearDownAfterTest() {
-		return doTearDownAfterTest;
-	}
-
-	@Before
-	public void setUp() {
-		FirefoxProfile profile = new FirefoxProfile();
-		profile.setPreference("intl.accept_languages", getLocale());
-		driver = new FirefoxDriver(new FirefoxOptions().setProfile(profile));
-	}
-
-	/**
-	 * 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
-	public void smokeTest() throws Exception {
-		try {
-			driver.get(getBASE_URL());
-
-			testIsInstalledAndDoInstallation();
-
-			SeleniumUtils.inputText(driver, "login", getUsername());
-			SeleniumUtils.inputText(driver, "pass", getUserpass());
-
-			WebElement signInButton = SeleniumUtils.findElement(driver,
-					"//button[span[contains(text(), 'Sign in')]]", true, true);
-			signInButton.click();
-
-			SeleniumUtils.elementExists(driver,
-					"//h3[contains(text(), 'Help and support')]", true);
-		} catch (Exception e) {
-			SeleniumUtils.makeScreenShot(this.getClass().getSimpleName(), e,
-					driver);
-			throw e;
-		}
-	}
-
-	/**
-	 * 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 {
-
-		WebElement wicketExtensionsWizardHeaderTitle = SeleniumUtils
-				.findElement(driver, "wicketExtensionsWizardHeaderTitle", false, true);
-		if (wicketExtensionsWizardHeaderTitle == null) {
-			return;
-		}
-		if (wicketExtensionsWizardHeaderTitle.getText()
-				.contains("Installation")) {
-			System.out.println("Do Installation");
-			doInstallation();
-		}
-
-	}
-
-	private void doInstallation() throws Exception {
-		Thread.sleep(3000L);
-
-		List<WebElement> buttons_next = SeleniumUtils.findElements(driver,
-				"buttons:next", true);
-
-		buttons_next.get(1).sendKeys(Keys.RETURN);
-
-		Thread.sleep(1000L);
-
-		SeleniumUtils.inputText(driver, "view:cfg.username", getUsername());
-		SeleniumUtils.inputText(driver, "view:cfg.password", getUserpass());
-		SeleniumUtils.inputText(driver, "view:cfg.email", getEmail());
-		SeleniumUtils.inputText(driver, "view:cfg.group", getGroupName());
-
-		buttons_next = SeleniumUtils.findElements(driver, "buttons:next", true);
-
-		buttons_next.get(1).sendKeys(Keys.RETURN);
-
-		Thread.sleep(1000L);
-
-		buttons_next = SeleniumUtils.findElements(driver, "buttons:next", true);
-
-		buttons_next.get(1).sendKeys(Keys.RETURN);
-
-		Thread.sleep(1000L);
-
-		buttons_next = SeleniumUtils.findElements(driver, "buttons:next", true);
-
-		buttons_next.get(1).sendKeys(Keys.RETURN);
-
-		Thread.sleep(1000L);
-
-		buttons_next = SeleniumUtils.findElements(driver, "buttons:next", true);
-
-		buttons_next.get(1).sendKeys(Keys.RETURN);
-
-		Thread.sleep(2000L);
-
-		List<WebElement> elements = SeleniumUtils.findElements(driver,
-				"buttons:finish", true);
-
-		elements.get(1).sendKeys(Keys.RETURN);
-
-		long maxMilliSecondsWait = 120000;
-
-		while (maxMilliSecondsWait > 0) {
-
-			// check if installation is complete by searching for the link on
-			// the success page
-			WebElement enterApplicationLink = SeleniumUtils.findElement(driver,
-					"//a[contains(@href,'install')]", false, true);
-
-			if (enterApplicationLink == null) {
-				System.out
-						.println("Installation running - wait 3 more seconds and check again");
-
-				Thread.sleep(3000L);
-				maxMilliSecondsWait -= 3000;
-			} else {
-				maxMilliSecondsWait = 0;
-
-				enterApplicationLink.click();
-
-				return;
-			}
-		}
-
-		throw new Exception("Timeout during installation");
-	}
-
-	@After
-	public void tearDown() {
-		if (getDoTearDownAfterTest()) {
-			driver.close();
-			driver.quit();
-		}
-	}
-
-}

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/3dac8e2f/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/HeavyTests.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/HeavyTests.java b/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/HeavyTests.java
deleted file mode 100644
index 2136ea8..0000000
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/HeavyTests.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License") +  you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.openmeetings.test.selenium;
-
-public @interface HeavyTests {
-
-}

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/3dac8e2f/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/SeleniumTests.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/SeleniumTests.java b/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/SeleniumTests.java
deleted file mode 100644
index 5272d26..0000000
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/SeleniumTests.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License") +  you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.openmeetings.test.selenium;
-
-public @interface SeleniumTests {
-
-}

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/3dac8e2f/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/SeleniumUtils.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/SeleniumUtils.java b/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/SeleniumUtils.java
deleted file mode 100644
index 1344fa1..0000000
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/SeleniumUtils.java
+++ /dev/null
@@ -1,229 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License") +  you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.openmeetings.test.selenium;
-
-import static org.apache.openmeetings.util.OpenmeetingsVariables.getWebAppRootKey;
-
-import java.io.File;
-import java.text.DateFormat;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.List;
-
-import org.apache.commons.io.FileUtils;
-import org.openqa.selenium.By;
-import org.openqa.selenium.OutputType;
-import org.openqa.selenium.TakesScreenshot;
-import org.openqa.selenium.WebDriver;
-import org.openqa.selenium.WebElement;
-import org.red5.logging.Red5LoggerFactory;
-import org.slf4j.Logger;
-
-public class SeleniumUtils {
-	private static final Logger log = Red5LoggerFactory.getLogger(SeleniumUtils.class, getWebAppRootKey());
-	// we need to retry some actions because our web site is dynamic
-	static int numberOfRetries = 10;
-
-	// we need to sleep to make sure Ajax could complete whatever it does
-	static long defaultSleepInterval = 1000;
-
-	public static void inputText(WebDriver driver, String search,
-			String inputText) throws Exception {
-		WebElement element = SeleniumUtils.findElement(driver, search, true, true);
-
-		//clear text before adding input
-		element.clear();
-
-		// Would make send to check if this element is really an input text
-		element.sendKeys(inputText);
-	}
-
-	public static void click(WebDriver driver, String search) throws Exception {
-		WebElement element = SeleniumUtils.findElement(driver, search, true, true);
-		element.click();
-	}
-
-	/**
-	 *
-	 * @param driver
-	 * @param search
-	 * @param throwException
-	 *            under some circumstance you do't want to exit the test here
-	 * @return
-	 * @throws Exception
-	 */
-	public static List<WebElement> findElements(WebDriver driver, String search,
-			boolean throwException) throws Exception {
-		for (int i = 0; i < numberOfRetries; i++) {
-			List<WebElement> elements = _findElement(driver, search);
-			if (elements != null) {
-				return elements;
-			}
-
-			Thread.sleep(defaultSleepInterval);
-		}
-
-		if (throwException) {
-			throw new Exception("Could not find element with specified path "
-					+ search);
-		}
-
-		return null;
-	}
-
-	/**
-	 *
-	 * @param driver
-	 * @param search
-	 * @param throwException
-	 *            under some circumstance you do't want to exit the test here
-	 * @param onlyReturnVisisbleElement TODO
-	 * @return
-	 * @throws Exception
-	 */
-	public static WebElement findElement(WebDriver driver, String search,
-			boolean throwException, boolean onlyReturnVisisbleElement) throws Exception {
-		for (int i = 0; i < numberOfRetries; i++) {
-			List<WebElement> elements = _findElement(driver, search);
-			if (elements != null) {
-
-				if (!onlyReturnVisisbleElement) {
-					return elements.get(0);
-				}
-
-				for (WebElement element : elements) {
-					if (element.isDisplayed()) {
-						return element;
-					}
-				}
-
-			}
-
-			Thread.sleep(defaultSleepInterval);
-		}
-
-		if (throwException) {
-			throw new Exception("Could not find element with specified path "
-					+ search);
-		}
-
-		return null;
-	}
-
-	private static By[] _getSearchArray(String search) {
-		//If xpath we have to use it, if xpath is used with By.className(...) there will be an exception
-		if (search.startsWith("//")) {
-			return new By[] { By.xpath(search) };
-		} else {
-			return new By[] { By.id(search), By.name(search), By.className(search),
-					By.tagName(search), By.xpath(search) };
-		}
-	}
-
-	private static List<WebElement> _findElement(WebDriver driver, String search) {
-		for (By by : _getSearchArray(search)) {
-			try {
-				List<WebElement> elements = driver.findElements(by);
-				if (elements != null && elements.size() > 0) {
-					return elements;
-				}
-			} catch (Exception e) {
-				// Do not show any warnings
-			}
-		}
-		return null;
-	}
-
-	public static void elementExists(WebDriver driver, String search,
-			boolean shouldExist) throws Exception {
-		Thread.sleep(defaultSleepInterval);
-
-		boolean doesExist = !shouldExist;
-
-		for (int i = 0; i < numberOfRetries; i++) {
-			doesExist = checkExists(driver, search);
-			if (doesExist == shouldExist) {
-				break;
-			}
-
-			Thread.sleep(defaultSleepInterval);
-		}
-
-		if (doesExist != shouldExist) {
-			if (shouldExist) {
-				throw new Exception("Element could not be found: " + search);
-			} else {
-				throw new Exception("Unexpected Element was found: " + search);
-			}
-		}
-	}
-
-	private static boolean checkExists(WebDriver driver, String search) {
-		for (By by : _getSearchArray(search)) {
-			try {
-				List<WebElement> element = driver.findElements(by);
-				if (element.size() > 0) {
-					return true;
-				}
-			} catch (Exception e) {
-				// Do not show any warnings
-			}
-		}
-		return false;
-	}
-
-	public static void makeScreenShot(String testName, Exception e,
-			WebDriver driver) {
-		try {
-			DateFormat df = new SimpleDateFormat("MM-dd-yyyy_HH-mm-ss");
-			String fileName = e.getMessage().replace(" ", "_");
-			fileName = fileName.replaceAll("(\r\n|\n)", "");
-			fileName = fileName.replaceAll("/", "");
-
-			if (fileName.length() > 100) {
-				fileName = fileName.substring(0, 100);
-			}
-
-			fileName = fileName + "_" + df.format(new Date()) + ".png";
-			File screenShotFile = ((TakesScreenshot) driver)
-					.getScreenshotAs(OutputType.FILE);
-
-			String path = "." + File.separatorChar + "build"
-					+ File.separatorChar + "screenshots" + File.separatorChar
-					+ testName;
-
-			File screenshotFolder = new File(path);
-			if (!screenshotFolder.exists()) {
-				screenshotFolder.mkdirs();
-			}
-
-			System.out.println("screenshot copy from: "
-					+ screenShotFile.getAbsolutePath());
-			System.out.println("Length Filename: " + fileName.length()
-					+ " - Writing screenshot to: " + path + File.separatorChar
-					+ fileName);
-
-			FileUtils.moveFile(screenShotFile, new File(path
-					+ File.separatorChar + fileName));
-		} catch (Exception err) {
-			log.error("Error", err);
-		}
-
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/3dac8e2f/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/TestSignUp.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/TestSignUp.java b/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/TestSignUp.java
deleted file mode 100644
index 0716d81..0000000
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/test/selenium/TestSignUp.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License") +  you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.openmeetings.test.selenium;
-
-import java.util.Date;
-
-import org.junit.Test;
-import org.openqa.selenium.Alert;
-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;
-	}
-
-	@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
-			SeleniumUtils.findElement(driver, "//span[contains(text(), '" + getString("warn.notverified") + "')]", 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);
-
-			SeleniumUtils.findElement(driver, "//span[@class='feedbackPanelERROR'][contains(text(), '" + getString("error.login.inuse") + "')]", true, true);
-
-			SeleniumUtils.findElement(driver, "//span[@class='feedbackPanelERROR'][contains(text(), '" + getString("error.email.inuse") + "')]", 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();
-	}
-}

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/3dac8e2f/openmeetings-web/src/test/java/org/apache/openmeetings/test/smoke/TestSmokeBasic.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/test/java/org/apache/openmeetings/test/smoke/TestSmokeBasic.java b/openmeetings-web/src/test/java/org/apache/openmeetings/test/smoke/TestSmokeBasic.java
deleted file mode 100644
index 341154f..0000000
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/test/smoke/TestSmokeBasic.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License") +  you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.openmeetings.test.smoke;
-
-import static org.junit.Assert.assertNotNull;
-
-import org.apache.openmeetings.db.dao.user.UserDao;
-import org.apache.openmeetings.test.AbstractJUnitDefaults;
-import org.junit.Test;
-import org.springframework.beans.factory.annotation.Autowired;
-
-public class TestSmokeBasic extends AbstractJUnitDefaults {
-	@Autowired
-	private UserDao userDao;
-
-	@Test
-	public void createErrorValueAndTest() {
-		assertNotNull(userDao.get(1L));
-	}
-}

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/3dac8e2f/openmeetings-web/src/test/java/org/apache/openmeetings/test/user/TestUserContact.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/test/java/org/apache/openmeetings/test/user/TestUserContact.java b/openmeetings-web/src/test/java/org/apache/openmeetings/test/user/TestUserContact.java
deleted file mode 100644
index a313612..0000000
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/test/user/TestUserContact.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License") +  you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.openmeetings.test.user;
-
-import static org.apache.openmeetings.web.app.WebSession.getUserId;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-
-import java.util.List;
-import java.util.UUID;
-
-import org.apache.openmeetings.db.dao.user.GroupDao;
-import org.apache.openmeetings.db.dao.user.UserDao;
-import org.apache.openmeetings.db.entity.user.GroupUser;
-import org.apache.openmeetings.db.entity.user.User;
-import org.apache.openmeetings.test.AbstractWicketTester;
-import org.junit.Test;
-import org.springframework.beans.factory.annotation.Autowired;
-
-public class TestUserContact extends AbstractWicketTester {
-	@Autowired
-	private UserDao userDao;
-	@Autowired
-	private GroupDao groupDao;
-
-	@Test
-	public void testGetUser() {
-		assertNull("Null should be returned in case User does not exist", userDao.get(Long.MAX_VALUE));
-	}
-
-	@Test
-	public void createUserWithGroup() throws Exception {
-		String uuid = UUID.randomUUID().toString();
-		User u = getUser(uuid);
-		u.getGroupUsers().add(new GroupUser(groupDao.get(1L), u));
-		u = userDao.update(u, null);
-		assertTrue("Password should be set as expected", userDao.verifyPassword(u.getId(), createPass()));
-
-		User u1 = userDao.get(u.getId());
-		assertNotNull("Just created user should not be null", u1);
-		assertNotNull("Just created user should have non null org-users", u1.getGroupUsers());
-		assertFalse("Just created user should have not empty org-users", u1.getGroupUsers().isEmpty());
-	}
-
-	@Test
-	public void testCreateUser() throws Exception {
-		String uuid = UUID.randomUUID().toString();
-		User u = createUser(uuid);
-		assertTrue("Password should be set as expected", userDao.verifyPassword(u.getId(), createPass()));
-	}
-
-	@Test
-	public void addContactByOwner() throws Exception {
-		login(null, null);
-
-		List<User> users = userDao.getAllUsers();
-		assertNotNull("User list should not be null ", users);
-		assertFalse("User list should not be empty ", users.isEmpty());
-
-		User contact = createUserContact(getUserId());
-		String email = contact.getAddress().getEmail();
-		List<User> l = userDao.get(email, false, 0, 9999);
-		// check that contact is visible for admin
-		assertNotNull("Contact list should not be null for admin ", l);
-		assertFalse("Contact list should not be empty for admin ", l.isEmpty());
-
-		// check that contact is visible for owner
-		l = userDao.get(email, 0, 9999, null, true, getUserId());
-		assertTrue("Contact list should not be empty for owner ", !l.isEmpty());
-		//delete contact
-		userDao.delete(contact, getUserId());
-		l = userDao.get(email, false, 0, 9999);
-		assertTrue("Contact list should be empty after deletion", l.isEmpty());
-
-		User u = createUser();
-		User u1 = createUser();
-		contact = createUserContact(u.getId());
-		email = contact.getAddress().getEmail();
-		// check that contact is not visible for user that is not owner of this contact
-		l = userDao.get(email, 0, 9999, null, true, u1.getId());
-		assertTrue("Contact list should be empty for another user", l.isEmpty());
-		//delete contact
-		userDao.delete(contact, u.getId());
-		l = userDao.get(email, false, 0, 9999);
-		assertTrue("Contact list should be empty after deletion", l.isEmpty());
-	}
-}

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/3dac8e2f/openmeetings-web/src/test/java/org/apache/openmeetings/test/user/TestUserCount.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/test/java/org/apache/openmeetings/test/user/TestUserCount.java b/openmeetings-web/src/test/java/org/apache/openmeetings/test/user/TestUserCount.java
deleted file mode 100644
index 530dae7..0000000
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/test/user/TestUserCount.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License") +  you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.openmeetings.test.user;
-
-import static org.apache.openmeetings.web.app.WebSession.getUserId;
-import static org.junit.Assert.assertTrue;
-
-import org.apache.openmeetings.db.dao.user.UserDao;
-import org.apache.openmeetings.db.entity.user.User;
-import org.apache.openmeetings.test.AbstractWicketTester;
-import org.junit.Test;
-import org.springframework.beans.factory.annotation.Autowired;
-
-public class TestUserCount extends AbstractWicketTester {
-	@Autowired
-	private UserDao userDao;
-
-	@Test
-	public void testCountSearchUsers() throws Exception {
-		User u = createUser();
-		assertTrue("Account of search users should be one", userDao.count(u.getFirstname()) == 1);
-	}
-
-	@Test
-	public void testCountFilteredUsers() throws Exception {
-		User u = createUser();
-		User contact = createUserContact(u.getId());
-		assertTrue("Account of filtered user should be one", userDao.count(contact.getFirstname(), true, u.getId()) == 1);
-	}
-
-	@Test
-	public void testCountUnfilteredUsers() throws Exception {
-		User u = createUser();
-		createUserContact(u.getId());
-		assertTrue("Account of unfiltered should be more then one", userDao.count("firstname", false, getUserId()) > 1);
-	}
-
-	@Test
-	public void testCountAllUsers() {
-		assertTrue("Account of users should be positive", userDao.count() > 0);
-	}
-}

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/3dac8e2f/openmeetings-web/src/test/java/org/apache/openmeetings/test/user/TestUserGroup.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/test/java/org/apache/openmeetings/test/user/TestUserGroup.java b/openmeetings-web/src/test/java/org/apache/openmeetings/test/user/TestUserGroup.java
deleted file mode 100644
index 9a46d95..0000000
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/test/user/TestUserGroup.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License") +  you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.openmeetings.test.user;
-
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
-import java.util.List;
-import java.util.UUID;
-
-import org.apache.openmeetings.db.dao.user.GroupDao;
-import org.apache.openmeetings.db.dao.user.GroupUserDao;
-import org.apache.openmeetings.db.dao.user.UserDao;
-import org.apache.openmeetings.db.entity.user.Group;
-import org.apache.openmeetings.db.entity.user.GroupUser;
-import org.apache.openmeetings.db.entity.user.User;
-import org.apache.openmeetings.test.AbstractJUnitDefaults;
-import org.apache.openmeetings.test.selenium.HeavyTests;
-import org.apache.openmeetings.util.OmException;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
-import org.springframework.beans.factory.annotation.Autowired;
-
-public class TestUserGroup extends AbstractJUnitDefaults {
-	@Autowired
-	private GroupUserDao groupUserDao;
-	@Autowired
-	private GroupDao groupDao;
-	@Autowired
-	private UserDao userDao;
-	public static final String GROUP_NAME = "Test Group";
-
-	private User getValidUser() {
-		for (User u : userDao.getAllBackupUsers()) {
-			if (!u.isDeleted() && u.getGroupUsers().size() > 0) {
-				return u;
-			}
-		}
-		fail("Unable to find valid user");
-		return null; //unreachable
-	}
-
-	@Test
-	public void getUsersByGroupId() {
-		User u = getValidUser();
-		Long groupId = u.getGroupUsers().get(0).getGroup().getId();
-		List<GroupUser> ul = groupUserDao.get(groupId, 0, 9999);
-		assertTrue("Default Group should contain at least 1 user: " + ul.size(), ul.size() > 0);
-
-		GroupUser ou = groupUserDao.getByGroupAndUser(groupId, u.getId());
-		assertNotNull("Unable to find [group, user] pair - [" + groupId + "," + u.getId() + "]", ou);
-	}
-
-	@Test
-	public void addGroup() {
-		Group g = new Group();
-		g.setName(GROUP_NAME);
-		Long groupId = groupDao.update(g, null).getId(); //inserted by not checked
-		assertNotNull("New Group have valid id", groupId);
-
-		List<GroupUser> ul = groupUserDao.get(groupId, 0, 9999);
-		assertTrue("New Group should contain NO users: " + ul.size(), ul.size() == 0);
-	}
-
-	@Test
-	public void addUserWithoutGroup() throws Exception {
-		String uuid = UUID.randomUUID().toString();
-		User u = getUser(uuid);
-		u = userDao.update(u, null);
-		assertNotNull("User successfully created", u.getId());
-		checkEmptyGroup("dao.get()", userDao.get(u.getId()));
-		try {
-			checkEmptyGroup("dao.login()", userDao.login(u.getAddress().getEmail(), createPass()));
-			fail("User with no Group is unable to login");
-		} catch (OmException e) {
-			assertTrue("Expected Om Exception", "error.nogroup".equals(e.getKey()));
-		}
-		checkEmptyGroup("dao.getByLogin(user)", userDao.getByLogin(u.getLogin(), u.getType(), u.getDomainId()));
-	}
-
-
-	@Test
-	public void addLdapUserWithoutGroup() throws Exception {
-		User u1 = getUser();
-		u1.setType(User.Type.ldap);
-		u1.setDomainId(1L);
-		u1 = userDao.update(u1, null);
-		checkEmptyGroup("dao.getByLogin(ldap)", userDao.getByLogin(u1.getLogin(), u1.getType(), u1.getDomainId()));
-	}
-
-	private static void checkEmptyGroup(String prefix, User u) {
-		assertNotNull(prefix + ":: Created user should be available", u);
-		assertNotNull(prefix + ":: List<GroupUser> for newly created user should not be null", u.getGroupUsers());
-		assertTrue(prefix + ":: List<GroupUser> for newly created user should be empty", u.getGroupUsers().isEmpty());
-	}
-
-	@Test
-	@Category(HeavyTests.class)
-	public void add10kUsers() throws Exception {
-		List<Group> groups = groupDao.get(GROUP_NAME, 0, 1, null);
-		Group g = null;
-		if (groups == null || groups.isEmpty()) {
-			g = new Group();
-			g.setName(GROUP_NAME);
-			g = groupDao.update(g, null);
-		} else {
-			g = groups.get(0);
-		}
-		for (int i = 0; i < 10000; ++i) {
-			User u = createUser();
-			u.getGroupUsers().add(new GroupUser(g, u));
-			userDao.update(u, null);
-		}
-	}
-}

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/3dac8e2f/openmeetings-web/src/test/java/org/apache/openmeetings/test/userdata/TestAuth.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/test/java/org/apache/openmeetings/test/userdata/TestAuth.java b/openmeetings-web/src/test/java/org/apache/openmeetings/test/userdata/TestAuth.java
deleted file mode 100644
index 5513b07..0000000
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/test/userdata/TestAuth.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License") +  you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.openmeetings.test.userdata;
-
-import org.apache.openmeetings.db.dao.server.SessiondataDao;
-import org.apache.openmeetings.db.entity.server.Sessiondata;
-import org.apache.openmeetings.test.AbstractJUnitDefaults;
-import org.apache.openmeetings.util.crypt.CryptProvider;
-import org.junit.Test;
-import org.springframework.beans.factory.annotation.Autowired;
-
-public class TestAuth extends AbstractJUnitDefaults {
-	@Autowired
-	private SessiondataDao sessionDao;
-
-	@Test
-	public void testTestAuth() {
-		Sessiondata sessionData = sessionDao.create(1L, 1L);
-
-		System.out.println("sessionData: " + sessionData.getSessionId());
-
-		String tTemp = CryptProvider.get().hash("test");
-
-		System.out.println("tTemp: " + tTemp);
-
-	}
-
-}

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/3dac8e2f/openmeetings-web/src/test/java/org/apache/openmeetings/test/userdata/TestLogin.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/test/java/org/apache/openmeetings/test/userdata/TestLogin.java b/openmeetings-web/src/test/java/org/apache/openmeetings/test/userdata/TestLogin.java
deleted file mode 100644
index 0774a43..0000000
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/test/userdata/TestLogin.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License") +  you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.openmeetings.test.userdata;
-
-import static org.junit.Assert.assertNotNull;
-
-import org.apache.openmeetings.db.dao.user.UserDao;
-import org.apache.openmeetings.db.entity.user.User;
-import org.apache.openmeetings.test.AbstractJUnitDefaults;
-import org.apache.openmeetings.util.OmException;
-import org.junit.Test;
-import org.springframework.beans.factory.annotation.Autowired;
-
-public class TestLogin extends AbstractJUnitDefaults {
-
-	@Autowired
-	private UserDao userDao;
-
-	@Test
-	public void testTestLogin() throws OmException {
-		User us = userDao.login(username, userpass);
-
-		assertNotNull("User is unable to login", us);
-
-		//mService.getLanguageById(1);
-
-	}
-
-}

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/3dac8e2f/openmeetings-web/src/test/java/org/apache/openmeetings/test/util/TestStoredFile.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/test/java/org/apache/openmeetings/test/util/TestStoredFile.java b/openmeetings-web/src/test/java/org/apache/openmeetings/test/util/TestStoredFile.java
deleted file mode 100644
index 43b6a48..0000000
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/test/util/TestStoredFile.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License") +  you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.openmeetings.test.util;
-
-import static org.apache.openmeetings.util.OmFileHelper.getDefaultProfilePicture;
-import static org.junit.Assert.assertTrue;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-
-import org.apache.openmeetings.test.AbstractJUnitDefaults;
-import org.apache.openmeetings.util.StoredFile;
-import org.junit.Test;
-
-public class TestStoredFile extends AbstractJUnitDefaults {
-	@Test
-	public void testJpeg() throws FileNotFoundException, IOException {
-		File f = getDefaultProfilePicture();
-		for (String ext : new String[] {null, "txt", "png"}) {
-			StoredFile sf = new StoredFile("test image", ext, f);
-			assertTrue("Type should be detected as image", sf.isImage());
-			assertTrue("Type should be detected as image", sf.isAsIs());
-		}
-	}
-}

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/3dac8e2f/openmeetings-web/src/test/java/org/apache/openmeetings/test/web/LoginUI.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/test/java/org/apache/openmeetings/test/web/LoginUI.java b/openmeetings-web/src/test/java/org/apache/openmeetings/test/web/LoginUI.java
deleted file mode 100644
index 3abf7c9..0000000
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/test/web/LoginUI.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License") +  you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.openmeetings.test.web;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-
-import org.apache.openmeetings.test.AbstractWicketTester;
-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.feedback.ExactLevelFeedbackMessageFilter;
-import org.apache.wicket.feedback.FeedbackMessage;
-import org.apache.wicket.util.tester.FormTester;
-import org.junit.Test;
-
-import com.googlecode.wicket.jquery.ui.widget.dialog.ButtonAjaxBehavior;
-
-public class LoginUI extends AbstractWicketTester {
-	@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);
-		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");
-
-		assertEquals("There should be exactly 2 errors", 2,
-				tester.getFeedbackMessages(new ExactLevelFeedbackMessageFilter(FeedbackMessage.ERROR)).size());
-	}
-
-
-	@Test
-	public void testEmptyRegister() {
-		tester.startPage(SignInPage.class);
-		tester.assertRenderedPage(SignInPage.class);
-
-		ButtonAjaxBehavior b = getButtonBehavior("signin", "register");
-		tester.executeBehavior(b);
-		FormTester formTester = tester.newFormTester("register:form");
-		formTester.submit("submit");
-		assertEquals("There should be exactly 7 errors", 7,
-				tester.getFeedbackMessages(new ExactLevelFeedbackMessageFilter(FeedbackMessage.ERROR)).size());
-	}
-}

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/3dac8e2f/openmeetings-web/src/test/java/org/apache/openmeetings/test/webservice/AbstractWebServiceTest.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/test/java/org/apache/openmeetings/test/webservice/AbstractWebServiceTest.java b/openmeetings-web/src/test/java/org/apache/openmeetings/test/webservice/AbstractWebServiceTest.java
deleted file mode 100644
index ff08b7f..0000000
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/test/webservice/AbstractWebServiceTest.java
+++ /dev/null
@@ -1,186 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License") +  you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.openmeetings.test.webservice;
-
-import static javax.ws.rs.core.MediaType.APPLICATION_FORM_URLENCODED;
-import static org.apache.openmeetings.db.util.ApplicationHelper.getWicketTester;
-import static org.apache.openmeetings.util.OmFileHelper.getOmHome;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.nio.file.Files;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.UUID;
-
-import javax.ws.rs.core.Form;
-import javax.ws.rs.core.MediaType;
-
-import org.apache.catalina.LifecycleState;
-import org.apache.catalina.startup.Tomcat;
-import org.apache.cxf.jaxrs.client.WebClient;
-import org.apache.cxf.jaxrs.ext.multipart.Attachment;
-import org.apache.cxf.transports.http.configuration.HTTPClientPolicy;
-import org.apache.openmeetings.db.dto.basic.ServiceResult;
-import org.apache.openmeetings.db.dto.basic.ServiceResult.Type;
-import org.apache.openmeetings.db.dto.file.FileItemDTO;
-import org.apache.openmeetings.db.dto.user.UserDTO;
-import org.apache.openmeetings.db.entity.file.BaseFileItem;
-import org.apache.openmeetings.db.entity.user.User;
-import org.apache.openmeetings.test.AbstractJUnitDefaults;
-import org.apache.openmeetings.web.app.WebSession;
-import org.apache.openmeetings.webservice.util.AppointmentMessageBodyReader;
-import org.apache.wicket.util.tester.WicketTester;
-import org.junit.After;
-import org.junit.AfterClass;
-import org.junit.Assert;
-import org.junit.BeforeClass;
-
-public class AbstractWebServiceTest extends AbstractJUnitDefaults {
-	private static Tomcat tomcat;
-	public static final String CONTEXT = "/openmeetings";
-	public static final String BASE_SERVICES_URL = "http://localhost:8080" + CONTEXT + "/services";
-	public static final String USER_SERVICE_URL = BASE_SERVICES_URL + "/user";
-	public static final String INFO_SERVICE_URL = BASE_SERVICES_URL + "/info";
-	public static final String FILE_SERVICE_URL = BASE_SERVICES_URL + "/file";
-	public static final String UNIT_TEST_EXT_TYPE = "om_unit_tests";
-	public static final long TIMEOUT = 5 * 60 * 1000;
-	protected WicketTester tester;
-
-	public static WebClient getClient(String url) {
-		WebClient c = WebClient.create(url, Arrays.asList(new AppointmentMessageBodyReader()))
-				.accept("application/json").type("application/json");
-		HTTPClientPolicy p = WebClient.getConfig(c).getHttpConduit().getClient();
-		p.setConnectionTimeout(TIMEOUT);
-		p.setReceiveTimeout(TIMEOUT);
-		return c;
-	}
-
-	public static ServiceResult login() {
-		return login(username, userpass);
-	}
-
-	public static ServiceResult loginNoCheck(String user, String pass) {
-		ServiceResult sr = getClient(USER_SERVICE_URL).path("/login").query("user", user).query("pass", pass)
-				.get(ServiceResult.class);
-		return sr;
-	}
-
-	public static ServiceResult login(String user, String pass) {
-		ServiceResult sr = loginNoCheck(user, pass);
-		assertEquals("Login should be successful", Type.SUCCESS.name(), sr.getType());
-		return sr;
-	}
-
-	@BeforeClass
-	public static void initialize() throws Exception {
-		tomcat = new Tomcat();
-		tomcat.setPort(8080);
-		File wd = Files.createTempDirectory("om" + UUID.randomUUID().toString()).toFile();
-		tomcat.setBaseDir(wd.getCanonicalPath());
-		tomcat.getHost().setAppBase(wd.getCanonicalPath());
-		tomcat.getHost().setAutoDeploy(true);
-		tomcat.getHost().setDeployOnStartup(true);
-		tomcat.addWebapp(CONTEXT, getOmHome().getAbsolutePath());
-		tomcat.start();
-	}
-
-	@Override
-	public void setUp() throws Exception {
-		super.setUp();
-		tester = getWicketTester();
-		assertNotNull("Web session should not be null", WebSession.get());
-	}
-
-	@After
-	public void tearDown() {
-		if (tester != null) {
-			//can be null in case exception on initialization
-			tester.destroy();
-		}
-	}
-
-	@AfterClass
-	public static void destroy() throws Exception {
-		if (tomcat.getServer() != null && tomcat.getServer().getState() != LifecycleState.DESTROYED) {
-			if (tomcat.getServer().getState() != LifecycleState.STOPPED) {
-				tomcat.stop();
-			}
-			tomcat.destroy();
-		}
-	}
-
-	public void webCreateUser(User u) {
-		ServiceResult r = login();
-		UserDTO dto = new UserDTO(u);
-		dto.setPassword(createPass());
-		UserDTO user = getClient(USER_SERVICE_URL)
-				.path("/")
-				.query("sid", r.getMessage())
-				.type(APPLICATION_FORM_URLENCODED)
-				.post(new Form().param("user", dto.toString()).param("confirm", "" + false), UserDTO.class);
-		Assert.assertNotNull(user.getId());
-		u.setId(user.getId());
-	}
-
-	public CallResult<FileItemDTO> createVerifiedFile(File fsFile, String name, BaseFileItem.Type type) throws IOException {
-		ServiceResult r = login();
-
-		FileItemDTO f1 = null;
-		try (InputStream is = new FileInputStream(fsFile)) {
-			FileItemDTO file = new FileItemDTO()
-					.setName(name)
-					.setHash(UUID.randomUUID().toString())
-					.setType(type);
-			List<Attachment> atts = new ArrayList<>();
-			atts.add(new Attachment("file", MediaType.APPLICATION_JSON, file));
-			atts.add(new Attachment("stream", MediaType.APPLICATION_OCTET_STREAM, is));
-			f1 = getClient(FILE_SERVICE_URL)
-					.path("/")
-					.query("sid", r.getMessage())
-					.type(MediaType.MULTIPART_FORM_DATA_TYPE).postCollection(atts, Attachment.class, FileItemDTO.class);
-			assertNotNull("Valid FileItem should be returned", f1);
-			assertNotNull("Valid FileItem should be returned", f1.getId());
-		}
-		return new CallResult<>(r.getMessage(), f1);
-	}
-
-	public static class CallResult<T> {
-		private final String sid;
-		private final T obj;
-
-		public CallResult(String sid, T obj) {
-			this.sid = sid;
-			this.obj = obj;
-		}
-
-		public String getSid() {
-			return sid;
-		}
-
-		public T getObj() {
-			return obj;
-		}
-	}
-}

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/3dac8e2f/openmeetings-web/src/test/java/org/apache/openmeetings/test/webservice/TestCalendarService.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/test/java/org/apache/openmeetings/test/webservice/TestCalendarService.java b/openmeetings-web/src/test/java/org/apache/openmeetings/test/webservice/TestCalendarService.java
deleted file mode 100644
index 55d5abe..0000000
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/test/webservice/TestCalendarService.java
+++ /dev/null
@@ -1,308 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License") +  you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.openmeetings.test.webservice;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.UUID;
-
-import javax.ws.rs.core.Form;
-import javax.ws.rs.core.Response;
-
-import org.apache.openmeetings.db.dao.calendar.MeetingMemberDao;
-import org.apache.openmeetings.db.dao.room.InvitationDao;
-import org.apache.openmeetings.db.dao.room.RoomDao;
-import org.apache.openmeetings.db.dao.user.GroupDao;
-import org.apache.openmeetings.db.dao.user.UserDao;
-import org.apache.openmeetings.db.dto.basic.ServiceResult;
-import org.apache.openmeetings.db.dto.calendar.AppointmentDTO;
-import org.apache.openmeetings.db.dto.calendar.MeetingMemberDTO;
-import org.apache.openmeetings.db.entity.calendar.Appointment;
-import org.apache.openmeetings.db.entity.calendar.MeetingMember;
-import org.apache.openmeetings.db.entity.room.Room;
-import org.apache.openmeetings.db.entity.user.GroupUser;
-import org.apache.openmeetings.db.entity.user.User;
-import org.apache.openmeetings.webservice.util.AppointmentParamConverter;
-import org.junit.Test;
-import org.springframework.beans.factory.annotation.Autowired;
-
-import com.github.openjson.JSONArray;
-import com.github.openjson.JSONObject;
-
-public class TestCalendarService extends AbstractWebServiceTest {
-	public static final String CALENDAR_SERVICE_URL = BASE_SERVICES_URL + "/calendar";
-	@Autowired
-	private GroupDao groupDao;
-	@Autowired
-	private RoomDao roomDao;
-	@Autowired
-	private MeetingMemberDao mmDao;
-	@Autowired
-	private InvitationDao invitationDao;
-	@Autowired
-	private UserDao userDao;
-
-	private void actualTest(Room r) throws Exception {
-		String uuid = UUID.randomUUID().toString();
-		User u = getUser(uuid);
-		u.getGroupUsers().add(new GroupUser(groupDao.get(1L), u));
-		webCreateUser(u);
-		ServiceResult sr = login(u.getLogin(), createPass());
-
-		Date start = new Date();
-		Appointment a = createAppointment(getAppointment(u, r, start, new Date(start.getTime() + ONE_HOUR)));
-
-		AppointmentDTO app = getClient(CALENDAR_SERVICE_URL).path("/room/" + a.getRoom().getId()).query("sid", sr.getMessage())
-				.get(AppointmentDTO.class);
-		assertNotNull("Valid DTO should be returned", app);
-	}
-
-	@Test
-	public void testGetByAppRoom() throws Exception {
-		actualTest(null);
-	}
-
-	@Test
-	public void testGetByPublicRoom() throws Exception {
-		actualTest(roomDao.get(5L)); //default public presentation room
-	}
-
-	private static JSONObject createAppointment(String title) {
-		return new JSONObject()
-			.put("title", title)
-			.put("start", "2025-01-20T20:30:03+0300")
-			.put("end", "2025-01-20T21:30:03+0300")
-			.put("description", "Русский Тест")
-			.put("reminder", "email")
-			.put("room", new JSONObject()
-					.put("name", "test24")
-					.put("comment", "appointment test room")
-					.put("type", "conference")
-					.put("capacity", 15)
-					.put("appointment", true)
-					.put("isPublic", false)
-					.put("demo", false)
-					.put("closed", false)
-					.put("externalId", 10)
-					.put("externalType", "HuntingLabCMS")
-					.put("redirectUrl", "")
-					.put("moderated", true)
-					.put("allowUserQuestions", true)
-					.put("allowRecording", false)
-					.put("waitForRecording", false)
-					.put("audioOnly", true)
-					.put("topBarHidden", false)
-					.put("chatHidden", false)
-					.put("activitiesHidden", false)
-					.put("filesExplorerHidden", false)
-					.put("actionsMenuHidden", false)
-					.put("screenSharingHidden", false)
-					.put("whiteboardHidden", false))
-			.put("languageId", 9)
-			.put("passwordProtected", false)
-			.put("connectedEvent", false)
-			.put("reminderEmailSend", false);
-	}
-
-	private String loginNewUser() throws Exception {
-		String uuid = UUID.randomUUID().toString();
-		User u = getUser(uuid);
-		u.getGroupUsers().add(new GroupUser(groupDao.get(1L), u));
-		webCreateUser(u);
-		ServiceResult sr = login(u.getLogin(), createPass());
-		return sr.getMessage();
-	}
-
-	private String createApp(String title) throws Exception {
-		JSONObject o = createAppointment(title);
-
-		String sid = loginNewUser();
-
-		Response resp = getClient(CALENDAR_SERVICE_URL)
-				.path("/")
-				.query("sid", sid)
-				.form(new Form().param("appointment", o.toString()));
-
-		assertNotNull("Valid AppointmentDTO should be returned", resp);
-		assertEquals("Call should be successful", Response.Status.OK.getStatusCode(), resp.getStatus());
-		AppointmentDTO dto = resp.readEntity(AppointmentDTO.class);
-		assertNotNull("Valid DTO should be returned", dto);
-		assertNotNull("DTO id should be valid", dto.getId());
-
-		return sid;
-	}
-
-	@Test
-	public void testCreate() throws Exception {
-		createApp("test");
-	}
-
-	@Test
-	public void testDelete() {
-		ServiceResult sr = login();
-		Response resp = getClient(CALENDAR_SERVICE_URL)
-				.path("/" + Long.MAX_VALUE) //non-existent ID
-				.query("sid", sr.getMessage())
-				.delete();
-
-		assertNotEquals("Call should NOT be successful", Response.Status.OK.getStatusCode(), resp.getStatus());
-	}
-
-	@Test
-	public void testCreateWithOmMm() throws Exception {
-		JSONObject o = createAppointment("test")
-				.put("meetingMembers", new JSONArray()
-						.put(new JSONObject().put("user", new JSONObject()
-								.put("id", 1))));
-
-		String uuid = UUID.randomUUID().toString();
-		User u = getUser(uuid);
-		u.getGroupUsers().add(new GroupUser(groupDao.get(1L), u));
-		u = createUser(u);
-		ServiceResult sr = login(u.getLogin(), createPass());
-
-		Response resp = getClient(CALENDAR_SERVICE_URL)
-				.path("/")
-				.query("sid", sr.getMessage())
-				.form(new Form().param("appointment", o.toString()));
-
-		assertNotNull("Valid AppointmentDTO should be returned", resp);
-		assertEquals("Call should be successful", Response.Status.OK.getStatusCode(), resp.getStatus());
-		AppointmentDTO dto = resp.readEntity(AppointmentDTO.class);
-		assertNotNull("Valid DTO should be returned", dto);
-		assertNotNull("DTO id should be valid", dto.getId());
-	}
-
-	private static AppointmentDTO createEventWithGuests(String sid) throws Exception {
-		JSONObject o = createAppointment("test")
-				.put("meetingMembers", new JSONArray()
-						.put(new JSONObject().put("user", new JSONObject()
-								.put("firstname", "John 1")
-								.put("lastname", "Doe")
-								.put("address", new JSONObject().put("email", "john1@doe.email"))
-								))
-						.put(new JSONObject().put("user", new JSONObject()
-								.put("firstname", "John 2")
-								.put("lastname", "Doe")
-								.put("address", new JSONObject().put("email", "john2@doe.email"))
-								))
-						);
-
-		Response resp = getClient(CALENDAR_SERVICE_URL)
-				.path("/")
-				.query("sid", sid)
-				.form(new Form().param("appointment", o.toString()));
-
-		assertNotNull("Valid AppointmentDTO should be returned", resp);
-		assertEquals("Call should be successful", Response.Status.OK.getStatusCode(), resp.getStatus());
-		AppointmentDTO dto = resp.readEntity(AppointmentDTO.class);
-		assertNotNull("Valid DTO should be returned", dto);
-		assertNotNull("DTO id should be valid", dto.getId());
-		assertEquals("DTO should have 2 attendees", 2, dto.getMeetingMembers().size());
-		for (MeetingMemberDTO mm : dto.getMeetingMembers()) {
-			assertNotNull("Email should be valid", mm.getUser().getAddress().getEmail());
-		}
-
-		return dto;
-	}
-
-	@Test
-	public void testCreateWithGuests() throws Exception {
-		String sid = loginNewUser();
-		AppointmentDTO dto = createEventWithGuests(sid);
-
-		//try to change MM list
-		JSONObject o1 = AppointmentParamConverter.json(dto)
-				.put("meetingMembers", new JSONArray()
-						.put(new JSONObject().put("user", new JSONObject()
-								.put("id", 1))));
-
-		Response resp = getClient(CALENDAR_SERVICE_URL)
-				.path("/")
-				.query("sid", sid)
-				.form(new Form().param("appointment", o1.toString()));
-
-		assertNotNull("Valid AppointmentDTO should be returned", resp);
-		assertEquals("Call should be successful", Response.Status.OK.getStatusCode(), resp.getStatus());
-		dto = resp.readEntity(AppointmentDTO.class);
-		assertNotNull("Valid DTO should be returned", dto);
-		assertNotNull("DTO id should be valid", dto.getId());
-		assertEquals("DTO should have 1 attendees", 1, dto.getMeetingMembers().size());
-	}
-
-	@Test
-	public void testCreateWithGuestsCleanOne() throws Exception {
-		String sid = loginNewUser();
-		AppointmentDTO dto = createEventWithGuests(sid);
-		List<MeetingMemberDTO> initialList = new ArrayList<>(dto.getMeetingMembers());
-		MeetingMember mm = mmDao.get(initialList.get(initialList.size() - 1).getId());
-		Long mmId = mm.getId(), mmUserId = mm.getUser().getId();
-		String hash = mm.getInvitation().getHash();
-		dto.getMeetingMembers().remove(initialList.size() - 1);
-
-		//try to change MM list
-		JSONObject o = AppointmentParamConverter.json(dto);
-		Response resp = getClient(CALENDAR_SERVICE_URL)
-				.path("/")
-				.query("sid", sid)
-				.form(new Form().param("appointment", o.toString()));
-
-		assertNotNull("Valid AppointmentDTO should be returned", resp);
-		assertEquals("Call should be successful", Response.Status.OK.getStatusCode(), resp.getStatus());
-		dto = resp.readEntity(AppointmentDTO.class);
-		assertNotNull("Valid DTO should be returned", dto);
-		assertNotNull("DTO id should be valid", dto.getId());
-		assertEquals("DTO should have 1 attendees", 1, dto.getMeetingMembers().size());
-
-		assertNull("Meeting member should deleted", mmDao.get(mmId));
-		assertNull("Invitation should deleted", invitationDao.getByHash(hash, true, false));
-		User uc = userDao.get(mmUserId);
-		assertNotNull("Meeting member user should not be deleted", uc);
-		assertFalse("Meeting member user should not be deleted", uc.isDeleted());
-	}
-
-	@Test
-	public void testGetByTitle() throws Exception {
-		String title = "title" + UUID.randomUUID().toString();
-		String sid = createApp(title);
-		@SuppressWarnings("unchecked")
-		List<AppointmentDTO> list = (List<AppointmentDTO>)getClient(CALENDAR_SERVICE_URL)
-			.path(String.format("/title/%s", title))
-			.query("sid", sid)
-			.getCollection(AppointmentDTO.class);
-
-		assertEquals("List of one item should be returned", 1, list.size());
-		assertEquals("Title should match", title, list.get(0).getTitle());
-
-		title = UUID.randomUUID().toString();
-		@SuppressWarnings("unchecked")
-		List<AppointmentDTO> list1 = (List<AppointmentDTO>)getClient(CALENDAR_SERVICE_URL)
-			.path(String.format("/title/%s", title))
-			.query("sid", sid)
-			.getCollection(AppointmentDTO.class);
-		assertEquals("None items should be returned", 0, list1.size());
-	}
-}

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/3dac8e2f/openmeetings-web/src/test/java/org/apache/openmeetings/test/webservice/TestFileService.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/test/java/org/apache/openmeetings/test/webservice/TestFileService.java b/openmeetings-web/src/test/java/org/apache/openmeetings/test/webservice/TestFileService.java
deleted file mode 100644
index f742430..0000000
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/test/webservice/TestFileService.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License") +  you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.openmeetings.test.webservice;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-
-import java.awt.Graphics;
-import java.awt.image.BufferedImage;
-import java.io.File;
-import java.io.IOException;
-
-import javax.imageio.ImageIO;
-
-import org.apache.openmeetings.db.dto.basic.ServiceResult;
-import org.apache.openmeetings.db.dto.file.FileExplorerObject;
-import org.apache.openmeetings.db.dto.file.FileItemDTO;
-import org.apache.openmeetings.db.entity.file.BaseFileItem;
-import org.apache.openmeetings.util.NonJenkinsTests;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
-
-public class TestFileService extends AbstractWebServiceTest {
-
-	@Test
-	@Category(NonJenkinsTests.class)
-	public void addFileTest() throws IOException {
-		File img = null;
-		try {
-			img = File.createTempFile("omtest", ".jpg");
-			final Integer width = 150;
-			final Integer height = 100;
-			BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
-			Graphics g = image.getGraphics();
-			g.drawString("Hello World!!!", 10, 20);
-			ImageIO.write(image, "jpg", img);
-			CallResult<FileItemDTO> cr = createVerifiedFile(img, "test.txt", BaseFileItem.Type.Presentation);
-			assertEquals("Type should be Image", BaseFileItem.Type.Image, cr.getObj().getType());
-			assertEquals("Width should be determined", width, cr.getObj().getWidth());
-			assertEquals("Height should be Image", height, cr.getObj().getHeight());
-		} finally {
-			if (img != null && img.exists()) {
-				img.delete();
-			}
-		}
-	}
-
-	@Test
-	public void testGetRoom() {
-		ServiceResult r = login();
-		FileExplorerObject fo = getClient(FILE_SERVICE_URL)
-				.path("/room/5")
-				.query("sid", r.getMessage())
-				.get(FileExplorerObject.class);
-		assertNotNull(fo);
-	}
-}

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/3dac8e2f/openmeetings-web/src/test/java/org/apache/openmeetings/test/webservice/TestGroupService.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/test/java/org/apache/openmeetings/test/webservice/TestGroupService.java b/openmeetings-web/src/test/java/org/apache/openmeetings/test/webservice/TestGroupService.java
deleted file mode 100644
index 773ede6..0000000
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/test/webservice/TestGroupService.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License") +  you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.openmeetings.test.webservice;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-
-import javax.ws.rs.core.Response;
-
-import org.apache.openmeetings.db.dto.basic.ServiceResult;
-import org.apache.openmeetings.db.dto.basic.ServiceResult.Type;
-import org.junit.Test;
-
-public class TestGroupService extends AbstractWebServiceTest {
-	public static final String GROUP_SERVICE_URL = BASE_SERVICES_URL + "/group";
-
-	@Test
-	public void putTest() {
-		ServiceResult r = login();
-		Response resp = getClient(GROUP_SERVICE_URL)
-				.path("/")
-				.query("sid", r.getMessage()).put("");
-		assertEquals("Call should NOT be successful", Response.Status.METHOD_NOT_ALLOWED.getStatusCode(), resp.getStatus());
-	}
-
-	@Test
-	public void addRemoveTest() {
-		ServiceResult r = login();
-		Long groupId = -1L;
-		{
-			Response resp = getClient(GROUP_SERVICE_URL)
-					.path("/")
-					.query("sid", r.getMessage()).query("name", "Test Group").post("");
-			assertNotNull("Valid ServiceResult should be returned", resp);
-			assertEquals("Call should be successful", Response.Status.OK.getStatusCode(), resp.getStatus());
-			ServiceResult r1 = resp.readEntity(ServiceResult.class);
-			assertEquals("OM Call should be successful", r1.getType(), Type.SUCCESS.name());
-			groupId = Long.valueOf(r1.getMessage());
-		}
-		//delete group created
-		{
-			Response resp = getClient(GROUP_SERVICE_URL)
-					.path("/" + groupId)
-					.query("sid", r.getMessage()).delete();
-			assertNotNull("Valid ServiceResult should be returned", resp);
-			assertEquals("Call should be successful", Response.Status.OK.getStatusCode(), resp.getStatus());
-			ServiceResult r1 = resp.readEntity(ServiceResult.class);
-			assertEquals("OM Call should be successful", r1.getType(), Type.SUCCESS.name());
-		}
-	}
-}

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/3dac8e2f/openmeetings-web/src/test/java/org/apache/openmeetings/test/webservice/TestRecordingService.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/test/java/org/apache/openmeetings/test/webservice/TestRecordingService.java b/openmeetings-web/src/test/java/org/apache/openmeetings/test/webservice/TestRecordingService.java
deleted file mode 100644
index b553ab6..0000000
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/test/webservice/TestRecordingService.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License") +  you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.openmeetings.test.webservice;
-
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
-import java.util.Collection;
-import java.util.UUID;
-
-import org.apache.openmeetings.db.dao.record.RecordingDao;
-import org.apache.openmeetings.db.dto.basic.ServiceResult;
-import org.apache.openmeetings.db.dto.record.RecordingDTO;
-import org.apache.openmeetings.db.entity.record.Recording;
-import org.apache.openmeetings.db.entity.user.User;
-import org.junit.Test;
-import org.springframework.beans.factory.annotation.Autowired;
-
-public class TestRecordingService extends AbstractWebServiceTest {
-	public static final String RECORD_SERVICE_URL = BASE_SERVICES_URL + "/record";
-	@Autowired
-	private RecordingDao recordingDao;
-
-	private User getExternalUser() throws Exception {
-		String uuid = UUID.randomUUID().toString();
-		User u = getUser(uuid);
-		u.setExternalType(UNIT_TEST_EXT_TYPE);
-		u.setExternalId(uuid);
-		webCreateUser(u);
-		return u;
-	}
-
-	@Test
-	public void testExternal() throws Exception {
-		User u = getExternalUser();
-		Recording r = new Recording();
-		r.setInsertedBy(u.getId());
-		r.setComment("Created by Unit Tests");
-		r.setRoomId(5L);
-		r = recordingDao.update(r);
-		ServiceResult sr = login();
-		Collection<? extends RecordingDTO> recs = getClient(RECORD_SERVICE_URL).path("/" + UNIT_TEST_EXT_TYPE).query("sid", sr.getMessage())
-				.getCollection(RecordingDTO.class);
-		assertNotNull("Valid collection should be returned", recs);
-		assertFalse("Collection of the recordings should not be empty", recs.isEmpty());
-		boolean found = false;
-		for (RecordingDTO rdo : recs) {
-			if (r.getId().equals(rdo.getId())) {
-				//TODO check room, user
-				found = true;
-				break;
-			}
-		}
-		assertTrue("Just created recording was not found by the service", found);
-	}
-}