You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by hu...@apache.org on 2006/07/31 02:56:04 UTC

svn commit: r426991 - in /struts/struts2/trunk/apps/mailreader/src: main/java/mailreader2/ main/resources/sql/ test/java/mailreader2/ test/resources/sql/

Author: husted
Date: Sun Jul 30 17:56:03 2006
New Revision: 426991

URL: http://svn.apache.org/viewvc?rev=426991&view=rev
Log:
WW-1399 Complete first set of tests for iBATIS statements.

Modified:
    struts/struts2/trunk/apps/mailreader/src/main/java/mailreader2/AppData.java
    struts/struts2/trunk/apps/mailreader/src/main/java/mailreader2/Constants.java
    struts/struts2/trunk/apps/mailreader/src/main/resources/sql/mailreader-schema.sql
    struts/struts2/trunk/apps/mailreader/src/main/resources/sql/sql-map.xml
    struts/struts2/trunk/apps/mailreader/src/test/java/mailreader2/MailreaderTest.java
    struts/struts2/trunk/apps/mailreader/src/test/resources/sql/mailreader-sample.sql

Modified: struts/struts2/trunk/apps/mailreader/src/main/java/mailreader2/AppData.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/apps/mailreader/src/main/java/mailreader2/AppData.java?rev=426991&r1=426990&r2=426991&view=diff
==============================================================================
--- struts/struts2/trunk/apps/mailreader/src/main/java/mailreader2/AppData.java (original)
+++ struts/struts2/trunk/apps/mailreader/src/main/java/mailreader2/AppData.java Sun Jul 30 17:56:03 2006
@@ -41,8 +41,8 @@
      */
     public boolean isHost_auto_checkbox() {
         Integer _host_auto = getHost_auto();
-        if (_host_auto == null) _host_auto = 0;
-        return (_host_auto == 0);
+        if (_host_auto == null) _host_auto = Constants.DB_FALSE;
+        return (_host_auto == Constants.DB_TRUE);
     }
 
     /**
@@ -50,8 +50,8 @@
      */
     public void setHost_auto_checkbox(boolean host_auto_checkbox) {
         if (host_auto_checkbox)
-            setHost_auto(1);
-        else setHost_auto(0);
+            setHost_auto(Constants.DB_TRUE);
+        else setHost_auto(Constants.DB_FALSE);
     }
 
     /**

Modified: struts/struts2/trunk/apps/mailreader/src/main/java/mailreader2/Constants.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/apps/mailreader/src/main/java/mailreader2/Constants.java?rev=426991&r1=426990&r2=426991&view=diff
==============================================================================
--- struts/struts2/trunk/apps/mailreader/src/main/java/mailreader2/Constants.java (original)
+++ struts/struts2/trunk/apps/mailreader/src/main/java/mailreader2/Constants.java Sun Jul 30 17:56:03 2006
@@ -25,6 +25,9 @@
 
     // -- Statements --
 
+    public static final Integer DB_FALSE = 0;
+    public static final Integer DB_TRUE = 1;
+
     public static final String LOCALE_LIST = "LOCALE_LIST";
     public static final String REGISTRATION_INSERT_ASSERT = "REGISTRATION_INSERT_ASSERT";
     public static final String REGISTRATION_INSERT = "REGISTRATION_INSERT";

Modified: struts/struts2/trunk/apps/mailreader/src/main/resources/sql/mailreader-schema.sql
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/apps/mailreader/src/main/resources/sql/mailreader-schema.sql?rev=426991&r1=426990&r2=426991&view=diff
==============================================================================
--- struts/struts2/trunk/apps/mailreader/src/main/resources/sql/mailreader-schema.sql (original)
+++ struts/struts2/trunk/apps/mailreader/src/main/resources/sql/mailreader-schema.sql Sun Jul 30 17:56:03 2006
@@ -29,7 +29,7 @@
   fk_registration  char(36),
   fk_protocol char(36),
   subscription_host  char(36),
-  subscription_user char(18),
-  subscription_pass char(18),
-  subscription_auto int
+  host_user char(18),
+  host_pass char(18),
+  host_auto int
 );

Modified: struts/struts2/trunk/apps/mailreader/src/main/resources/sql/sql-map.xml
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/apps/mailreader/src/main/resources/sql/sql-map.xml?rev=426991&r1=426990&r2=426991&view=diff
==============================================================================
--- struts/struts2/trunk/apps/mailreader/src/main/resources/sql/sql-map.xml (original)
+++ struts/struts2/trunk/apps/mailreader/src/main/resources/sql/sql-map.xml Sun Jul 30 17:56:03 2006
@@ -39,7 +39,7 @@
         SELECT pk_registration AS registration_key, fk_locale AS locale_key,
             username, password, fullname, email_from, email_replyto
         FROM registration
-        WHERE username=#username#;
+        WHERE pk_registration=#registration_key#;
     </select>
 
     <update id="REGISTRATION_UPDATE" parameterClass="data">
@@ -49,7 +49,7 @@
         WHERE pk_registration=#registration_key#;
     </update>
 
-    <select id="SUBSCRIPTION_INSERT_ASSERT" parameterClass="data" resultClass="data">
+    <select id="SUBSCRIPTION_INSERT_ASSERT" parameterClass="data" resultClass="long">
         SELECT COUNT(*)
         FROM subscription
         WHERE fk_registration=#registration_key#
@@ -59,21 +59,23 @@
     <insert id="SUBSCRIPTION_INSERT" parameterClass="data">
         INSERT INTO subscription
             (pk_subscription, fk_registration, fk_protocol, subscription_host, host_user, host_pass, host_auto)
-        VALUES (#subscription_key#, #registration_key#, #protocol_key#, #username#,
-            #subscription_host#, #host_user#, #host_pass#, #host_auto#);
+        VALUES (#subscription_key#, #registration_key#, #protocol_key#, #subscription_host#,
+            #host_user#, #host_pass#, #host_auto#);
     </insert>
 
     <select id="SUBSCRIPTION_LIST" parameterClass="data" resultClass="data">
         SELECT pk_subscription AS subscription_key,
             subscription_host, host_user, host_pass, host_auto, protocol_name
         FROM subscription
-            JOIN protocol ON fk_protocol=pk_protocol
+            JOIN protocol ON pk_protocol=fk_protocol
         WHERE fk_registration=#registration_key#;
     </select>
 
     <select id="SUBSCRIPTION_EDIT" parameterClass="data" resultClass="data">
-        SELECT pk_subscription AS subscription_key, fk_registration AS registration_key, fk_protocol AS protocol_key,
-            subscription_host, host_user, host_pass, host_auto FROM subscription, protocol
+        SELECT pk_subscription AS subscription_key, fk_protocol AS protocol_key,
+            subscription_host, host_user, host_pass, host_auto, protocol_name
+        FROM subscription
+            JOIN protocol ON pk_protocol=fk_protocol
         WHERE pk_subscription=#subscription_key#;
     </select>
 
@@ -81,7 +83,7 @@
         UPDATE subscription
         SET fk_registration=#registration_key#, fk_protocol=#protocol_key#,
             subscription_host=#subscription_host#, host_user=#host_user#, host_pass=#host_pass#, host_auto=#host_auto#
-        FROM subscription WHERE pk_subscription=#subscription_key#;
+        WHERE pk_subscription=#subscription_key#;
     </update>
 
 </sqlMap>

Modified: struts/struts2/trunk/apps/mailreader/src/test/java/mailreader2/MailreaderTest.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/apps/mailreader/src/test/java/mailreader2/MailreaderTest.java?rev=426991&r1=426990&r2=426991&view=diff
==============================================================================
--- struts/struts2/trunk/apps/mailreader/src/test/java/mailreader2/MailreaderTest.java (original)
+++ struts/struts2/trunk/apps/mailreader/src/test/java/mailreader2/MailreaderTest.java Sun Jul 30 17:56:03 2006
@@ -1,5 +1,7 @@
 package mailreader2;
 
+import java.util.List;
+
 /**
  * @author Ted Husted
  * @version $Revision: 1.0 $ $Date: Jul 29, 2006 5:34:31 PM $
@@ -8,21 +10,37 @@
 
     // DEFAULTS FROM SAMPLE SCRIPT
 
+    private static int SAMPLE_SIZE = 2;
+
     private static String locale_key = "01-en";
 
     private static String registration_key = "01-user";
     private static String username = "user";
     private static String password = "pass";
     private static String fullname = "John Q. User";
-    private static String email_from = "zaphod@magrathea.com";
-    private static String email_replyto = "zb42@igmail.com";
+    private static String email_from = "John.User@somewhere.com";
+    private static String email_replyto = "";
+    private static String subscription_key = "01-hotmail";
+    private static String subscription_host = "mail.hotmail.com";
+    private static String host_user = "user1234";
+    private static String host_pass = "bar";
+    private static Integer host_auto = Constants.DB_FALSE;
 
     private static String registration_key2 = "02-zaphod";
     private static String username2 = "zaphod";
-    private static String password2 = "g4rgl3Bl4st3r";
+    private static String password2 = "G4rgl3Bl4st3r";
     private static String fullname2 = "Zaphod Beeblebrox";
     private static String email_from2 = "zaphod@magrathea.com";
-    private static String email_replyto2 = "zb42@igmail.com";
+    private static String email_replyto2 = "zb42@igmail.net";
+
+    private static String protocol_name = "POP3 Protoocol";
+    private static String protocol_key2 = "02-smtp";
+
+    private static String subscription_key2 = "04-igmail";
+    private static String subscription_host2 = "mail.igmail.net";
+    private static String host_user2 = "zb42";
+    private static String host_pass2 = "J4nxSp1r1t";
+    private static Integer host_auto2 = Constants.DB_TRUE;
 
     // SETUP & TEARDOWN
 
@@ -49,7 +67,7 @@
         input.setUsername(username2);
         Object output = sqlMap.queryForObject(Constants.REGISTRATION_INSERT_ASSERT,input);
         Long count = (Long) output;
-        assertTrue("Expected user to already exist",count.intValue()==0);
+        assertTrue("Did not expected user to exist",count.intValue()==0);
     }
 
     public void testREGISTRATION_INSERT() throws Exception {
@@ -73,15 +91,112 @@
         assertEquals(password,output.getPassword());
     }
 
-    public void test() throws Exception {
-    }
-
     public void testREGISTRATION_FULLNAME() throws Exception {
         input.setUsername(username);
         AppData output = (AppData) sqlMap.queryForObject(Constants.REGISTRATION_FULLNAME, input);
         assertEquals(fullname, output.getFullname());
         assertNull("Expected other fields to be null", output.getPassword());
         assertNull("Expected other fields to be null",output.getEmail_from());
+    }
+
+    public void testREGISTRATION_EDIT() throws Exception {
+        input.setRegistration_key(registration_key);
+        AppData output = (AppData) sqlMap.queryForObject(Constants.REGISTRATION_EDIT, input);
+        assertNotNull("Registration not found!",output);
+        assertEquals(fullname, output.getFullname());
+        assertEquals(email_from, output.getEmail_from());
+        assertEquals(email_replyto, output.getEmail_replyto());
+    }
+
+    public void testREGISTRATION_UPDATE() throws Exception {
+        input.setRegistration_key(registration_key);
+        input.setUsername(username2);
+        input.setPassword(password2 );
+        input.setFullname(fullname2);
+        input.setEmail_from(email_from2);
+        input.setEmail_replyto(email_replyto2);
+        sqlMap.update(Constants.REGISTRATION_UPDATE,input);
+        // Trust but verify
+        input.setPassword(null);
+        AppData output = (AppData) sqlMap.queryForObject(Constants.REGISTRATION_PASSWORD,input);
+        assertEquals(password2,output.getPassword());
+    }
+
+    public void testREGISTRATION_UPDATE_fails() throws Exception {
+        input.setRegistration_key(null);
+        sqlMap.update(Constants.REGISTRATION_UPDATE,input);
+    }
+
+    public void testSUBSCRIPTION_INSERT_ASSERT_fail() throws Exception {
+        input.setSubscription_key(subscription_key);
+        input.setSubscription_host(subscription_host);
+        Object output = sqlMap.queryForObject(Constants.SUBSCRIPTION_INSERT_ASSERT,input);
+        Long count = (Long) output;
+        assertTrue("Expected subscription to already exist",count.intValue()>0);
+    }
+
+    public void SUBSCRIPTION_INSERT_ASSERT() throws Exception {
+        input.setSubscription_key(subscription_key2);
+        input.setSubscription_host(subscription_host2);
+        Object output = sqlMap.queryForObject(Constants.SUBSCRIPTION_INSERT_ASSERT,input);
+        Long count = (Long) output;
+        assertTrue("Did not expect subscription to exist",count.intValue()==0);
+    }
+
+    public void testSUBSCRIPTION_INSERT() throws Exception {
+        input.setSubscription_key(subscription_key2);
+        input.setRegistration_key(registration_key2);
+        input.setProtocol_key(protocol_key2);
+        input.setSubscription_host(subscription_host2);
+        input.setHost_user(host_user2);
+        input.setHost_pass(host_pass2);
+        input.setHost_auto(host_auto2);
+        sqlMap.insert(Constants.SUBSCRIPTION_INSERT,input);
+        // Trust but verify
+        Object output = sqlMap.queryForObject(Constants.SUBSCRIPTION_INSERT_ASSERT,input);
+        Long count = (Long) output;
+        assertTrue("Expected subscription to NOW exist",count.intValue()>0);
+    }
+
+
+   private void assertSubscription(AppData output) throws Exception {
+       assertEquals(host_user, output.getHost_user());
+       assertEquals(host_pass, output.getHost_pass());
+       assertEquals(protocol_name, output.getProtocol_name());
+       assertEquals(host_auto,output.getHost_auto());
+       assertFalse(output.isHost_auto_checkbox());
+   }
+
+    public void testSUBSCRIPTION_LIST() throws Exception {
+        input.setRegistration_key(registration_key);
+        Object output = sqlMap.queryForList(Constants.SUBSCRIPTION_LIST,input);
+        assertNotNull("Query failed!",output);
+        List list = (List) output;
+        assertEquals(SAMPLE_SIZE,list.size());
+        AppData row1 = (AppData) list.get(0);
+        assertSubscription(row1);
+    }
+
+    public void testSUBSCRIPTION_EDIT() throws Exception {
+        input.setSubscription_key(subscription_key);
+        AppData output = (AppData) sqlMap.queryForObject(Constants.SUBSCRIPTION_EDIT, input);
+        assertNotNull("Subscription not found!",output);
+        assertSubscription(output);
+    }
+
+    public void testSUBSCRIPTION_UPDATE() throws Exception {
+        input.setSubscription_key(subscription_key);
+        input.setRegistration_key(registration_key2);
+        input.setProtocol_key(protocol_key2);
+        input.setSubscription_host(subscription_host2);
+        input.setHost_user(host_user2);
+        input.setHost_pass(host_pass2);
+        input.setHost_auto(host_auto2);
+        sqlMap.update(Constants.SUBSCRIPTION_UPDATE,input);
+        // Trust but verify
+        Object output = sqlMap.queryForObject(Constants.SUBSCRIPTION_INSERT_ASSERT,input);
+        Long count = (Long) output;
+        assertTrue("Expected subscription to exist",count.intValue()>0);
     }
 
 }

Modified: struts/struts2/trunk/apps/mailreader/src/test/resources/sql/mailreader-sample.sql
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/apps/mailreader/src/test/resources/sql/mailreader-sample.sql?rev=426991&r1=426990&r2=426991&view=diff
==============================================================================
--- struts/struts2/trunk/apps/mailreader/src/test/resources/sql/mailreader-sample.sql (original)
+++ struts/struts2/trunk/apps/mailreader/src/test/resources/sql/mailreader-sample.sql Sun Jul 30 17:56:03 2006
@@ -1,8 +1,23 @@
-INSERT INTO locale (pk_locale, locale_code, locale_name) VALUES  ('01-en','en','English'), ('02-ru','ru','Russian'), ('03-ja','ja','Japanese');
+INSERT INTO locale
+    (pk_locale, locale_code, locale_name)
+VALUES ('01-en','en','English'), ('02-ru','ru','Russian'), ('03-ja','ja','Japanese');
 
-INSERT INTO protocol (pk_protocol, protocol_code, protocol_name) VALUES ('01-pop3','pop3','POP3 Protoocol'), ('02-smtp','smtp','SMTP Protocol');
+INSERT INTO protocol
+    (pk_protocol, protocol_code, protocol_name)
+VALUES ('01-pop3','pop3','POP3 Protoocol');
 
-INSERT INTO registration (pk_registration, fk_locale, username, password, fullname, email_from, email_replyto) VALUES ('01-user','01-en','user','pass','John Q. User','John.User@somewhere.com','');
+INSERT INTO protocol
+    (pk_protocol, protocol_code, protocol_name)
+VALUES ('02-smtp','smtp','SMTP Protocol');
 
-INSERT INTO subscription (pk_subscription, fk_registration, fk_protocol, subscription_host, subscription_user, subscription_pass, subscription_auto) VALUES
-('01-subscription','01-user','01-pop3','mail.hotmail.com','user1234','bar',0), ('02-subscription','01-user','02-smtp','mail.yahoo.com','jquser','foo',1);
+INSERT INTO registration
+    (pk_registration, fk_locale, username, password, fullname, email_from, email_replyto)
+VALUES ('01-user','01-en','user','pass','John Q. User','John.User@somewhere.com','');
+
+INSERT INTO subscription
+    (pk_subscription, fk_registration, fk_protocol, subscription_host, host_user, host_pass, host_auto)
+VALUES ('01-hotmail','01-user','01-pop3','mail.hotmail.com','user1234','bar',0);
+
+INSERT INTO subscription
+    (pk_subscription, fk_registration, fk_protocol, subscription_host, host_user, host_pass, host_auto)
+VALUES ('02-yahoo','01-user','02-smtp','mail.yahoo.com','jquser','foo',1);