1 22 package org.jboss.test.web.test; 23 24 import java.net.HttpURLConnection ; 25 import java.net.URL ; 26 import java.util.List ; 27 28 import javax.management.MBeanServerConnection ; 29 import javax.management.MBeanServerInvocationHandler ; 30 import javax.management.ObjectName ; 31 32 import org.apache.commons.httpclient.Cookie; 33 import org.apache.commons.httpclient.Header; 34 import org.apache.commons.httpclient.HttpClient; 35 import org.apache.commons.httpclient.HttpState; 36 import org.apache.commons.httpclient.HttpMethodBase; 37 import org.apache.commons.httpclient.methods.PostMethod; 38 import org.apache.commons.httpclient.methods.GetMethod; 39 import org.jboss.test.JBossTestCase; 40 import org.jboss.test.JBossTestSetup; 41 import org.jboss.test.util.web.HttpUtils; 42 import org.jboss.security.plugins.JaasSecurityManagerServiceMBean; 43 import junit.framework.Test; 44 import junit.framework.TestSuite; 45 46 51 public class CustomErrorsUnitTestCase extends JBossTestCase 52 { 53 private String baseURLNoAuth = HttpUtils.getBaseURLNoAuth(); 54 55 public CustomErrorsUnitTestCase(String name) 56 { 57 super(name); 58 } 59 60 64 public void test404Error() throws Exception 65 { 66 log.info("+++ test404Error"); 67 int errorCode = HttpURLConnection.HTTP_NOT_FOUND; 68 URL url = new URL (baseURLNoAuth+"error-producer/ErrorGeneratorServlet?errorCode="+errorCode); 69 HttpMethodBase request = HttpUtils.accessURL(url, "Realm", 70 HttpURLConnection.HTTP_NOT_FOUND); 71 Header errors = request.getResponseHeader("X-CustomErrorPage"); 72 log.info("X-CustomErrorPage: "+errors); 73 assertTrue("X-CustomErrorPage("+errors+") is 404.jsp", 74 errors.getValue().equals("404.jsp")); 75 } 76 77 81 public void test500Error() throws Exception 82 { 83 log.info("+++ test500Error"); 84 int errorCode = HttpURLConnection.HTTP_INTERNAL_ERROR; 85 URL url = new URL (baseURLNoAuth+"error-producer/ErrorGeneratorServlet?errorCode="+errorCode); 86 HttpMethodBase request = HttpUtils.accessURL(url, "Realm", 87 HttpURLConnection.HTTP_INTERNAL_ERROR); 88 Header errors = request.getResponseHeader("X-CustomErrorPage"); 89 log.info("X-CustomErrorPage: "+errors); 90 assertTrue("X-CustomErrorPage("+errors+") is 500.jsp", 91 errors.getValue().equals("500.jsp")); 92 } 93 94 98 public void testExceptionError() throws Exception 99 { 100 log.info("+++ testExceptionError"); 101 URL url = new URL (baseURLNoAuth+"error-producer/ErrorGeneratorServlet"); 102 HttpMethodBase request = HttpUtils.accessURL(url, "Realm", 103 HttpURLConnection.HTTP_INTERNAL_ERROR); 104 Header page = request.getResponseHeader("X-CustomErrorPage"); 105 log.info("X-CustomErrorPage: "+page); 106 assertTrue("X-CustomErrorPage("+page+") is 500.jsp", 107 page.getValue().equals("500.jsp")); 108 Header errors = request.getResponseHeader("X-ExceptionType"); 109 log.info("X-ExceptionType: "+errors); 110 assertTrue("X-ExceptionType("+errors+") is 500.jsp", 111 errors.getValue().equals("java.lang.IllegalStateException")); 112 } 113 114 116 public static Test suite() throws Exception 117 { 118 TestSuite suite = new TestSuite(); 119 suite.addTest(new TestSuite(CustomErrorsUnitTestCase.class)); 120 121 Test wrapper = new JBossTestSetup(suite) 123 { 124 protected void setUp() throws Exception 125 { 126 super.setUp(); 127 deploy("custom-errors.war"); 128 deploy("error-producer.war"); 129 } 130 protected void tearDown() throws Exception 131 { 132 undeploy("custom-errors.war"); 133 undeploy("error-producer.war"); 134 super.tearDown(); 135 } 136 }; 137 return wrapper; 138 } 139 } 140 | Popular Tags |