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.aikp.*; 29 import com.methodhead.persistable.*; 30 import com.methodhead.test.*; 31 import com.methodhead.event.*; 32 import com.mockobjects.servlet.*; 33 34 public class SiteContextTest extends DbTestCase { 35 36 ResultSet rs = null; 37 SiteContext siteContext = null; 38 Event event = null; 39 40 public SiteContextTest( String name ) { 41 super( name ); 42 } 43 44 protected List list = null; 45 46 protected SiteContext siteContext2 = null; 47 protected SiteContext siteContext3 = null; 48 protected SiteContext siteContext4 = null; 49 50 protected SiteContext siteContext1_ = null; 51 protected SiteContext siteContext2_ = null; 52 53 protected void createData() { 54 siteContext1_ = new SiteContext(); 55 siteContext1_.getDomains().add( "www.methodhead.com" ); 56 siteContext1_.getDomains().add( "methodhead.com" ); 57 siteContext1_.saveNew(); 58 59 siteContext2_ = new SiteContext(); 60 siteContext2_.setString( "path", "sub" ); 61 siteContext2_.getDomains().add( "dh.com" ); 62 siteContext2_.getDomains().add( "dh.net" ); 63 siteContext2_.saveNew(); 64 65 Event.log( siteContext1_, "test event" ); 66 } 67 68 protected void setUp() { 69 try { 71 ConnectionSingleton.runBatchUpdate( new FileReader( "webapp/WEB-INF/db/transfer-reset.sql" ) ); 72 } 73 catch ( Exception e ) { 74 fail( e.getMessage() ); 75 } 76 } 77 78 protected void tearDown() { 79 } 80 81 public void testHashCode() { 82 try { 83 SiteContext siteContext = null; 84 85 siteContext = new SiteContext(); 86 87 assertEquals( 0, siteContext.hashCode() ); 88 89 siteContext.setInt( "id", 666 ); 90 91 assertEquals( 666, siteContext.hashCode() ); 92 } 93 catch ( Exception e ) { 94 e.printStackTrace(); 95 fail(); 96 } 97 } 98 99 public void testEquals() { 100 try { 101 SiteContext siteContext1 = null; 102 SiteContext siteContext2 = null; 103 104 siteContext1 = new SiteContext(); 105 siteContext2 = new SiteContext(); 106 107 assertTrue( !siteContext1.equals( null ) ); 108 assertTrue( !siteContext1.equals( new String () ) ); 109 assertTrue( siteContext1.equals( siteContext2 ) ); 110 111 siteContext2.setInt( "id", 666 ); 112 113 assertTrue( !siteContext1.equals( siteContext2 ) ); 114 } 115 catch ( Exception e ) { 116 e.printStackTrace(); 117 fail(); 118 } 119 } 120 121 public void testToString() { 122 try { 123 siteContext = new SiteContext(); 124 assertEquals( "SiteContext (no domains)", siteContext.toString() ); 125 126 siteContext.getDomains().add( "methodhead.com" ); 127 siteContext.getDomains().add( "danhensgen.com" ); 128 assertEquals( "methodhead.com", siteContext.toString() ); 129 130 siteContext.setString( "path", "test" ); 131 assertEquals( "methodhead.com/test", siteContext.toString() ); 132 } 133 catch ( Exception e ) { 134 e.printStackTrace(); 135 fail(); 136 } 137 } 138 139 public void testSaveNew() { 140 try { 141 SiteContext siteContext = null; 142 ResultSet rs = null; 143 144 siteContext = new SiteContext(); 145 siteContext.getDomains().add( "methodhead.com" ); 146 siteContext.getDomains().add( "www.methodhead.com" ); 147 siteContext.saveNew(); 148 rs = ConnectionSingleton.runQuery( "SELECT path FROM mh_sitecontext WHERE id=" + siteContext.getInt( "id" ) ); 149 150 assertNotNull( rs ); 151 assertTrue( rs.next() ); 152 assertEquals( "", rs.getString( "path" ) ); 153 assertTrue( !rs.next() ); 154 155 ConnectionSingleton.close( rs); 156 rs = ConnectionSingleton.runQuery( "SELECT name,rank FROM mh_domain WHERE sitecontext_id=" + siteContext.getInt( "id" ) ); 157 158 assertNotNull( rs ); 159 assertTrue( rs.next() ); 160 assertEquals( "methodhead.com", rs.getString( "name" ) ); 161 assertEquals( 0, rs.getInt( "rank" ) ); 162 assertTrue( rs.next() ); 163 assertEquals( "www.methodhead.com", rs.getString( "name" ) ); 164 assertEquals( 1, rs.getInt( "rank" ) ); 165 assertTrue( !rs.next() ); 166 167 ConnectionSingleton.close( rs); 168 } 169 catch ( Exception e ) { 170 e.printStackTrace(); 171 fail(); 172 } 173 } 174 175 public void testLoad() { 176 try { 177 SiteContext siteContext = null; 178 createData(); 179 180 siteContext = new SiteContext(); 181 siteContext.load( new IntKey( siteContext1_.getInt( "id" ) ) ); 182 183 assertEquals( "", siteContext.getString( "path" ) ); 184 assertNotNull( siteContext.getDomains() ); 185 assertEquals( 2, siteContext.getDomains().size() ); 186 assertEquals( "www.methodhead.com", siteContext.getDomains().get( 0 ) ); 187 assertEquals( "methodhead.com", siteContext.getDomains().get( 1 ) ); 188 } 189 catch ( Exception e ) { 190 e.printStackTrace(); 191 fail(); 192 } 193 } 194 195 public void testSave() { 196 try { 197 ResultSet rs = null; 198 SiteContext siteContext = null; 199 createData(); 200 201 siteContext = new SiteContext(); 202 siteContext.load( new IntKey( siteContext1_.getInt( "id" ) ) ); 203 siteContext.getDomains().clear(); 204 siteContext.save(); 205 rs = ConnectionSingleton.runQuery( "SELECT name FROM mh_domain WHERE sitecontext_id=" + siteContext.getInt( "id" ) ); 206 207 assertNotNull( rs ); 208 assertTrue( !rs.next() ); 209 210 ConnectionSingleton.close( rs ); 211 siteContext.getDomains().add( "www.methodhead.com" ); 212 siteContext.getDomains().add( "methodhead.com" ); 213 siteContext.save(); 214 rs = ConnectionSingleton.runQuery( "SELECT name FROM mh_domain WHERE sitecontext_id=" + siteContext.getInt( "id" ) + " ORDER BY rank" ); 215 216 assertNotNull( rs ); 217 assertTrue( rs.next() ); 218 assertEquals( "www.methodhead.com", rs.getString( "name" ) ); 219 assertTrue( rs.next() ); 220 assertEquals( "methodhead.com", rs.getString( "name" ) ); 221 assertTrue( !rs.next() ); 222 223 ConnectionSingleton.close( rs ); 224 } 225 catch ( Exception e ) { 226 e.printStackTrace(); 227 fail(); 228 } 229 } 230 231 public void testDelete() { 232 try { 233 ResultSet rs = null; 234 SiteContext siteContext = null; 235 createData(); 236 237 siteContext = new SiteContext(); 238 siteContext.load( new IntKey( siteContext1_.getInt( "id" ) ) ); 239 siteContext.delete(); 240 rs = ConnectionSingleton.runQuery( "SELECT path FROM mh_sitecontext WHERE id=" + siteContext.getInt( "id" ) ); 241 242 assertNotNull( rs ); 243 assertTrue( !rs.next() ); 244 245 ConnectionSingleton.close( rs); 246 rs = ConnectionSingleton.runQuery( "SELECT name FROM mh_domain WHERE sitecontext_id=" + siteContext.getInt( "id" ) ); 247 248 assertNotNull( rs ); 249 assertTrue( !rs.next() ); 250 251 ConnectionSingleton.close( rs); 252 253 event = new Event(); 254 event.setSiteContext( siteContext1_ ); 255 list = event.getEvents( null, null ); 256 assertEquals( 0, list.size() ); 257 } 258 catch ( Exception e ) { 259 e.printStackTrace(); 260 fail(); 261 } 262 } 263 264 public void testGetDefaultContext() { 265 try { 266 siteContext = SiteContext.getDefaultContext(); 267 268 assertNotNull( siteContext ); 269 assertEquals( 0, siteContext.getInt( "id" ) ); 270 assertEquals( "", siteContext.getString( "path" ) ); 271 assertEquals( 1, siteContext.getDomains().size() ); 272 assertEquals( SiteContext.DEFAULTDOMAIN, siteContext.getDomains().get( 0 ) ); 273 274 rs = ConnectionSingleton.runQuery( "SELECT path FROM mh_sitecontext WHERE id=0" ); 275 276 assertTrue( rs.next() ); 277 assertEquals( "", rs.getString( "path" ) ); 278 279 ConnectionSingleton.close( rs ); 280 281 rs = ConnectionSingleton.runQuery( "SELECT name FROM mh_domain WHERE sitecontext_id=0" ); 282 283 assertTrue( rs.next() ); 284 assertEquals( SiteContext.DEFAULTDOMAIN, rs.getString( "name" ) ); 285 286 ConnectionSingleton.close( rs ); 287 288 siteContext.setString( "path", "foo" ); 289 siteContext.getDomains().add( "www.methodhead.com" ); 290 siteContext.save(); 291 siteContext = SiteContext.getDefaultContext(); 292 293 assertNotNull( siteContext ); 294 assertEquals( 0, siteContext.getInt( "id" ) ); 295 assertEquals( "foo", siteContext.getString( "path" ) ); 296 assertEquals( 2, siteContext.getDomains().size() ); 297 } 298 catch ( Exception e ) { 299 e.printStackTrace(); 300 fail(); 301 } 302 } 303 304 public void testSetContext() { 305 try { 306 SiteContext siteContext = null; 307 MockHttpServletRequest request = null; 308 MockHttpSession session = null; 309 310 session = new MockHttpSession(); 311 request = new MockHttpServletRequest(); 312 request.setSession( session ); 313 session.setExpectedAttribute( SiteContext.SITECONTEXT_KEY, siteContext ); 314 SiteContext.setContext( request, siteContext ); 315 316 session.verify(); 317 } 318 catch ( Exception e ) { 319 e.printStackTrace(); 320 fail(); 321 } 322 } 323 324 public void testGetContext() { 325 try { 326 SiteContext siteContext = null; 327 SiteContext siteContext2 = null; 328 MockHttpServletRequest request = null; 329 MockHttpSession session = null; 330 331 365 } 366 catch ( Exception e ) { 367 e.printStackTrace(); 368 fail(); 369 } 370 } 371 372 public void testLoadForDomainAndPath() { 373 try { 374 createData(); 375 SiteContext context = null; 376 377 context = new SiteContext(); 378 379 assertTrue( !context.loadForDomainAndPath( "foo.com", "" ) ); 380 assertTrue( context.loadForDomainAndPath( "methodhead.com", "" ) ); 381 assertEquals( siteContext1_, context ); 382 assertEquals( "www.methodhead.com", siteContext1_.getDomains().get( 0 ) ); 383 assertTrue( !context.loadForDomainAndPath( "dh.com", "" ) ); 384 assertTrue( context.loadForDomainAndPath( "dh.com", "sub" ) ); 385 assertEquals( siteContext2_, context ); 386 assertTrue( context.loadForDomainAndPath( "dh.net", "sub" ) ); 387 assertEquals( siteContext2_, context ); 388 } 389 catch ( Exception e ) { 390 e.printStackTrace(); 391 fail(); 392 } 393 } 394 395 public void testCompareTo() { 396 try { 397 siteContext = new SiteContext(); siteContext2 = new SiteContext(); siteContext3 = new SiteContext(); siteContext4 = new SiteContext(); 402 siteContext.getDomains().add( "aaa" ); 403 siteContext2.getDomains().add( "bbb" ); 404 siteContext3.getDomains().add( "aaa" ); 405 siteContext3.setString( "path", "aaa" ); 406 siteContext4.getDomains().add( "aaa" ); 407 siteContext4.setString( "path", "bbb" ); 408 409 assertTrue( siteContext.compareTo( null ) < 0 ); 410 assertTrue( siteContext.compareTo( new Integer ( 666 ) ) < 0 ); 411 assertTrue( siteContext.compareTo( siteContext2 ) < 0 ); 412 assertTrue( siteContext.compareTo( siteContext ) == 0 ); 413 assertTrue( siteContext2.compareTo( siteContext ) > 0 ); 414 assertTrue( siteContext.compareTo( siteContext3 ) < 0 ); 415 assertTrue( siteContext3.compareTo( siteContext ) > 0 ); 416 assertTrue( siteContext3.compareTo( siteContext4 ) < 0 ); 417 assertTrue( siteContext4.compareTo( siteContext3 ) > 0 ); 418 } 419 catch ( Exception e ) { 420 e.printStackTrace(); 421 fail(); 422 } 423 } 424 425 public void testLoadAll() { 426 try { 427 createData(); 428 429 list = SiteContext.loadAll(); 430 assertNotNull( list ); 431 assertEquals( 2, list.size() ); 432 433 siteContext = ( SiteContext )list.get( 0 ); 434 assertTrue( siteContext.compareTo( siteContext2_ ) == 0 ); 435 436 siteContext = ( SiteContext )list.get( 1 ); 437 assertTrue( siteContext.compareTo( siteContext1_ ) == 0 ); 438 } 439 catch ( Exception e ) { 440 e.printStackTrace(); 441 fail(); 442 } 443 } 444 } 445 | Popular Tags |