?? xfirewebannotationshandlermappingtest.java
字號:
package org.codehaus.xfire.spring.remoting;/** * @author Arjen Poutsma */import java.lang.reflect.Method;import java.util.Collections;import java.util.Properties;import org.codehaus.xfire.aegis.AbstractXFireAegisTest;import org.codehaus.xfire.aegis.type.DefaultTypeMappingRegistry;import org.codehaus.xfire.annotations.AnnotationServiceFactory;import org.codehaus.xfire.annotations.AnnotationsEmptyValidator;import org.codehaus.xfire.annotations.WebAnnotations;import org.codehaus.xfire.annotations.WebMethodAnnotation;import org.codehaus.xfire.annotations.WebServiceAnnotation;import org.codehaus.xfire.spring.remoting.Jsr181HandlerMapping;import org.codehaus.xfire.test.EchoImpl;import org.easymock.MockControl;import org.springframework.beans.MutablePropertyValues;import org.springframework.mock.web.MockHttpServletRequest;import org.springframework.web.context.support.StaticWebApplicationContext;public class XFireWebAnnotationsHandlerMappingTest extends AbstractXFireAegisTest{ private Jsr181HandlerMapping handlerMapping; private MockControl control; private WebAnnotations webAnnotations; public void setUp() throws Exception { super.setUp(); handlerMapping = new Jsr181HandlerMapping(); control = MockControl.createControl(WebAnnotations.class); webAnnotations = (WebAnnotations) control.getMock(); handlerMapping.setWebAnnotations(webAnnotations); handlerMapping.setXfire(getXFire()); handlerMapping.setTypeMappingRegistry(new DefaultTypeMappingRegistry(true)); } public void testHandler() throws Exception { StaticWebApplicationContext appContext = new StaticWebApplicationContext(); appContext.registerSingleton("echo", EchoImpl.class, new MutablePropertyValues()); webAnnotations.hasWebServiceAnnotation(EchoImpl.class); control.setReturnValue(true); webAnnotations.hasHandlerChainAnnotation(EchoImpl.class); control.setReturnValue(false); webAnnotations.hasSOAPBindingAnnotation(EchoImpl.class); control.setReturnValue(false); webAnnotations.hasWebServiceAnnotation(EchoImpl.class); control.setReturnValue(true); WebServiceAnnotation serviceAnnotation = new WebServiceAnnotation(); serviceAnnotation.setServiceName("EchoService"); webAnnotations.getWebServiceAnnotation(EchoImpl.class); control.setReturnValue(serviceAnnotation); webAnnotations.getWebServiceAnnotation(EchoImpl.class); control.setReturnValue(serviceAnnotation); Method echoMethod = EchoImpl.class.getMethod("echo", new Class[]{String.class}); webAnnotations.hasWebMethodAnnotation(echoMethod); control.setDefaultReturnValue(true); webAnnotations.hasWebMethodAnnotation(echoMethod); control.setDefaultReturnValue(true); WebMethodAnnotation wma = new WebMethodAnnotation(); wma.setOperationName("echo"); webAnnotations.getWebMethodAnnotation(echoMethod); control.setDefaultReturnValue(wma); webAnnotations.hasWebParamAnnotation(echoMethod, 0); control.setDefaultReturnValue(false); webAnnotations.hasWebResultAnnotation(echoMethod); control.setDefaultReturnValue(false); webAnnotations.hasOnewayAnnotation(echoMethod); control.setDefaultReturnValue(false); webAnnotations.getServiceProperties(EchoImpl.class); control.setDefaultReturnValue(new Properties()); webAnnotations.getInHandlers(EchoImpl.class); control.setDefaultReturnValue(Collections.EMPTY_LIST); webAnnotations.getOutHandlers(EchoImpl.class); control.setDefaultReturnValue(Collections.EMPTY_LIST); webAnnotations.getFaultHandlers(EchoImpl.class); control.setDefaultReturnValue(Collections.EMPTY_LIST); control.replay(); String urlPrefix = "/services/"; handlerMapping.setUrlPrefix(urlPrefix); handlerMapping.setValidator(new AnnotationsEmptyValidator()); handlerMapping.setApplicationContext(appContext); MockHttpServletRequest request = new MockHttpServletRequest("GET", urlPrefix + "EchoService"); Object handler = handlerMapping.getHandler(request); assertNotNull("No valid handler is returned", handler); control.verify(); } public void testNoAnnotation() throws Exception { StaticWebApplicationContext appContext = new StaticWebApplicationContext(); appContext.registerSingleton("echo", EchoImpl.class, new MutablePropertyValues()); webAnnotations.hasWebServiceAnnotation(EchoImpl.class); control.setReturnValue(false); control.replay(); handlerMapping.setValidator(new AnnotationsEmptyValidator()); handlerMapping.setApplicationContext(appContext); MockHttpServletRequest request = new MockHttpServletRequest("GET", "/services/EchoService"); Object handler = handlerMapping.getHandler(request); assertNull("Handler is returned", handler); control.verify(); }}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -