Search in sources :

Example 21 with Mock

use of com.mockobjects.dynamic.Mock in project struts by apache.

the class StrutsLocalizedTextProviderTest method testActionGetText.

public void testActionGetText() throws Exception {
    ModelDrivenAction2 action = new ModelDrivenAction2();
    container.inject(action);
    TestBean2 bean = (TestBean2) action.getModel();
    Bar bar = new Bar();
    bean.setBarObj(bar);
    Mock mockActionInvocation = new Mock(ActionInvocation.class);
    mockActionInvocation.expectAndReturn("getAction", action);
    ActionContext.getContext().withActionInvocation((ActionInvocation) mockActionInvocation.proxy());
    ActionContext.getContext().getValueStack().push(action);
    ActionContext.getContext().getValueStack().push(action.getModel());
    String message = action.getText("barObj.title");
    assertEquals("Title:", message);
}
Also used : ModelDrivenAction2(com.opensymphony.xwork2.test.ModelDrivenAction2) TestBean2(com.opensymphony.xwork2.test.TestBean2) Mock(com.mockobjects.dynamic.Mock)

Example 22 with Mock

use of com.mockobjects.dynamic.Mock in project struts by apache.

the class ConfigurationManagerTest method setUp.

@Override
protected void setUp() throws Exception {
    super.setUp();
    configurationManager.destroyConfiguration();
    configProviderMock = new Mock(ConfigurationProvider.class);
    configProviderMock.matchAndReturn("equals", C.ANY_ARGS, false);
    ConfigurationProvider mockProvider = (ConfigurationProvider) configProviderMock.proxy();
    configurationManager.addContainerProvider(new StrutsDefaultConfigurationProvider());
    configurationManager.addContainerProvider(mockProvider);
    // the first time it always inits
    configProviderMock.expect("init", C.isA(Configuration.class));
    configProviderMock.expect("register", C.ANY_ARGS);
    configProviderMock.expect("loadPackages", C.ANY_ARGS);
    configProviderMock.matchAndReturn("toString", "mock");
    configuration = configurationManager.getConfiguration();
}
Also used : StrutsDefaultConfigurationProvider(com.opensymphony.xwork2.config.providers.StrutsDefaultConfigurationProvider) StrutsDefaultConfigurationProvider(com.opensymphony.xwork2.config.providers.StrutsDefaultConfigurationProvider) Mock(com.mockobjects.dynamic.Mock)

Example 23 with Mock

use of com.mockobjects.dynamic.Mock in project struts by apache.

the class ChainResultTest method testNamespaceAndActionExpressionEvaluation.

public void testNamespaceAndActionExpressionEvaluation() throws Exception {
    ActionChainResult result = new ActionChainResult();
    result.setActionName("${actionName}");
    result.setNamespace("${namespace}");
    String expectedActionName = "testActionName";
    String expectedNamespace = "testNamespace";
    Map<String, Object> values = new HashMap<>();
    values.put("actionName", expectedActionName);
    values.put("namespace", expectedNamespace);
    ValueStack stack = ActionContext.getContext().getValueStack();
    stack.push(values);
    Mock actionProxyMock = new Mock(ActionProxy.class);
    actionProxyMock.matchAndReturn("getActionName", expectedActionName);
    actionProxyMock.matchAndReturn("getMethod", "execute");
    actionProxyMock.expect("execute");
    ActionProxyFactory testActionProxyFactory = new NamespaceActionNameTestActionProxyFactory(expectedNamespace, expectedActionName, (ActionProxy) actionProxyMock.proxy());
    result.setActionProxyFactory(testActionProxyFactory);
    ActionProxy actionProxy = (ActionProxy) actionProxyMock.proxy();
    result.setActionProxyFactory(testActionProxyFactory);
    Mock invocationMock = new Mock(ActionInvocation.class);
    invocationMock.matchAndReturn("getProxy", actionProxy);
    invocationMock.matchAndReturn("getInvocationContext", ActionContext.getContext());
    result.execute((ActionInvocation) invocationMock.proxy());
    actionProxyMock.verify();
}
Also used : ValueStack(com.opensymphony.xwork2.util.ValueStack) HashMap(java.util.HashMap) Mock(com.mockobjects.dynamic.Mock)

Example 24 with Mock

use of com.mockobjects.dynamic.Mock in project struts by apache.

the class ChainResultTest method testWithNoNamespace.

public void testWithNoNamespace() throws Exception {
    ActionChainResult result = new ActionChainResult();
    result.setActionName("${actionName}");
    String expectedActionName = "testActionName";
    String expectedNamespace = "${1-1}";
    Map<String, Object> values = new HashMap<>();
    values.put("actionName", expectedActionName);
    ValueStack stack = ActionContext.getContext().getValueStack();
    stack.push(values);
    Mock actionProxyMock = new Mock(ActionProxy.class);
    actionProxyMock.expect("execute");
    actionProxyMock.expectAndReturn("getNamespace", expectedNamespace);
    actionProxyMock.expectAndReturn("getActionName", expectedActionName);
    actionProxyMock.expectAndReturn("getMethod", null);
    ActionProxy actionProxy = (ActionProxy) actionProxyMock.proxy();
    ActionProxyFactory testActionProxyFactory = new NamespaceActionNameTestActionProxyFactory(expectedNamespace, expectedActionName, actionProxy);
    result.setActionProxyFactory(testActionProxyFactory);
    Mock invocationMock = new Mock(ActionInvocation.class);
    invocationMock.matchAndReturn("getProxy", actionProxy);
    invocationMock.matchAndReturn("getInvocationContext", ActionContext.getContext());
    try {
        ActionContext.bind(stack.getActionContext());
        result.execute((ActionInvocation) invocationMock.proxy());
        actionProxyMock.verify();
    } finally {
        ActionContext.clear();
    }
}
Also used : ValueStack(com.opensymphony.xwork2.util.ValueStack) HashMap(java.util.HashMap) Mock(com.mockobjects.dynamic.Mock)

Example 25 with Mock

use of com.mockobjects.dynamic.Mock in project struts by apache.

the class ContentTypeHandlerManagerTest method testHandlerOverride.

public void testHandlerOverride() {
    Mock mockHandlerXml = new Mock(ContentTypeHandler.class);
    mockHandlerXml.matchAndReturn("getExtension", "xml");
    mockHandlerXml.matchAndReturn("getContentType", "application/xml");
    mockHandlerXml.matchAndReturn("toString", "xml");
    Mock mockHandlerJson = new Mock(ContentTypeHandler.class);
    mockHandlerJson.matchAndReturn("getExtension", "json");
    mockHandlerJson.matchAndReturn("getContentType", "application/javascript");
    mockHandlerJson.matchAndReturn("toString", "json");
    Mock mockHandlerXmlOverride = new Mock(ContentTypeHandler.class);
    mockHandlerXmlOverride.matchAndReturn("getExtension", "xml");
    mockHandlerXmlOverride.matchAndReturn("toString", "xmlOverride");
    mockHandlerXmlOverride.matchAndReturn("getContentType", "application/xml");
    Mock mockContainer = new Mock(Container.class);
    mockContainer.matchAndReturn("getInstance", C.args(C.eq(ContentTypeHandler.class), C.eq("xmlOverride")), mockHandlerXmlOverride.proxy());
    mockContainer.matchAndReturn("getInstance", C.args(C.eq(ContentTypeHandler.class), C.eq("xml")), mockHandlerXml.proxy());
    mockContainer.matchAndReturn("getInstance", C.args(C.eq(ContentTypeHandler.class), C.eq("json")), mockHandlerJson.proxy());
    mockContainer.expectAndReturn("getInstanceNames", C.args(C.eq(ContentTypeHandler.class)), new HashSet<>(Arrays.asList("xml", "xmlOverride", "json")));
    mockContainer.matchAndReturn("getInstance", C.args(C.eq(String.class), C.eq(ContentTypeHandlerManager.STRUTS_REST_HANDLER_OVERRIDE_PREFIX + "xml")), "xmlOverride");
    mockContainer.expectAndReturn("getInstance", C.args(C.eq(String.class), C.eq(ContentTypeHandlerManager.STRUTS_REST_HANDLER_OVERRIDE_PREFIX + "json")), null);
    DefaultContentTypeHandlerManager mgr = new DefaultContentTypeHandlerManager();
    mgr.setContainer((Container) mockContainer.proxy());
    Map<String, ContentTypeHandler> handlers = mgr.handlersByExtension;
    assertNotNull(handlers);
    assertEquals(2, handlers.size());
    assertEquals(mockHandlerXmlOverride.proxy(), handlers.get("xml"));
    assertEquals(mockHandlerJson.proxy(), handlers.get("json"));
}
Also used : AbstractContentTypeHandler(org.apache.struts2.rest.handler.AbstractContentTypeHandler) ContentTypeHandler(org.apache.struts2.rest.handler.ContentTypeHandler) Mock(com.mockobjects.dynamic.Mock)

Aggregations

Mock (com.mockobjects.dynamic.Mock)91 HashMap (java.util.HashMap)14 ValidationException (com.opensymphony.xwork2.validator.ValidationException)12 StrutsException (org.apache.struts2.StrutsException)12 MockHttpServletRequest (org.springframework.mock.web.MockHttpServletRequest)11 ActionInvocation (com.opensymphony.xwork2.ActionInvocation)10 MockHttpServletResponse (org.springframework.mock.web.MockHttpServletResponse)10 HttpServletRequest (javax.servlet.http.HttpServletRequest)9 HttpServletResponse (javax.servlet.http.HttpServletResponse)9 ActionContext (com.opensymphony.xwork2.ActionContext)8 TreeMap (java.util.TreeMap)8 ActionProxy (com.opensymphony.xwork2.ActionProxy)6 HttpParameters (org.apache.struts2.dispatcher.HttpParameters)6 MockHttpSession (org.springframework.mock.web.MockHttpSession)6 ActionConfig (com.opensymphony.xwork2.config.entities.ActionConfig)4 Container (com.opensymphony.xwork2.inject.Container)4 MockActionInvocation (com.opensymphony.xwork2.mock.MockActionInvocation)4 ModelDrivenAction2 (com.opensymphony.xwork2.test.ModelDrivenAction2)4 LinkedHashMap (java.util.LinkedHashMap)4 Action (com.opensymphony.xwork2.Action)3