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 = "[EMAIL PROTECTED]"; - private static String email_replyto = "[EMAIL PROTECTED]"; + private static String email_from = "[EMAIL PROTECTED]"; + 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 = "[EMAIL PROTECTED]"; - private static String email_replyto2 = "[EMAIL PROTECTED]"; + private static String email_replyto2 = "[EMAIL PROTECTED]"; + + 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','[EMAIL PROTECTED]',''); +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','[EMAIL PROTECTED]',''); + +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);