1 22 package org.jboss.test.cmp2.cacheinvalidation.test; 23 24 import org.jboss.test.JBossTestCase; 25 import org.jboss.test.cmp2.cacheinvalidation.ejb.Facade; 26 import org.jboss.test.cmp2.cacheinvalidation.ejb.FacadeHome; 27 import junit.framework.Test; 28 29 import javax.naming.InitialContext ; 30 import javax.naming.NamingException ; 31 32 36 public class CacheInvalidationUnitTestCase 37 extends JBossTestCase 38 { 39 public CacheInvalidationUnitTestCase(String name) 40 { 41 super(name); 42 } 43 44 public static Test suite() throws Exception 45 { 46 return getDeploySetup(CacheInvalidationUnitTestCase.class, "cmp2-cacheinvalidation.jar"); 47 } 48 49 public void testBasicInvalidation() throws Exception 50 { 51 Facade facade = getFacadeHome().create(); 52 53 try 54 { 55 facade.setup(); 56 57 Long pk = new Long (1); 58 String cName = facade.readFirstName("CROLocal", pk); 59 assertEquals("Avoka", cName); 60 61 cName = facade.readFirstName("CRWLocal", pk); 62 assertEquals("Avoka", cName); 63 64 facade.writeFirstName("CRWLocal", pk, "Ataka"); 65 66 cName = facade.readFirstName("CROLocal", pk); 67 assertEquals("Ataka", cName); 68 69 cName = facade.readFirstName("CRWLocal", pk); 70 assertEquals("Ataka", cName); 71 } 72 finally 73 { 74 facade.tearDown(); 75 } 76 } 77 78 public void testCmrInvalidation() throws Exception 79 { 80 Facade facade = getFacadeHome().create(); 81 82 try 83 { 84 facade.setup(); 85 86 Long pk = new Long (1); 87 String aName = facade.readRelatedAFirstName("CROLocal", pk); 88 assertEquals("Ataka", aName); 89 90 aName = facade.readRelatedAFirstName("CRWLocal", pk); 91 assertEquals("Ataka", aName); 92 93 facade.removeA("ARWLocal", new Long (2)); 94 95 aName = facade.readRelatedAFirstName("CROLocal", pk); 96 assertNull(aName); 97 98 aName = facade.readRelatedAFirstName("CRWLocal", pk); 99 assertNull(aName); 100 } 101 finally 102 { 103 facade.tearDown(); 104 } 105 } 106 107 private static final FacadeHome getFacadeHome() 108 { 109 InitialContext ctx = null; 110 try 111 { 112 ctx = new InitialContext (); 113 return (FacadeHome)ctx.lookup(FacadeHome.JNDI_NAME); 114 } 115 catch(NamingException e) 116 { 117 throw new IllegalStateException ("Failed to look up jndi binding " + FacadeHome.JNDI_NAME + ": " + e.getMessage()); 118 } 119 } 120 } 121 | Popular Tags |