Author: husted
Date: Sun Jul 30 15:01:59 2006
New Revision: 426954

URL: http://svn.apache.org/viewvc?rev=426954&view=rev
Log:
WW-1399 Extend unit tests for iBATIS statements; move the "sample" script back 
(seems to work now).

Added:
    
struts/struts2/trunk/apps/mailreader/src/test/resources/sql/mailreader-sample.sql
      - copied, changed from r426921, 
struts/struts2/trunk/apps/mailreader/src/main/resources/sql/mailreader-sample.sql
Removed:
    
struts/struts2/trunk/apps/mailreader/src/main/resources/sql/mailreader-sample.sql
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/sql-map.xml
    
struts/struts2/trunk/apps/mailreader/src/test/java/mailreader2/MailreaderTest.java

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=426954&r1=426953&r2=426954&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 15:01:59 2006
@@ -17,7 +17,7 @@
     private String locale_code;
     private String locale_name;
 
-    private String account_key;
+    private String registration_key;
     private String username;
     private String password;
     private String password2;
@@ -29,16 +29,44 @@
     private String protocol_code;
     private String protocol_name;
 
-    private String host_key;
-    private String host_name;
+    private String subscription_key;
+    private String subscription_host;
     private String host_user;
     private String host_pass;
     private Integer host_auto;
 
+    /**
+     * <p>Adapt internal Integer value to external boolean value. </p>
+     * @return False if host_auto==0, True otherwise
+     */
+    public boolean isHost_auto_checkbox() {
+        Integer _host_auto = getHost_auto();
+        if (_host_auto == null) _host_auto = 0;
+        return (_host_auto == 0);
+    }
+
+    /**
+     * <p>Adapt internal Integer value to external boolean value. </p>
+     */
+    public void setHost_auto_checkbox(boolean host_auto_checkbox) {
+        if (host_auto_checkbox)
+            setHost_auto(1);
+        else setHost_auto(0);
+    }
+
+    /**
+     * <p>Return true if a logic or state test passed,
+     * such as whether a record already exists.</p>
+     * @return True if a business logic test passed.
+     */
     public boolean isNominal() {
         return nominal;
     }
 
+    /**
+     * <p>Record outcome of a logic or state test,
+     * such as whether a record already exists.</p>
+     */
     public void setNominal(boolean nominal) {
         this.nominal = nominal;
     }
@@ -67,12 +95,12 @@
         this.locale_name = locale_name;
     }
 
-    public String getAccount_key() {
-        return account_key;
+    public String getRegistration_key() {
+        return registration_key;
     }
 
-    public void setAccount_key(String account_key) {
-        this.account_key = account_key;
+    public void setRegistration_key(String registration_key) {
+        this.registration_key = registration_key;
     }
 
     public String getUsername() {
@@ -139,20 +167,20 @@
         this.protocol_code = protocol_code;
     }
 
-    public String getHost_key() {
-        return host_key;
+    public String getSubscription_key() {
+        return subscription_key;
     }
 
-    public void setHost_key(String host_key) {
-        this.host_key = host_key;
+    public void setSubscription_key(String subscription_key) {
+        this.subscription_key = subscription_key;
     }
 
-    public String getHost_name() {
-        return host_name;
+    public String getSubscription_host() {
+        return subscription_host;
     }
 
-    public void setHost_name(String host_name) {
-        this.host_name = host_name;
+    public void setSubscription_host(String subscription_host) {
+        this.subscription_host = subscription_host;
     }
 
     public String getHost_user() {
@@ -185,18 +213,6 @@
 
     public void setHost_auto(Integer host_auto) {
         this.host_auto = host_auto;
-    }
-
-    public boolean isHost_auto_checkbox() {
-        Integer _host_auto = getHost_auto();
-        if (_host_auto == null) _host_auto = 0;
-        return (_host_auto == 0);
-    }
-
-    public void setHost_auto_checkbox(boolean host_auto_checkbox) {
-        if (host_auto_checkbox)
-            setHost_auto(1);
-        else setHost_auto(0);
     }
 
 }

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=426954&r1=426953&r2=426954&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 15:01:59 2006
@@ -23,7 +23,22 @@
  */
 public final class Constants {
 
-    // --- Tokens ----
+    // -- Statements --
+
+    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";
+    public static final String REGISTRATION_PASSWORD = "REGISTRATION_PASSWORD";
+    public static final String REGISTRATION_FULLNAME = "REGISTRATION_FULLNAME";
+    public static final String REGISTRATION_EDIT = "REGISTRATION_EDIT";
+    public static final String REGISTRATION_UPDATE = "REGISTRATION_UPDATE";
+    public static final String SUBSCRIPTION_INSERT_ASSERT = 
"SUBSCRIPTION_INSERT_ASSERT";
+    public static final String SUBSCRIPTION_INSERT = "SUBSCRIPTION_INSERT";
+    public static final String SUBSCRIPTION_LIST = "SUBSCRIPTION_LIST";
+    public static final String SUBSCRIPTION_EDIT = "SUBSCRIPTION_EDIT";
+    public static final String SUBSCRIPTION_UPDATE = "SUBSCRIPTION_UPDATE";
+
+    // -- Tokens --
 
     /**
      * <p> The token representing a "cancel" request. </p>

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=426954&r1=426953&r2=426954&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 15:01:59 2006
@@ -3,24 +3,85 @@
 
 <sqlMap namespace="mailreader">
 
-  <typeAlias alias="data"
-             type="mailreader2.AppData"/>
+    <typeAlias alias="data"
+      type="mailreader2.AppData"/>
 
-  <update id="registration_update" parameterClass="data">
-  </update>
+    <select id="LOCALE_LIST" resultClass="data">
+        SELECT pk_locale AS locale_key, locale_code
+        FROM locale;
+    </select>
+
+    <select id="REGISTRATION_INSERT_ASSERT" parameterClass="data" 
resultClass="long">
+        SELECT COUNT(*)
+        FROM registration
+        WHERE username=#username#;
+    </select>
+
+    <insert id="REGISTRATION_INSERT" parameterClass="data">
+        INSERT INTO registration
+            (pk_registration, fk_locale, username, password, fullname, 
email_from, email_replyto)
+        VALUES (#registration_key#, #locale_key#, #username#, #password#, 
#fullname#, #email_from#, #email_replyto#);
+    </insert>
+
+    <select id="REGISTRATION_PASSWORD" parameterClass="data" 
resultClass="data">
+        SELECT username, password
+        FROM registration
+        WHERE username=#username#;
+    </select>
+
+    <select id="REGISTRATION_FULLNAME" parameterClass="data" 
resultClass="data">
+        SELECT username, fullname
+        FROM registration
+        WHERE username=#username#;
+    </select>
+
+    <select id="REGISTRATION_EDIT" parameterClass="data" resultClass="data">
+        SELECT pk_registration AS registration_key, fk_locale AS locale_key,
+            username, password, fullname, email_from, email_replyto
+        FROM registration
+        WHERE username=#username#;
+    </select>
 
-  <select id="subscription_list" parameterClass="data">
-  </select>
+    <update id="REGISTRATION_UPDATE" parameterClass="data">
+        UPDATE registration
+        SET fk_locale=#locale_key#, username=#username#, password=#password#, 
fullname=#fullname#,
+            email_from=#email_from#, email_replyto=#email_replyto#
+        WHERE pk_registration=#registration_key#;
+    </update>
 
-  <insert id="registration_insert" parameterClass="data">
-  </insert>
+    <select id="SUBSCRIPTION_INSERT_ASSERT" parameterClass="data" 
resultClass="data">
+        SELECT COUNT(*)
+        FROM subscription
+        WHERE fk_registration=#registration_key#
+            AND subscription_host=#subscription_host#;
+    </select>
 
-  <select id="registration_fullname" parameterClass="data" resultClass="data">
-      SELECT username, fullname FROM registration WHERE username=#username#;
-  </select>
+    <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#);
+    </insert>
 
-    <select id="locale_list" parameterClass="data" resultClass="data">
-        SELECT locale_code, locale_name FROM locale;
+    <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
+        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
+        WHERE pk_subscription=#subscription_key#;
+    </select>
+
+    <update id="SUBSCRIPTION_UPDATE" parameterClass="data">
+        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#;
+    </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=426954&r1=426953&r2=426954&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 15:01:59 2006
@@ -6,17 +6,82 @@
  */
 public class MailreaderTest extends BaseSqlMapTest {
 
+    // DEFAULTS FROM SAMPLE SCRIPT
+
+    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 = "[EMAIL PROTECTED]";
+    private static String email_replyto = "[EMAIL PROTECTED]";
+
+    private static String registration_key2 = "02-zaphod";
+    private static String username2 = "zaphod";
+    private static String password2 = "g4rgl3Bl4st3r";
+    private static String fullname2 = "Zaphod Beeblebrox";
+    private static String email_from2 = "[EMAIL PROTECTED]";
+    private static String email_replyto2 = "[EMAIL PROTECTED]";
+
     // SETUP & TEARDOWN
 
-    public void testUser_locale() throws Exception {
-        AppData output = (AppData) sqlMap.queryForObject("locale_list",null);
+    private AppData input;
+
+    public void setUp() throws Exception {
+        super.setUp();
+        input =  new AppData();
+    }
+
+    public void testLOCALE_LIST() throws Exception {
+        AppData output = (AppData) 
sqlMap.queryForObject(Constants.LOCALE_LIST,null);
         assertNotNull(output);
     }
 
-    public void testUser_fullname() throws Exception {
-        AppData input =  new AppData();
-        input.setUsername("user");
-        AppData output = (AppData) 
sqlMap.queryForObject("registration_fullname", input);
-        assertEquals("John Q. User", output.getFullname());
+    public void testREGISTRATION_INSERT_ASSERT_fail() throws Exception {
+        input.setUsername(username);
+        Object output = 
sqlMap.queryForObject(Constants.REGISTRATION_INSERT_ASSERT,input);
+        Long count = (Long) output;
+        assertTrue("Expected user to already exist",count.intValue()>0);
+    }
+
+    public void testREGISTRATION_INSERT_ASSERT() throws Exception {
+        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);
     }
+
+    public void testREGISTRATION_INSERT() throws Exception {
+        input.setRegistration_key(registration_key2);
+        input.setLocale_key(locale_key);
+        input.setUsername(username2);
+        input.setPassword(password2 );
+        input.setFullname(fullname2);
+        input.setEmail_from(email_from2);
+        input.setEmail_replyto(email_replyto2);
+        sqlMap.insert(Constants.REGISTRATION_INSERT,input);
+        // Trust but verify
+        input.setPassword(null);
+        AppData output = (AppData) 
sqlMap.queryForObject(Constants.REGISTRATION_PASSWORD,input);
+        assertEquals(password2,output.getPassword());
+    }
+
+    public void testREGISTRATION_PASSWORD()  throws Exception {
+        input.setUsername(username);
+        AppData output = (AppData) 
sqlMap.queryForObject(Constants.REGISTRATION_PASSWORD,input);
+        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());
+    }
+
 }

Copied: 
struts/struts2/trunk/apps/mailreader/src/test/resources/sql/mailreader-sample.sql
 (from r426921, 
struts/struts2/trunk/apps/mailreader/src/main/resources/sql/mailreader-sample.sql)
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/apps/mailreader/src/test/resources/sql/mailreader-sample.sql?p2=struts/struts2/trunk/apps/mailreader/src/test/resources/sql/mailreader-sample.sql&p1=struts/struts2/trunk/apps/mailreader/src/main/resources/sql/mailreader-sample.sql&r1=426921&r2=426954&rev=426954&view=diff
==============================================================================
    (empty)


Reply via email to