You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by vd...@apache.org on 2013/09/06 07:43:57 UTC

svn commit: r1520496 - in /openmeetings/trunk/singlewebapp/src: main/java/org/apache/openmeetings/utils/BackupImport.java test/java/org/apache/openmeetings/test/AbstractWiketTester.java test/java/org/apache/openmeetings/test/user/TestUserContact.java

Author: vdegtyarev
Date: Fri Sep  6 05:43:57 2013
New Revision: 1520496

URL: http://svn.apache.org/r1520496
Log:
OPENMEETINGS-776 - add test for contacts.

Added:
    openmeetings/trunk/singlewebapp/src/test/java/org/apache/openmeetings/test/AbstractWiketTester.java
    openmeetings/trunk/singlewebapp/src/test/java/org/apache/openmeetings/test/user/TestUserContact.java
Modified:
    openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/utils/BackupImport.java

Modified: openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/utils/BackupImport.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/utils/BackupImport.java?rev=1520496&r1=1520495&r2=1520496&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/utils/BackupImport.java (original)
+++ openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/utils/BackupImport.java Fri Sep  6 05:43:57 2013
@@ -833,7 +833,7 @@ public class BackupImport {
 						String updateEmail = "modified_by_import_<" + list.size() + ">" + u.getAdresses().getEmail();
 						u.getAdresses().setEmail(updateEmail);
 					}
-					userEmailMap.put(u.getAdresses().getEmail(), list.size());
+					userEmailMap.put(u.getAdresses().getEmail(), userEmailMap.size());
 				}
 				list.add(u);
 				item = listNode.getNext();

Added: openmeetings/trunk/singlewebapp/src/test/java/org/apache/openmeetings/test/AbstractWiketTester.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/test/java/org/apache/openmeetings/test/AbstractWiketTester.java?rev=1520496&view=auto
==============================================================================
--- openmeetings/trunk/singlewebapp/src/test/java/org/apache/openmeetings/test/AbstractWiketTester.java (added)
+++ openmeetings/trunk/singlewebapp/src/test/java/org/apache/openmeetings/test/AbstractWiketTester.java Fri Sep  6 05:43:57 2013
@@ -0,0 +1,67 @@
+/*
+ * 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;
+
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
+import javax.servlet.ServletContext;
+
+import org.apache.openmeetings.remote.red5.ScopeApplicationAdapter;
+import org.apache.openmeetings.web.app.Application;
+import org.apache.openmeetings.web.app.WebSession;
+import org.apache.wicket.util.tester.WicketTester;
+import org.junit.After;
+import org.springframework.web.context.WebApplicationContext;
+import org.springframework.web.context.support.XmlWebApplicationContext;
+
+public class AbstractWiketTester extends AbstractOpenmeetingsSpringTest {
+
+	protected WicketTester tester;
+	 	
+	@Override
+	public void setUp() throws Exception {
+		super.setUp();
+		Application app = new Application();
+        
+        tester = new WicketTester(app);
+		ServletContext sc = app.getServletContext();
+        XmlWebApplicationContext  applicationContext = new XmlWebApplicationContext();
+        applicationContext.setConfigLocation("classpath:openmeetings-applicationContext.xml");
+        applicationContext.setServletContext(sc);
+        applicationContext.refresh();
+        sc.setAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE, applicationContext);
+        assertNotNull("Web session should not be null", WebSession.get());
+		ScopeApplicationAdapter.initComplete = true;
+	}
+
+	public void login(String login, String password) {
+		if (login != null && password != null) {
+			WebSession.get().signIn(login, password, "");
+		} else {
+			WebSession.get().signIn(username, userpass, "");
+		}
+		assertTrue("Web session is not signed in for user: " + (login != null ? login : username), WebSession.get().isSignedIn());
+	}
+	
+	@After
+	public void tearDown() {
+		tester.destroy();
+	}
+}

Added: openmeetings/trunk/singlewebapp/src/test/java/org/apache/openmeetings/test/user/TestUserContact.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/test/java/org/apache/openmeetings/test/user/TestUserContact.java?rev=1520496&view=auto
==============================================================================
--- openmeetings/trunk/singlewebapp/src/test/java/org/apache/openmeetings/test/user/TestUserContact.java (added)
+++ openmeetings/trunk/singlewebapp/src/test/java/org/apache/openmeetings/test/user/TestUserContact.java Fri Sep  6 05:43:57 2013
@@ -0,0 +1,79 @@
+/*
+ * 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.assertTrue;
+
+import java.util.List;
+import java.util.Random;
+
+import org.apache.openmeetings.data.user.dao.AdminUserDao;
+import org.apache.openmeetings.data.user.dao.UserDao;
+import org.apache.openmeetings.persistence.beans.user.User;
+import org.apache.openmeetings.test.AbstractWiketTester;
+import org.apache.openmeetings.web.app.WebSession;
+import org.junit.Test;
+import org.springframework.beans.factory.annotation.Autowired;
+
+public class TestUserContact extends AbstractWiketTester {
+	@Autowired
+	private AdminUserDao adminUserDao;
+
+	@Autowired
+	private UserDao usersDao;
+	
+	@Test
+	public void addContactByOwner() throws Exception {
+
+		
+		login(null, null);
+		
+		List<User> users = adminUserDao.getAllUsers();
+		assertNotNull("Users list should not be null ", users);
+		assertFalse("Users list should not be empty ", users.isEmpty());
+		
+		Random random = new Random();
+		User contact = createUserContact(random.nextInt(), getUserId());
+		String email = contact.getAdresses().getEmail();
+		List<User> l = adminUserDao.get(email);
+		// check that contact is visible for admin
+		assertNotNull("Contacts list should not be null for admin ", l);
+		assertFalse("Contacts list should not be empty for admin ", l.isEmpty());
+		
+		// check that contact is visible for owner
+		l = usersDao.get(contact.getAdresses().getEmail());
+		assertTrue("Contacts list should not be empty for admin ", !l.isEmpty());		
+		//delete contact
+		adminUserDao.delete(contact, getUserId());
+		l = adminUserDao.get(email);
+		assertTrue("Contacts list should be empty", l.isEmpty());
+
+		contact = createUserContact(random.nextInt(), -1L);		
+		// check that contact is not visible for user that is not owner of this contact
+		l = usersDao.get(contact.getAdresses().getEmail());
+		assertTrue("Contacts list should not be empty for admin ", !l.isEmpty());
+		//delete contact
+		adminUserDao.delete(contact, WebSession.getUserId());
+		l = adminUserDao.get(email);
+		assertTrue("Contacts list should be empty", l.isEmpty());
+	}
+}