1 20 21 package com.methodhead.sitecontext; 22 23 import java.util.*; 24 import java.io.*; 25 import java.sql.*; 26 import junit.framework.*; 27 import org.apache.log4j.*; 28 import com.methodhead.persistable.*; 29 import com.methodhead.test.*; 30 import com.methodhead.auth.*; 31 import com.methodhead.util.*; 32 import com.methodhead.*; 33 import servletunit.struts.*; 34 import org.apache.struts.action.*; 35 import org.apache.commons.io.*; 36 import org.apache.cactus.*; 37 38 public class SiteContextFormTest extends CactusStrutsTestCase { 39 40 private DynaActionForm form = null; 41 private List list = null; 42 43 static { 44 TestUtils.initLogger(); 45 } 46 47 public SiteContextFormTest( String name ) { 48 super( name ); 49 } 50 51 public void setUp() { 52 try { 53 super.setUp(); 54 55 ConnectionSingleton.runBatchUpdate( new FileReader( "webapp/WEB-INF/db/transfer-reset.sql" ) ); 56 57 TestData.createUsers(); 58 AuthUtil.setUser( request, TestData.user1 ); 59 60 FileUtils.deleteDirectory( ServletUtils.getRealFile( request, "4" ) ); 64 FileUtils.deleteDirectory( ServletUtils.getRealFile( request, "WEB-INF/resources/4" ) ); 65 } 66 catch ( Exception e ) { 67 fail( e.getMessage() ); 68 } 69 } 70 71 public void tearDown() 72 throws 73 Exception { 74 super.tearDown(); 75 } 76 77 public void testReset() { 78 setRequestPathInfo( "/siteContext" ); 79 addRequestParameter( "action", "saveNew" ); 80 addRequestParameter( "domainsText", " danhensgen.com \n\n www.danhensgen.com\n\n " ); 81 actionPerform(); 82 83 form = ( DynaActionForm )getActionForm(); 84 list = ( List )form.get( "domains" ); 85 assertEquals( 2, list.size() ); 86 87 assertEquals( "danhensgen.com", list.get( 0 ) ); 88 assertEquals( "www.danhensgen.com", list.get( 1 ) ); 89 } 90 91 public void testValidateNoDomains() { 92 setRequestPathInfo( "/siteContext" ); 96 addRequestParameter( "action", "saveNew" ); 97 actionPerform(); 98 99 verifyInputForward(); 100 verifyActionErrors( new String [] { "mhf.missingdomains" } ); 101 } 102 103 public void testValidateInvalidDomains() { 104 setRequestPathInfo( "/siteContext" ); 108 addRequestParameter( "action", "saveNew" ); 109 addRequestParameter( "domainsText", "dan hensgen.com" ); 110 actionPerform(); 111 112 verifyInputForward(); 113 verifyActionErrors( new String [] { "mhf.invaliddomain" } ); 114 } 115 116 public void testValidateLongDomainName() { 117 setRequestPathInfo( "/siteContext" ); 121 addRequestParameter( "action", "saveNew" ); 122 addRequestParameter( "domainsText", "0123456789012345678901234567890123456789012345678901234567890123456789.com" ); 123 actionPerform(); 124 125 verifyInputForward(); 126 verifyActionErrors( new String [] { "mhf.invaliddomain" } ); 127 } 128 129 public void testExistingDomain() throws Exception { 130 setRequestPathInfo( "/siteContext" ); 134 addRequestParameter( "action", "saveNew" ); 135 addRequestParameter( "domainsText", "site1.com" ); 136 actionPerform(); 137 138 verifyInputForward(); 139 verifyActionErrors( new String [] { "mhf.domainexists" } ); 140 } 141 142 public void testValidateExistingDomain2() { 143 setRequestPathInfo( "/siteContext" ); 147 addRequestParameter( "action", "save" ); 148 addRequestParameter( "id", "1" ); 149 addRequestParameter( "domainsText", "site2.com" ); 150 actionPerform(); 151 152 verifyInputForward(); 153 verifyActionErrors( new String [] { "mhf.domainexists" } ); 154 } 155 156 public void testValidateDashes() { 157 setRequestPathInfo( "/siteContext" ); 161 addRequestParameter( "action", "saveNew" ); 162 addRequestParameter( "id", "" ); 163 addRequestParameter( "domainsText", "method-head.com" ); 164 actionPerform(); 165 166 verifyForwardPath( "/siteContext.do?action=list" ); 167 verifyNoActionErrors(); 168 } 169 } 170 | Popular Tags |