Author: solomax
Date: Fri Feb  8 06:52:20 2013
New Revision: 1443856

URL: http://svn.apache.org/r1443856
Log:
Import: JUnit test is added to test import/export compatibility between versions

Added:
    
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/test/backup/TestOldBackups.java
Removed:
    
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/test/backup/TestBackupString.java
    
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/test/backup/TestStringReplace.java
Modified:
    openmeetings/trunk/singlewebapp/WebContent/src/base/mainAttributes.lzx
    openmeetings/trunk/singlewebapp/WebContent/src/base/mainMethods.lzx
    openmeetings/trunk/singlewebapp/build.properties
    openmeetings/trunk/singlewebapp/build.xml
    openmeetings/trunk/singlewebapp/ivy.xml
    
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/servlet/outputhandler/BackupImportController.java
    
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/test/AbstractOpenmeetingsSpringTest.java

Modified: openmeetings/trunk/singlewebapp/WebContent/src/base/mainAttributes.lzx
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/WebContent/src/base/mainAttributes.lzx?rev=1443856&r1=1443855&r2=1443856&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/WebContent/src/base/mainAttributes.lzx 
(original)
+++ openmeetings/trunk/singlewebapp/WebContent/src/base/mainAttributes.lzx Fri 
Feb  8 06:52:20 2013
@@ -270,8 +270,6 @@ the LAST RoomClient Object that has been
 <attribute name="bandwidthNeededBest" value="32768" type="number" />
 <attribute name="camQualityNormal" value="75" type="number" />
 <attribute name="camQualityBest" value="75" type="number" />
-<attribute name="microphoneRateNormal" value="22" type="number" /> 
-<attribute name="microphoneRateBest" value="44" type="number" /> 
         
 <!--- Reference to the current active drawarea -->
 <attribute name="_drawarea" value="null" /> 

Modified: openmeetings/trunk/singlewebapp/WebContent/src/base/mainMethods.lzx
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/WebContent/src/base/mainMethods.lzx?rev=1443856&r1=1443855&r2=1443856&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/WebContent/src/base/mainMethods.lzx 
(original)
+++ openmeetings/trunk/singlewebapp/WebContent/src/base/mainMethods.lzx Fri Feb 
 8 06:52:20 2013
@@ -198,8 +198,6 @@
         
this.setAttribute('bandwidthNeededBest',Number(canvas.myConfigSet.getPointer().xpathQuery('config/bandwidthNeededBest/text()')));
  
         
this.setAttribute('camQualityNormal',Number(canvas.myConfigSet.getPointer().xpathQuery('config/camQualityNormal/text()')));
  
         
this.setAttribute('camQualityBest',Number(canvas.myConfigSet.getPointer().xpathQuery('config/camQualityBest/text()')));
  
-        
this.setAttribute('microphoneRateNormal',Number(canvas.myConfigSet.getPointer().xpathQuery('config/microphoneRateNormal/text()')));
  
-        
this.setAttribute('microphoneRateBest',Number(canvas.myConfigSet.getPointer().xpathQuery('config/microphoneRateBest/text()')));
  
         
         
this.setAttribute('defaultWhiteboardWidth',Number(canvas.myConfigSet.getPointer().xpathQuery('config/defaultWhiteboardWidth/text()')));
  
         
this.setAttribute('defaultWhiteboardHeight',Number(canvas.myConfigSet.getPointer().xpathQuery('config/defaultWhiteboardHeight/text()')));
  

Modified: openmeetings/trunk/singlewebapp/build.properties
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/build.properties?rev=1443856&r1=1443855&r2=1443856&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/build.properties (original)
+++ openmeetings/trunk/singlewebapp/build.properties Fri Feb  8 06:52:20 2013
@@ -15,5 +15,6 @@ ivy.install.version=2.3.0
 red5.server.revision=4393
 red5.client.revision=4393
 laszlo.proxied=solo
-wicket.mode=DEPLOYMENT
+wicket.mode=DEPLOYMENT
+backup.file.list=backup_v_1_7_0_r3822.zip,backup_v_1_8_8_r4555.zip,backup_v_1_9_1_r4707.zip,backup_v_2_0_0_r1361497.zip
 
 db=derby

Modified: openmeetings/trunk/singlewebapp/build.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/build.xml?rev=1443856&r1=1443855&r2=1443856&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/build.xml (original)
+++ openmeetings/trunk/singlewebapp/build.xml Fri Feb  8 06:52:20 2013
@@ -37,6 +37,7 @@
        <property name="webcontent.src.dir" value="${basedir}/WebContent" />
        <property name="screensharing.resources" 
value="${webcontent.src.dir}/screensharing" />
        <property name="junit.lib.dir" value="${project.lib.dir}/junit" />
+       <property name="junit.backups.dir" value="${junit.lib.dir}/backups" />
        <property name="rat.lib.dir" value="${project.lib.dir}/rat" />
        <property name="dtd-generator.lib.dir" 
value="${project.lib.dir}/dtd-generator" />
        <property name="svntask.lib.dir" value="${project.lib.dir}/svntask" />
@@ -106,7 +107,7 @@
                <mkdir dir="${mainlibs.lib.dir}" />
                <mkdir dir="${om.lib.dir}" />
                <mkdir dir="${anakia.lib.dir}" />
-               <mkdir dir="${junit.lib.dir}" />
+               <mkdir dir="${junit.backups.dir}" />
                <mkdir dir="${junit.report.dir}" />
                <mkdir dir="${rat.lib.dir}" />
                <mkdir dir="${dtd-generator.lib.dir}" />
@@ -770,6 +771,22 @@
                <pathelement path="${main.out.dir}" />
        </path>
        <target name="test" depends="-dist-test-no-clean" description="Will run 
all tests unless -Dtestcases=_file_name_pattern_ will be passed">
+               <taskdef resource="net/sf/antcontrib/antlib.xml">
+                       <classpath refid="junit.classpath" />
+               </taskdef>
+               <for list="${backup.file.list}" param="prop">
+                       <sequential>
+                               <if>
+                                       <not>
+                                               <available 
file="${junit.backups.dir}/@{prop}" type="file" />
+                                       </not>
+                                       <then>
+                                               <echo message="Backup file 
@{prop} does not exists. Downloading ..." />
+                                               <get 
src="http://openmeetings.googlecode.com/svn/repository/@{prop}"; 
dest="${junit.backups.dir}" usetimestamp="true"/>
+                                       </then>
+                               </if>
+                       </sequential>
+               </for>
                <mkdir dir="${junit.report.dir}" />
                <!-- property name="myclsp" refid="junit.classpath" />
                <echo message="${myclsp}" /-->
@@ -780,6 +797,7 @@
                        <jvmarg value="-Dbasedir=${basedir}" />
                        <jvmarg value="-Dred5.config_root=${red5.root}/conf" />
                        <jvmarg 
value="-Dwebapps.root=${basedir}/${om.dist.webapp}" />
+                       <jvmarg value="-Dbackups.dir=${junit.backups.dir}" />
                        <formatter type="${junit.test.formatter}" />
                        <batchtest todir="${junit.report.dir}">
                                <fileset dir="${main.out.dir}">
@@ -906,7 +924,7 @@
                </copy>
                <copy file="${webcontent.src.dir}/red5/index.html" 
todir="${red5.lib}/webapps/root" overwrite="true" force="true" />
                <copy todir="${red5.lib}" overwrite="true" force="true">
-                       <fileset dir="${webcontent.src.dir}/red5" 
includes="admin.*" />
+                       <fileset dir="${webcontent.src.dir}/red5" 
includes="admin.*,network_test.sh" />
                </copy>
                <!-- FIXME need to be removed as soon as JAudioTagger (will be 
officially Dual Licensed) -->
                <xslt in="${red5.lib}/conf/red5-common.xml" 
out="${red5.lib}/conf/red5-common1.xml" style="build-jaudiotagger.xsl" />

Modified: openmeetings/trunk/singlewebapp/ivy.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/ivy.xml?rev=1443856&r1=1443855&r2=1443856&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/ivy.xml (original)
+++ openmeetings/trunk/singlewebapp/ivy.xml Fri Feb  8 06:52:20 2013
@@ -278,6 +278,9 @@
                <dependency org="org.springframework" 
name="org.springframework.test" rev="3.1.1.RELEASE" conf="junit->*" 
transitive="false">
                        <include type="jar" />
                </dependency>
+               <dependency org="ant-contrib" name="ant-contrib" rev="1.0b3" 
conf="junit->*" transitive="false">
+                       <include type="jar" />
+               </dependency>
                <!--  END OF JUNIT -->
                
                <!--  START OF RAT -->

Modified: 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/servlet/outputhandler/BackupImportController.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/servlet/outputhandler/BackupImportController.java?rev=1443856&r1=1443855&r2=1443856&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/servlet/outputhandler/BackupImportController.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/servlet/outputhandler/BackupImportController.java
 Fri Feb  8 06:52:20 2013
@@ -673,12 +673,8 @@ public class BackupImportController exte
                        if (listNodeName.equals(listNode.getName())) {
                                InputNode item = listNode.getNext();
                                while (item != null) {
-                                       try {
-                                               T o = ser.read(clazz, item, 
false);
-                                               list.add(o);
-                                       } catch (Exception e) {
-                                               log.debug("Exception While 
reading node of type: " + clazz, e);
-                                       }
+                                       T o = ser.read(clazz, item, false);
+                                       list.add(o);
                                        item = listNode.getNext();
                                }
                        }
@@ -753,18 +749,14 @@ public class BackupImportController exte
                        InputNode item = listNode.getNext();
                        InputNode item1 = listNode1.getNext(); //HACK to handle 
Address inside user
                        while (item != null) {
-                               try {
-                                       User u = ser.read(User.class, item, 
false);
-                                       
-                                       //HACK to handle Address inside user
-                                       if (u.getAdresses() == null) {
-                                               Address a = 
ser.read(Address.class, item1, false);
-                                               u.setAdresses(a);
-                                       }
-                                       list.add(u);
-                               } catch (Exception e) {
-                                       log.debug("Exception While reading node 
of type: " + User.class, e);
+                               User u = ser.read(User.class, item, false);
+                               
+                               //HACK to handle Address inside user
+                               if (u.getAdresses() == null) {
+                                       Address a = ser.read(Address.class, 
item1, false);
+                                       u.setAdresses(a);
                                }
+                               list.add(u);
                                item = listNode.getNext();
                                do {
                                        item1 = listNode1.getNext(); //HACK to 
handle Address inside user

Modified: 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/test/AbstractOpenmeetingsSpringTest.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/test/AbstractOpenmeetingsSpringTest.java?rev=1443856&r1=1443855&r2=1443856&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/test/AbstractOpenmeetingsSpringTest.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/test/AbstractOpenmeetingsSpringTest.java
 Fri Feb  8 06:52:20 2013
@@ -20,6 +20,7 @@ package org.apache.openmeetings.test;
 
 import static junit.framework.Assert.assertNotNull;
 import static junit.framework.Assert.assertTrue;
+import static org.junit.Assert.fail;
 
 import java.util.Date;
 
@@ -31,6 +32,7 @@ import org.apache.openmeetings.installat
 import org.apache.openmeetings.installation.InstallationConfig;
 import org.apache.openmeetings.persistence.beans.calendar.Appointment;
 import org.apache.openmeetings.persistence.beans.user.User;
+import org.apache.openmeetings.utils.OmFileHelper;
 import org.apache.openmeetings.utils.crypt.ManageCryptStyle;
 import org.junit.Before;
 import org.junit.runner.RunWith;
@@ -51,7 +53,7 @@ public abstract class AbstractOpenmeetin
        protected static final String username = "swagner";
        protected static final String userpass = "qweqwe";
        private static final String orgname = "smoketest";
-       private static final String timeZone = "";
+       private static final String timeZone = "Europe/Berlin";
        private static final String useremail = "ju...@openmeetings.de";
        
        @Autowired
@@ -68,21 +70,15 @@ public abstract class AbstractOpenmeetin
        private ManageCryptStyle cryptManager;
 
        @Before
-       public void setUp() {
-        try {
-            if (userManagement.getUserById(1L) == null) {
-                makeDefaultScheme();
-                log.info("Default scheme created successfully");
-            } else {
-                log.info("Default scheme already created");
-            }
-        } catch (Exception e) {
-            e.printStackTrace();
+       public void setUp() throws Exception {
+        if (userManagement.getUserById(1L) == null) {
+            makeDefaultScheme();
+            log.info("Default scheme created successfully");
+        } else {
+            log.info("Default scheme already created");
         }
-
     }
 
-
        public Appointment createAppointment() throws Exception {
                assertNotNull("Can't access to appointment dao implimentation", 
appointmentDao);
 
@@ -130,6 +126,11 @@ public abstract class AbstractOpenmeetin
        }
 
        private void makeDefaultScheme() throws Exception {
+               String webappsDir = System.getProperty("webapps.root", ".");
+               OmFileHelper.setOmHome(webappsDir);
+               if (!OmFileHelper.getOmHome().exists() || 
!OmFileHelper.getOmHome().isDirectory()) {
+                       fail("Invalid directory is specified as OM HOME: " + 
webappsDir);
+               }
                importInitvalues.loadAll(new InstallationConfig(), username, 
userpass,
                                useremail, orgname, timeZone, false);
        }

Added: 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/test/backup/TestOldBackups.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/test/backup/TestOldBackups.java?rev=1443856&view=auto
==============================================================================
--- 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/test/backup/TestOldBackups.java
 (added)
+++ 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/test/backup/TestOldBackups.java
 Fri Feb  8 06:52:20 2013
@@ -0,0 +1,33 @@
+package org.apache.openmeetings.test.backup;
+
+import static org.junit.Assert.fail;
+
+import java.io.File;
+import java.io.FileInputStream;
+
+import org.apache.openmeetings.servlet.outputhandler.BackupImportController;
+import org.apache.openmeetings.test.AbstractOpenmeetingsSpringTest;
+import org.junit.Test;
+import org.springframework.beans.factory.annotation.Autowired;
+
+public class TestOldBackups extends AbstractOpenmeetingsSpringTest {
+       @Autowired
+       private BackupImportController backupController;
+       
+       @Test
+       public void importOldVersions() {
+               String backupsDir = System.getProperty("backups.dir", ".");
+               File backupsHome = new File(backupsDir);
+               
+               if (!backupsHome.exists() || !backupsHome.isDirectory()) {
+                       fail("Invalid directory is specified for backup files: 
" + backupsDir);
+               }
+               for (File backup : backupsHome.listFiles()) {
+                       try {
+                               backupController.performImport(new 
FileInputStream(backup));
+                       } catch (Exception e) {
+                               throw new RuntimeException("Unexpected 
exception while importing backup: " + backup.getName(), e);
+                       }
+               }
+       }
+}


Reply via email to