📄 testrequestutils.java
字号:
"/context/forward",
result);
// redirect=true, contextRelative=true
forward = moduleConfig.findForwardConfig("contextRedirect");
assertNotNull("contextRedirect found", forward);
result = RequestUtils.forwardURL(request, forward, null);
assertNotNull("contextRedirect computed", result);
assertEquals("contextRedirct value",
"/context/redirect",
result);
// noslash, contextRelative=false
forward = moduleConfig.findForwardConfig("moduleNoslash");
assertNotNull("moduleNoslash found", forward);
result = RequestUtils.forwardURL(request, forward, null);
assertNotNull("moduleNoslash computed", result);
assertEquals("moduleNoslash value",
"/module/noslash",
result);
// noslash, contextRelative=true
forward = moduleConfig.findForwardConfig("contextNoslash");
assertNotNull("contextNoslash found", forward);
result = RequestUtils.forwardURL(request, forward, null);
assertNotNull("contextNoslash computed", result);
assertEquals("contextNoslash value",
"/context/noslash",
result);
}
// Second module (default forwardPattern)
public void testForwardURL2() {
request.setAttribute(Globals.MODULE_KEY, moduleConfig2);
request.setPathElements("/myapp", "/2/action.do", null, null);
ForwardConfig forward = null;
String result = null;
// redirect=false, contextRelative=false
forward = moduleConfig2.findForwardConfig("moduleForward");
assertNotNull("moduleForward found", forward);
result = RequestUtils.forwardURL(request, forward, null);
assertNotNull("moduleForward computed", result);
assertEquals("moduleForward value",
"/2/module/forward",
result);
// redirect=true, contextRelative=false
forward = moduleConfig2.findForwardConfig("moduleRedirect");
assertNotNull("moduleRedirect found", forward);
result = RequestUtils.forwardURL(request, forward, null);
assertNotNull("moduleRedirect computed", result);
assertEquals("moduleRedirect value",
"/2/module/redirect",
result);
// redirect=false, contextRelative=true
forward = moduleConfig2.findForwardConfig("contextForward");
assertNotNull("contextForward found", forward);
result = RequestUtils.forwardURL(request, forward, null);
assertNotNull("contextForward computed", result);
assertEquals("contextForward value",
"/context/forward",
result);
// redirect=true, contextRelative=true
forward = moduleConfig2.findForwardConfig("contextRedirect");
assertNotNull("contextRedirect found", forward);
result = RequestUtils.forwardURL(request, forward, null);
assertNotNull("contextRedirect computed", result);
assertEquals("contextRedirct value",
"/context/redirect",
result);
// noslash, contextRelative=false
forward = moduleConfig2.findForwardConfig("moduleNoslash");
assertNotNull("moduleNoslash found", forward);
result = RequestUtils.forwardURL(request, forward, null);
assertNotNull("moduleNoslash computed", result);
assertEquals("moduleNoslash value",
"/2/module/noslash",
result);
// noslash, contextRelative=true
forward = moduleConfig2.findForwardConfig("contextNoslash");
assertNotNull("contextNoslash found", forward);
result = RequestUtils.forwardURL(request, forward, null);
assertNotNull("contextNoslash computed", result);
assertEquals("contextNoslash value",
"/context/noslash",
result);
}
// Third module (custom forwardPattern)
public void testForwardURL3() {
request.setAttribute(Globals.MODULE_KEY, moduleConfig3);
request.setPathElements("/myapp", "/3/action.do", null, null);
ForwardConfig forward = null;
String result = null;
// redirect=false, contextRelative=false
forward = moduleConfig3.findForwardConfig("moduleForward");
assertNotNull("moduleForward found", forward);
result = RequestUtils.forwardURL(request, forward, null);
assertNotNull("moduleForward computed", result);
assertEquals("moduleForward value",
"/forwarding/3/module/forward",
result);
// redirect=true, contextRelative=false
forward = moduleConfig3.findForwardConfig("moduleRedirect");
assertNotNull("moduleRedirect found", forward);
result = RequestUtils.forwardURL(request, forward, null);
assertNotNull("moduleRedirect computed", result);
assertEquals("moduleRedirect value",
"/forwarding/3/module/redirect",
result);
// redirect=false, contextRelative=true
forward = moduleConfig3.findForwardConfig("contextForward");
assertNotNull("contextForward found", forward);
result = RequestUtils.forwardURL(request, forward, null);
assertNotNull("contextForward computed", result);
assertEquals("contextForward value",
"/context/forward",
result);
// redirect=true, contextRelative=true
forward = moduleConfig3.findForwardConfig("contextRedirect");
assertNotNull("contextRedirect found", forward);
result = RequestUtils.forwardURL(request, forward, null);
assertNotNull("contextRedirect computed", result);
assertEquals("contextRedirct value",
"/context/redirect",
result);
// noslash, contextRelative=false
forward = moduleConfig3.findForwardConfig("moduleNoslash");
assertNotNull("moduleNoslash found", forward);
result = RequestUtils.forwardURL(request, forward, null);
assertNotNull("moduleNoslash computed", result);
assertEquals("moduleNoslash value",
"/forwarding/3/module/noslash",
result);
// noslash, contextRelative=true
forward = moduleConfig3.findForwardConfig("contextNoslash");
assertNotNull("contextNoslash found", forward);
result = RequestUtils.forwardURL(request, forward, null);
assertNotNull("contextNoslash computed", result);
assertEquals("contextNoslash value",
"/context/noslash",
result);
}
// Cross module forwards
public void testForwardURLa() {
request.setAttribute(Globals.MODULE_KEY, moduleConfig);
request.setPathElements("/myapp", "/action.do", null, null);
ForwardConfig forward = null;
String result = null;
// redirect=false, contextRelative=false, link to module 3
forward = moduleConfig3.findForwardConfig("moduleForward");
assertNotNull("moduleForward found", forward);
result = RequestUtils.forwardURL(request, forward, moduleConfig3);
assertNotNull("moduleForward computed", result);
assertEquals("moduleForward value",
"/forwarding/3/module/forward",
result);
// redirect=true, contextRelative=false, link to module 3
forward = moduleConfig3.findForwardConfig("moduleRedirect");
assertNotNull("moduleRedirect found", forward);
result = RequestUtils.forwardURL(request, forward, moduleConfig3);
assertNotNull("moduleRedirect computed", result);
assertEquals("moduleRedirect value",
"/forwarding/3/module/redirect",
result);
// redirect=false, contextRelative=true, link to module 3
forward = moduleConfig3.findForwardConfig("contextForward");
assertNotNull("contextForward found", forward);
result = RequestUtils.forwardURL(request, forward, moduleConfig3);
assertNotNull("contextForward computed", result);
assertEquals("contextForward value",
"/context/forward",
result);
// redirect=true, contextRelative=true, link to module 3
forward = moduleConfig3.findForwardConfig("contextRedirect");
assertNotNull("contextRedirect found", forward);
result = RequestUtils.forwardURL(request, forward, moduleConfig3);
assertNotNull("contextRedirect computed", result);
assertEquals("contextRedirct value",
"/context/redirect",
result);
// noslash, contextRelative=false, link to module 3
forward = moduleConfig3.findForwardConfig("moduleNoslash");
assertNotNull("moduleNoslash found", forward);
result = RequestUtils.forwardURL(request, forward, moduleConfig3);
assertNotNull("moduleNoslash computed", result);
assertEquals("moduleNoslash value",
"/forwarding/3/module/noslash",
result);
// noslash, contextRelative=true, link to module 3
forward = moduleConfig3.findForwardConfig("contextNoslash");
assertNotNull("contextNoslash found", forward);
result = RequestUtils.forwardURL(request, forward, moduleConfig3);
assertNotNull("contextNoslash computed", result);
assertEquals("contextNoslash value",
"/context/noslash",
result);
}
// -------------------------------------------------------------- pageURL()
// Default module (default pagePattern)
public void testPageURL1() {
request.setAttribute(Globals.MODULE_KEY, moduleConfig);
request.setPathElements("/myapp", "/action.do", null, null);
String page = null;
String result = null;
// Straight substitution
page = "/mypages/index.jsp";
result = RequestUtils.pageURL(request, page);
assertNotNull("straight sub found", result);
assertEquals("straight sub value",
"/mypages/index.jsp", result);
}
// Second module (default pagePattern)
public void testPageURL2() {
request.setAttribute(Globals.MODULE_KEY, moduleConfig2);
request.setPathElements("/myapp", "/2/action.do", null, null);
String page = null;
String result = null;
// Straight substitution
page = "/mypages/index.jsp";
result = RequestUtils.pageURL(request, page);
assertNotNull("straight sub found", result);
assertEquals("straight sub value",
"/2/mypages/index.jsp", result);
}
// Third module (custom pagePattern)
public void testPageURL3() {
request.setAttribute(Globals.MODULE_KEY, moduleConfig3);
request.setPathElements("/myapp", "/3/action.do", null, null);
String page = null;
String result = null;
// Straight substitution
page = "/mypages/index.jsp";
result = RequestUtils.pageURL(request, page);
assertNotNull("straight sub found", result);
assertEquals("straight sub value",
"/paging/3/mypages/index.jsp", result);
}
// ----------------------------------------------------------- requestURL()
public void testRequestURL() {
request.setPathElements("/myapp", "/foo.do", null, null);
String url = null;
try {
url = RequestUtils.requestURL(request).toString();
} catch (MalformedURLException e) {
fail("MalformedURLException: " + e);
}
assertNotNull("URL was returned", url);
assertEquals("URL value",
"http://localhost:8080/myapp/foo.do",
url);
}
// ---------------------------------------------------- selectApplication()
// Map to the default module -- direct
public void testSelectApplication1a() {
request.setPathElements("/myapp", "/noform.do", null, null);
ModuleUtils.getInstance().selectModule(request, context);
ModuleConfig moduleConfig = (ModuleConfig)
request.getAttribute(Globals.MODULE_KEY);
assertNotNull("Selected a module", moduleConfig);
assertEquals("Selected correct module",
"", moduleConfig.getPrefix());
// FIXME - check module resources?
}
// Map to the second module -- direct
public void testSelectApplication1b() {
String[] prefixes = { "/1", "/2" };
context.setAttribute(Globals.MODULE_PREFIXES_KEY, prefixes);
request.setPathElements("/myapp", "/2/noform.do", null, null);
ModuleUtils.getInstance().selectModule(request, context);
ModuleConfig moduleConfig = (ModuleConfig)
request.getAttribute(Globals.MODULE_KEY);
assertNotNull("Selected a module", moduleConfig);
assertEquals("Selected correct module",
"/2", moduleConfig.getPrefix());
// FIXME - check module resources?
}
// Map to the default module -- include
public void testSelectApplication2a() {
request.setPathElements("/myapp", "/2/noform.do", null, null);
request.setAttribute(RequestProcessor.INCLUDE_SERVLET_PATH,
"/noform.do");
ModuleUtils.getInstance().selectModule(request, context);
ModuleConfig moduleConfig = (ModuleConfig)
request.getAttribute(Globals.MODULE_KEY);
assertNotNull("Selected an application", moduleConfig);
assertEquals("Selected correct application",
"", moduleConfig.getPrefix());
// FIXME - check application resources?
}
// Map to the second module -- include
public void testSelectApplication2b() {
String[] prefixes = { "/1", "/2" };
context.setAttribute(Globals.MODULE_PREFIXES_KEY, prefixes);
request.setPathElements("/myapp", "/noform.do", null, null);
request.setAttribute(RequestProcessor.INCLUDE_SERVLET_PATH,
"/2/noform.do");
ModuleUtils.getInstance().selectModule(request, context);
ModuleConfig moduleConfig = (ModuleConfig)
request.getAttribute(Globals.MODULE_KEY);
assertNotNull("Selected a module", moduleConfig);
assertEquals("Selected correct module",
"/2", moduleConfig.getPrefix());
// FIXME - check application resources?
}
// ------------------------------------------------------------ serverURL()
// Basic test on values in mock objects
public void testServerURL() {
String url = null;
try {
url = RequestUtils.serverURL(request).toString();
} catch (MalformedURLException e) {
fail("Threw MalformedURLException: " + e);
}
assertNotNull("serverURL is present", url);
assertEquals("serverURL value",
"http://localhost:8080",
url);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -