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);
}
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();
}
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();
}
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();
}
}
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"));
}
Aggregations