1 package br.com.ibnetwork.guara.test; 2 3 import java.io.File; 4 import java.net.URL; 5 import java.util.HashMap; 6 import java.util.Map; 7 8 import javax.servlet.http.HttpServletRequest; 9 import javax.servlet.http.HttpServletResponse; 10 11 import br.com.ibnetwork.guara.modules.ModuleLoader; 12 import br.com.ibnetwork.guara.rundata.RunData; 13 import br.com.ibnetwork.guara.rundata.RunDataPool; 14 import br.com.ibnetwork.guara.test.mock.MockHttpServletRequest; 15 import br.com.ibnetwork.guara.test.mock.MockHttpServletResponse; 16 import br.com.ibnetwork.guara.view.Context; 17 import br.com.ibnetwork.guara.view.TemplateEngine; 18 import br.com.ibnetwork.xingu.container.Container; 19 import br.com.ibnetwork.xingu.container.ContainerUtils; 20 import junit.framework.TestCase; 21 22 /*** 23 * @author leandro 24 */ 25 public abstract class GuaraTestCase 26 extends TestCase 27 { 28 private static Container container; 29 30 protected RunDataPool runDataPool; 31 32 protected ModuleLoader loader; 33 34 protected TemplateEngine templateEngine; 35 36 public GuaraTestCase(String name) 37 { 38 super(name); 39 } 40 41 public GuaraTestCase() 42 { 43 super(); 44 } 45 46 protected Container getContainer() 47 throws Exception 48 { 49 if(container == null) 50 { 51 String fileName = getContainerFile(); 52 URL url = Thread.currentThread().getContextClassLoader().getResource(fileName); 53 container = ContainerUtils.createContainer(url.getFile()); 54 } 55 return container; 56 } 57 58 protected String getContainerFile() 59 { 60 return "guaraTest.xml"; 61 } 62 63 protected void backupResources() throws Exception {} 64 65 protected void restoreResources() throws Exception {} 66 67 protected void setUp() 68 throws Exception 69 { 70 Container c = getContainer(); 71 runDataPool = (RunDataPool) c.lookup(RunDataPool.class); 72 loader = (ModuleLoader) c.lookup(ModuleLoader.class); 73 templateEngine = (TemplateEngine) c.lookup(TemplateEngine.class); 74 backupResources(); 75 } 76 77 protected void tearDown() 78 throws Exception 79 { 80 runDataPool = null; 81 loader = null; 82 templateEngine = null; 83 restoreResources(); 84 } 85 86 protected Context createContext() 87 { 88 return templateEngine.createContext(); 89 } 90 91 protected RunData createRunData() 92 { 93 Map map = new HashMap(); 94 String path = ""; 95 return createRunData(map,path); 96 } 97 98 protected RunData createRunData(Map map, String path) 99 { 100 HttpServletRequest request = new MockHttpServletRequest(map,path); 101 HttpServletResponse response = new MockHttpServletResponse(); 102 RunData runData = runDataPool.create(request,response,null); 103 return runData; 104 } 105 106 public static File loadFile(String fileName) 107 { 108 URL url = Thread.currentThread().getContextClassLoader().getResource(fileName); 109 return new File(url.getFile()); 110 } 111 }