← Back to team overview

dhis2-devs team mailing list archive

[Branch ~dhis2-devs-core/dhis2/trunk] Rev 4419: added unit test for VersionService

 

------------------------------------------------------------
revno: 4419
committer: Morten Olav Hansen <mortenoh@xxxxxxxxx>
branch nick: dhis2
timestamp: Tue 2011-08-23 13:38:49 +0200
message:
  added unit test for VersionService
added:
  dhis-2/dhis-services/dhis-service-core/src/test/java/org/hisp/dhis/version/
  dhis-2/dhis-services/dhis-service-core/src/test/java/org/hisp/dhis/version/VersionServiceTest.java
modified:
  dhis-2/dhis-support/dhis-support-test/pom.xml
  dhis-2/pom.xml


--
lp:dhis2
https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk

Your team DHIS 2 developers is subscribed to branch lp:dhis2.
To unsubscribe from this branch go to https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk/+edit-subscription
=== added directory 'dhis-2/dhis-services/dhis-service-core/src/test/java/org/hisp/dhis/version'
=== added file 'dhis-2/dhis-services/dhis-service-core/src/test/java/org/hisp/dhis/version/VersionServiceTest.java'
--- dhis-2/dhis-services/dhis-service-core/src/test/java/org/hisp/dhis/version/VersionServiceTest.java	1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-services/dhis-service-core/src/test/java/org/hisp/dhis/version/VersionServiceTest.java	2011-08-23 11:38:49 +0000
@@ -0,0 +1,128 @@
+package org.hisp.dhis.version;
+
+/*
+ * Copyright (c) 2004-2010, University of Oslo All rights reserved.
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met: *
+ * Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer. * Redistributions in binary
+ * form must reproduce the above copyright notice, this list of conditions and
+ * the following disclaimer in the documentation and/or other materials provided
+ * with the distribution. * Neither the name of the HISP project nor the names
+ * of its contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission. THIS SOFTWARE IS
+ * PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+ * EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+import java.util.Collection;
+import org.junit.Test;
+import static org.junit.Assert.*;
+
+import org.hisp.dhis.DhisSpringTest;
+
+public class VersionServiceTest
+    extends DhisSpringTest
+{
+    private VersionService versionService;
+
+    private Version versionA;
+
+    private Version versionB;
+
+    @Override
+    protected void setUpTest()
+    {
+        versionService = (VersionService) getBean( "org.hisp.dhis.version.VersionService" );
+
+        versionA = new Version();
+        versionA.setKey( "keyA" );
+        versionA.setValue( "valueA" );
+
+        versionB = new Version();
+        versionB.setKey( "keyB" );
+        versionB.setValue( "valueB" );
+    }
+
+    // -------------------------------------------------------------------------
+    // Tests
+    // -------------------------------------------------------------------------
+
+    @Test
+    public void testAddVersion()
+    {
+        int idA = versionService.addVersion( versionA );
+        int idB = versionService.addVersion( versionB );
+
+        assertTrue( idA >= 0 );
+        assertTrue( idB >= 0 );
+
+        versionA = versionService.getVersion( idA );
+        versionB = versionService.getVersion( idB );
+
+        assertNotNull( versionA );
+        assertNotNull( versionB );
+
+        assertEquals( "valueA", versionA.getValue() );
+        assertEquals( "valueB", versionB.getValue() );
+    }
+
+    @Test
+    public void testUpdateVersion()
+    {
+        int id = versionService.addVersion( versionA );
+        versionService.updateVersion( "keyA", "changedValueA" );
+        versionA = versionService.getVersion( id );
+
+        assertNotNull( versionA );
+        assertEquals( "changedValueA", versionA.getValue() );
+    }
+
+    @Test
+    public void testDeleteVersion()
+    {
+        int id = versionService.addVersion( versionA );
+        versionService.deleteVersion( versionA );
+        assertNull( versionService.getVersion( id ) );
+    }
+
+    @Test
+    public void testGetVersion()
+    {
+        int id = versionService.addVersion( versionA );
+        versionA = versionService.getVersion( id );
+
+        assertNotNull( versionA );
+        assertEquals( "valueA", versionA.getValue() );
+    }
+
+    @Test
+    public void testGetVersionByKey()
+    {
+        versionService.addVersion( versionA );
+        versionA = versionService.getVersionByKey( "keyA" );
+
+        assertNotNull( versionA );
+        assertEquals( "valueA", versionA.getValue() );
+    }
+
+    @Test
+    public void testGetAllVersions()
+    {
+        versionService.addVersion( versionA );
+        versionService.addVersion( versionB );
+
+        Collection<Version> versions = versionService.getAllVersions();
+
+        assertNotNull( versions );
+        assertEquals( 2, versions.size() );
+    }
+}

=== modified file 'dhis-2/dhis-support/dhis-support-test/pom.xml'
--- dhis-2/dhis-support/dhis-support-test/pom.xml	2011-06-23 18:33:40 +0000
+++ dhis-2/dhis-support/dhis-support-test/pom.xml	2011-08-23 11:38:49 +0000
@@ -1,29 +1,28 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0";
-  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+<project xmlns="http://maven.apache.org/POM/4.0.0"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd";>
   <modelVersion>4.0.0</modelVersion>
-  
+
   <parent>
     <groupId>org.hisp.dhis</groupId>
     <artifactId>dhis-support</artifactId>
     <version>2.4-SNAPSHOT</version>
   </parent>
-  
+
   <artifactId>dhis-support-test</artifactId>
   <packaging>jar</packaging>
   <name>DHIS Test Support</name>
-  
+
   <dependencies>
-    
+
     <!-- DHIS -->
 
     <dependency>
       <groupId>org.hisp.dhis</groupId>
       <artifactId>dhis-api</artifactId>
     </dependency>
-		
+
     <!-- Other -->
-    
+
     <dependency>
       <groupId>org.springframework</groupId>
       <artifactId>spring-context</artifactId>
@@ -45,6 +44,10 @@
       <artifactId>junit</artifactId>
     </dependency>
     <dependency>
+      <groupId>org.mockito</groupId>
+      <artifactId>mockito-all</artifactId>
+    </dependency>
+    <dependency>
       <groupId>org.hibernate</groupId>
       <artifactId>hibernate-core</artifactId>
     </dependency>

=== modified file 'dhis-2/pom.xml'
--- dhis-2/pom.xml	2011-08-23 09:53:37 +0000
+++ dhis-2/pom.xml	2011-08-23 11:38:49 +0000
@@ -417,7 +417,6 @@
         <groupId>org.mockito</groupId>
         <artifactId>mockito-all</artifactId>
         <version>1.8.5</version>
-        <scope>test</scope>
       </dependency>
       <dependency>
         <groupId>org.amplecode</groupId>