mirror of
https://github.com/apache/struts.git
synced 2026-08-05 22:56:59 +00:00
WW-5326 test(ognl): update tests for StrutsContext migration
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
+2
-2
@@ -42,7 +42,7 @@ import org.apache.struts2.ognl.accessor.RootAccessor;
|
||||
import org.apache.struts2.util.ValueStack;
|
||||
import org.apache.struts2.util.ValueStackFactory;
|
||||
import org.apache.struts2.util.reflection.ReflectionContextState;
|
||||
import ognl.OgnlContext;
|
||||
import org.apache.struts2.ognl.StrutsContext;
|
||||
import org.apache.struts2.action.NoParameters;
|
||||
import org.apache.struts2.action.ParameterNameAware;
|
||||
import org.apache.struts2.action.ParameterValueAware;
|
||||
@@ -353,7 +353,7 @@ public class ParametersInterceptorTest extends XWorkTestCase {
|
||||
//then
|
||||
assertEquals("This is blah", ((SimpleAction) proxy.getAction()).getBlah());
|
||||
Field field = ReflectionContextState.class.getField("DENY_METHOD_EXECUTION");
|
||||
boolean allowStaticFieldAccess = ((OgnlContext) stack.getContext()).getMemberAccess().isAccessible((OgnlContext) stack.getContext(), ReflectionContextState.class, field, "");
|
||||
boolean allowStaticFieldAccess = ((StrutsContext) stack.getContext()).getMemberAccess().isAccessible((StrutsContext) stack.getContext(), ReflectionContextState.class, field, "");
|
||||
assertFalse(allowStaticFieldAccess);
|
||||
}
|
||||
|
||||
|
||||
@@ -23,7 +23,6 @@ import ognl.MethodFailedException;
|
||||
import ognl.NoSuchPropertyException;
|
||||
import ognl.NullHandler;
|
||||
import ognl.Ognl;
|
||||
import ognl.OgnlContext;
|
||||
import ognl.OgnlException;
|
||||
import ognl.OgnlRuntime;
|
||||
import ognl.SimpleNode;
|
||||
@@ -90,12 +89,12 @@ public class OgnlUtilTest extends XWorkTestCase {
|
||||
public void testCanSetADependentObject() {
|
||||
String dogName = "fido";
|
||||
|
||||
OgnlRuntime.setNullHandler(Owner.class, new NullHandler() {
|
||||
public Object nullMethodResult(OgnlContext context, Object o, String s, Object[] objects) {
|
||||
OgnlRuntime.setNullHandler(Owner.class, new NullHandler<StrutsContext>() {
|
||||
public Object nullMethodResult(StrutsContext context, Object o, String s, Object[] objects) {
|
||||
return null;
|
||||
}
|
||||
|
||||
public Object nullPropertyValue(OgnlContext context, Object o, Object o1) {
|
||||
public Object nullPropertyValue(StrutsContext context, Object o, Object o1) {
|
||||
String methodName = o1.toString();
|
||||
String getter = "set" + methodName.substring(0, 1).toUpperCase() + methodName.substring(1);
|
||||
Method[] methods = o.getClass().getDeclaredMethods();
|
||||
@@ -199,7 +198,7 @@ public class OgnlUtilTest extends XWorkTestCase {
|
||||
|
||||
public void testExpressionIsCachedIrrespectiveOfItsExecutionStatus() {
|
||||
Foo foo = new Foo();
|
||||
OgnlContext context = ognlUtil.createDefaultContext(foo);
|
||||
StrutsContext context = ognlUtil.createDefaultContext(foo);
|
||||
|
||||
// Expression which executes with success
|
||||
try {
|
||||
@@ -223,7 +222,7 @@ public class OgnlUtilTest extends XWorkTestCase {
|
||||
ognlUtil.setContainer(container); // Must be explicitly set as the generated OgnlUtil instance has no container
|
||||
ognlUtil.setEnableExpressionCache("true");
|
||||
Foo foo = new Foo();
|
||||
OgnlContext context = ognlUtil.createDefaultContext(foo);
|
||||
StrutsContext context = ognlUtil.createDefaultContext(foo);
|
||||
|
||||
// Expression which executes with success
|
||||
try {
|
||||
@@ -243,7 +242,7 @@ public class OgnlUtilTest extends XWorkTestCase {
|
||||
|
||||
public void testMethodExpressionIsCachedIrrespectiveOfItsExecutionStatus() {
|
||||
Foo foo = new Foo();
|
||||
OgnlContext context = ognlUtil.createDefaultContext(foo);
|
||||
StrutsContext context = ognlUtil.createDefaultContext(foo);
|
||||
|
||||
// Method expression which executes with success
|
||||
try {
|
||||
@@ -846,7 +845,7 @@ public class OgnlUtilTest extends XWorkTestCase {
|
||||
ChainingInterceptor foo = new ChainingInterceptor();
|
||||
ChainingInterceptor foo2 = new ChainingInterceptor();
|
||||
|
||||
OgnlContext context = ognlUtil.createDefaultContext(null);
|
||||
StrutsContext context = ognlUtil.createDefaultContext(null);
|
||||
SimpleNode expression = (SimpleNode) Ognl.parseExpression("{'a','ruby','b','tom'}");
|
||||
|
||||
Ognl.getValue(expression, context, "aksdj");
|
||||
@@ -903,7 +902,7 @@ public class OgnlUtilTest extends XWorkTestCase {
|
||||
public void testBeanMapExpressions() throws OgnlException, NoSuchMethodException {
|
||||
Foo foo = new Foo();
|
||||
|
||||
OgnlContext context = ognlUtil.createDefaultContext(foo);
|
||||
StrutsContext context = ognlUtil.createDefaultContext(foo);
|
||||
SecurityMemberAccess sma = (SecurityMemberAccess) context.getMemberAccess();
|
||||
|
||||
sma.useExcludedPackageNames("org.apache.struts2.ognl");
|
||||
|
||||
@@ -19,7 +19,6 @@
|
||||
package org.apache.struts2.ognl;
|
||||
|
||||
import ognl.MemberAccess;
|
||||
import ognl.OgnlContext;
|
||||
import org.apache.commons.lang3.reflect.FieldUtils;
|
||||
import org.apache.struts2.TestBean;
|
||||
import org.apache.struts2.config.ConfigurationException;
|
||||
@@ -55,7 +54,7 @@ import static org.mockito.Mockito.when;
|
||||
|
||||
public class SecurityMemberAccessTest {
|
||||
|
||||
private OgnlContext context;
|
||||
private StrutsContext context;
|
||||
private FooBar target;
|
||||
protected SecurityMemberAccess sma;
|
||||
protected ProviderAllowlist mockedProviderAllowlist;
|
||||
@@ -64,12 +63,12 @@ public class SecurityMemberAccessTest {
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
context = ognl.Ognl.createDefaultContext(null);
|
||||
target = new FooBar();
|
||||
mockedProviderAllowlist = mock(ProviderAllowlist.class);
|
||||
mockedThreadAllowlist = mock(ThreadAllowlist.class);
|
||||
proxyService = new StrutsProxyService(new StrutsProxyCacheFactory<>("1000", "basic"));
|
||||
assignNewSma(true);
|
||||
context = new StrutsContext(sma);
|
||||
}
|
||||
|
||||
protected void assignNewSma(boolean allowStaticFieldAccess) {
|
||||
|
||||
@@ -37,7 +37,6 @@ import org.apache.struts2.util.ValueStack;
|
||||
import org.apache.struts2.util.location.LocatableProperties;
|
||||
import org.apache.struts2.util.reflection.ReflectionContextState;
|
||||
import ognl.Ognl;
|
||||
import ognl.OgnlContext;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
@@ -57,7 +56,8 @@ public class SetPropertiesTest extends XWorkTestCase {
|
||||
|
||||
public void testOgnlUtilEmptyStringAsLong() {
|
||||
Bar bar = new Bar();
|
||||
OgnlContext context = Ognl.createDefaultContext(bar, new SecurityMemberAccess(null, null));
|
||||
StrutsContext context = new StrutsContext(new SecurityMemberAccess(null, null));
|
||||
context.withRoot(bar);
|
||||
context.put(XWorkConverter.REPORT_CONVERSION_ERRORS, Boolean.TRUE);
|
||||
bar.setId(null);
|
||||
|
||||
@@ -81,7 +81,7 @@ public class SetPropertiesTest extends XWorkTestCase {
|
||||
ValueStack vs = ActionContext.getContext().getValueStack();
|
||||
vs.getContext().put(XWorkConverter.REPORT_CONVERSION_ERRORS, Boolean.TRUE);
|
||||
|
||||
XWorkConverter c = (XWorkConverter) ((OgnlTypeConverterWrapper) Ognl.getTypeConverter((OgnlContext) vs.getContext())).getTarget();
|
||||
XWorkConverter c = (XWorkConverter) ((OgnlTypeConverterWrapper) ((StrutsContext) vs.getContext()).getTypeConverter()).getTarget();
|
||||
c.registerConverter(Cat.class.getName(), new FooBarConverter());
|
||||
vs.push(foo);
|
||||
|
||||
@@ -97,7 +97,7 @@ public class SetPropertiesTest extends XWorkTestCase {
|
||||
ValueStack vs = ActionContext.getContext().getValueStack();
|
||||
vs.getContext().put(XWorkConverter.REPORT_CONVERSION_ERRORS, Boolean.TRUE);
|
||||
|
||||
XWorkConverter c = (XWorkConverter) ((OgnlTypeConverterWrapper) Ognl.getTypeConverter((OgnlContext) vs.getContext())).getTarget();
|
||||
XWorkConverter c = (XWorkConverter) ((OgnlTypeConverterWrapper) ((StrutsContext) vs.getContext()).getTypeConverter()).getTarget();
|
||||
c.registerConverter(Cat.class.getName(), new FooBarConverter());
|
||||
vs.push(foo);
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ package org.apache.struts2.ognl;
|
||||
import ognl.ClassResolver;
|
||||
import ognl.MemberAccess;
|
||||
import ognl.TypeConverter;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.Test;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.mockito.Mockito.mock;
|
||||
|
||||
@@ -19,8 +19,8 @@
|
||||
package org.apache.struts2.util;
|
||||
|
||||
import org.apache.struts2.ognl.SecurityMemberAccess;
|
||||
import org.apache.struts2.ognl.StrutsContext;
|
||||
import jakarta.servlet.jsp.tagext.TagSupport;
|
||||
import ognl.OgnlContext;
|
||||
import org.apache.struts2.StrutsInternalTestCase;
|
||||
import org.apache.struts2.views.jsp.ActionTag;
|
||||
|
||||
@@ -28,12 +28,12 @@ import java.lang.reflect.Member;
|
||||
|
||||
public class SecurityMemberAccessInServletsTest extends StrutsInternalTestCase {
|
||||
|
||||
private OgnlContext context;
|
||||
private StrutsContext context;
|
||||
|
||||
@Override
|
||||
public void setUp() throws Exception {
|
||||
super.setUp();
|
||||
context = ognl.Ognl.createDefaultContext(null);
|
||||
context = new StrutsContext(new SecurityMemberAccess(null, null));
|
||||
}
|
||||
|
||||
public void testJavaxServletPackageAccess() throws Exception {
|
||||
|
||||
+6
-7
@@ -28,7 +28,7 @@ import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.springframework.aop.MethodBeforeAdvice;
|
||||
import org.springframework.aop.framework.ProxyFactory;
|
||||
import ognl.OgnlContext;
|
||||
import org.apache.struts2.ognl.StrutsContext;
|
||||
|
||||
import java.lang.reflect.Member;
|
||||
import java.lang.reflect.Method;
|
||||
@@ -43,7 +43,7 @@ public class SecurityMemberAccessProxyTest extends XWorkJUnit4TestCase {
|
||||
private static final String PROXY_MEMBER_METHOD = "isExposeProxy";
|
||||
private static final String TEST_SUB_BEAN_CLASS_METHOD = "getIssueId";
|
||||
|
||||
private OgnlContext context;
|
||||
private StrutsContext context;
|
||||
private ActionProxy proxy;
|
||||
private SecurityMemberAccess sma;
|
||||
private ProxyService proxyService;
|
||||
@@ -57,14 +57,13 @@ public class SecurityMemberAccessProxyTest extends XWorkJUnit4TestCase {
|
||||
XmlConfigurationProvider provider = new StrutsXmlConfigurationProvider("org/apache/struts2/spring/actionContext-xwork.xml");
|
||||
loadConfigurationProviders(provider);
|
||||
|
||||
context = ognl.Ognl.createDefaultContext(null);
|
||||
proxy = actionProxyFactory.createActionProxy(null, "chaintoAOPedTestSubBeanAction", null, context);
|
||||
proxyObjectProxyMember = proxy.getAction().getClass().getMethod(PROXY_MEMBER_METHOD);
|
||||
proxyObjectNonProxyMember = proxy.getAction().getClass().getMethod(TEST_SUB_BEAN_CLASS_METHOD);
|
||||
|
||||
proxyService = new StrutsProxyService(new StrutsProxyCacheFactory<>("1000", "basic"));
|
||||
sma = new SecurityMemberAccess(null, null);
|
||||
sma.setProxyService(proxyService);
|
||||
context = new StrutsContext(sma);
|
||||
proxy = actionProxyFactory.createActionProxy(null, "chaintoAOPedTestSubBeanAction", null, context);
|
||||
proxyObjectProxyMember = proxy.getAction().getClass().getMethod(PROXY_MEMBER_METHOD);
|
||||
proxyObjectNonProxyMember = proxy.getAction().getClass().getMethod(TEST_SUB_BEAN_CLASS_METHOD);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -19,9 +19,9 @@
|
||||
|
||||
package org.apache.tiles.ognl;
|
||||
|
||||
import ognl.OgnlContext;
|
||||
import ognl.OgnlException;
|
||||
import ognl.PropertyAccessor;
|
||||
import org.apache.struts2.ognl.StrutsContext;
|
||||
import org.junit.Test;
|
||||
|
||||
import static org.easymock.EasyMock.createMock;
|
||||
@@ -36,7 +36,7 @@ import static org.junit.Assert.assertEquals;
|
||||
public class DelegatePropertyAccessorTest {
|
||||
|
||||
/**
|
||||
* Test method for {@link DelegatePropertyAccessor#getProperty(OgnlContext, Object, Object)}.
|
||||
* Test method for {@link DelegatePropertyAccessor#getProperty(StrutsContext, Object, Object)}.
|
||||
*
|
||||
* @throws OgnlException If something goes wrong.
|
||||
*/
|
||||
@@ -44,7 +44,7 @@ public class DelegatePropertyAccessorTest {
|
||||
public void testGetProperty() throws OgnlException {
|
||||
PropertyAccessorDelegateFactory<Integer> factory = createMock(PropertyAccessorDelegateFactory.class);
|
||||
PropertyAccessor mockAccessor = createMock(PropertyAccessor.class);
|
||||
OgnlContext context = createMock(OgnlContext.class);
|
||||
StrutsContext context = createMock(StrutsContext.class);
|
||||
expect(factory.getPropertyAccessor("property", 1)).andReturn(mockAccessor);
|
||||
expect(mockAccessor.getProperty(context, 1, "property")).andReturn("value");
|
||||
|
||||
@@ -55,7 +55,7 @@ public class DelegatePropertyAccessorTest {
|
||||
}
|
||||
|
||||
/**
|
||||
* Test method for {@link DelegatePropertyAccessor#setProperty(OgnlContext, Object, Object, Object)}.
|
||||
* Test method for {@link DelegatePropertyAccessor#setProperty(StrutsContext, Object, Object, Object)}.
|
||||
*
|
||||
* @throws OgnlException If something goes wrong.
|
||||
*/
|
||||
@@ -63,7 +63,7 @@ public class DelegatePropertyAccessorTest {
|
||||
public void testSetProperty() throws OgnlException {
|
||||
PropertyAccessorDelegateFactory<Integer> factory = createMock(PropertyAccessorDelegateFactory.class);
|
||||
PropertyAccessor mockAccessor = createMock(PropertyAccessor.class);
|
||||
OgnlContext context = createMock(OgnlContext.class);
|
||||
StrutsContext context = createMock(StrutsContext.class);
|
||||
expect(factory.getPropertyAccessor("property", 1)).andReturn(mockAccessor);
|
||||
mockAccessor.setProperty(context, 1, "property", "value");
|
||||
|
||||
@@ -74,13 +74,13 @@ public class DelegatePropertyAccessorTest {
|
||||
}
|
||||
|
||||
/**
|
||||
* Test method for {@link DelegatePropertyAccessor#getSourceAccessor(OgnlContext, Object, Object)}.
|
||||
* Test method for {@link DelegatePropertyAccessor#getSourceAccessor(StrutsContext, Object, Object)}.
|
||||
*/
|
||||
@Test
|
||||
public void testGetSourceAccessor() {
|
||||
PropertyAccessorDelegateFactory<Integer> factory = createMock(PropertyAccessorDelegateFactory.class);
|
||||
PropertyAccessor mockAccessor = createMock(PropertyAccessor.class);
|
||||
OgnlContext context = createMock(OgnlContext.class);
|
||||
StrutsContext context = createMock(StrutsContext.class);
|
||||
expect(factory.getPropertyAccessor("property", 1)).andReturn(mockAccessor);
|
||||
expect(mockAccessor.getSourceAccessor(context, 1, "property")).andReturn("method");
|
||||
|
||||
@@ -91,13 +91,13 @@ public class DelegatePropertyAccessorTest {
|
||||
}
|
||||
|
||||
/**
|
||||
* Test method for {@link DelegatePropertyAccessor#getSourceSetter(OgnlContext, Object, Object)}.
|
||||
* Test method for {@link DelegatePropertyAccessor#getSourceSetter(StrutsContext, Object, Object)}.
|
||||
*/
|
||||
@Test
|
||||
public void testGetSourceSetter() {
|
||||
PropertyAccessorDelegateFactory<Integer> factory = createMock(PropertyAccessorDelegateFactory.class);
|
||||
PropertyAccessor mockAccessor = createMock(PropertyAccessor.class);
|
||||
OgnlContext context = createMock(OgnlContext.class);
|
||||
StrutsContext context = createMock(StrutsContext.class);
|
||||
expect(factory.getPropertyAccessor("property", 1)).andReturn(mockAccessor);
|
||||
expect(mockAccessor.getSourceSetter(context, 1, "property")).andReturn("method");
|
||||
|
||||
|
||||
+9
-9
@@ -18,9 +18,9 @@
|
||||
*/
|
||||
package org.apache.tiles.ognl;
|
||||
|
||||
import ognl.OgnlContext;
|
||||
import ognl.OgnlException;
|
||||
import ognl.PropertyAccessor;
|
||||
import org.apache.struts2.ognl.StrutsContext;
|
||||
import org.junit.Test;
|
||||
|
||||
import static org.easymock.EasyMock.*;
|
||||
@@ -32,7 +32,7 @@ import static org.junit.Assert.assertEquals;
|
||||
public class NestedObjectDelegatePropertyAccessorTest {
|
||||
|
||||
/**
|
||||
* Test method for {@link NestedObjectDelegatePropertyAccessor#getProperty(OgnlContext, Object, Object)}.
|
||||
* Test method for {@link NestedObjectDelegatePropertyAccessor#getProperty(StrutsContext, Object, Object)}.
|
||||
*
|
||||
* @throws OgnlException If something goes wrong.
|
||||
*/
|
||||
@@ -40,7 +40,7 @@ public class NestedObjectDelegatePropertyAccessorTest {
|
||||
public void testGetProperty() throws OgnlException {
|
||||
NestedObjectExtractor<Integer> nestedObjectExtractor = createMock(NestedObjectExtractor.class);
|
||||
PropertyAccessor propertyAccessor = createMock(PropertyAccessor.class);
|
||||
OgnlContext context = createMock(OgnlContext.class);
|
||||
StrutsContext context = createMock(StrutsContext.class);
|
||||
expect(propertyAccessor.getProperty(context, "nested", "property")).andReturn("value");
|
||||
expect(nestedObjectExtractor.getNestedObject(1)).andReturn("nested");
|
||||
|
||||
@@ -51,7 +51,7 @@ public class NestedObjectDelegatePropertyAccessorTest {
|
||||
}
|
||||
|
||||
/**
|
||||
* Test method for {@link NestedObjectDelegatePropertyAccessor#setProperty(OgnlContext, Object, Object, Object)}.
|
||||
* Test method for {@link NestedObjectDelegatePropertyAccessor#setProperty(StrutsContext, Object, Object, Object)}.
|
||||
*
|
||||
* @throws OgnlException If something goes wrong.
|
||||
*/
|
||||
@@ -59,7 +59,7 @@ public class NestedObjectDelegatePropertyAccessorTest {
|
||||
public void testSetProperty() throws OgnlException {
|
||||
NestedObjectExtractor<Integer> nestedObjectExtractor = createMock(NestedObjectExtractor.class);
|
||||
PropertyAccessor propertyAccessor = createMock(PropertyAccessor.class);
|
||||
OgnlContext context = createMock(OgnlContext.class);
|
||||
StrutsContext context = createMock(StrutsContext.class);
|
||||
propertyAccessor.setProperty(context, "nested", "property", "value");
|
||||
expect(nestedObjectExtractor.getNestedObject(1)).andReturn("nested");
|
||||
|
||||
@@ -70,13 +70,13 @@ public class NestedObjectDelegatePropertyAccessorTest {
|
||||
}
|
||||
|
||||
/**
|
||||
* Test method for {@link NestedObjectDelegatePropertyAccessor#getSourceAccessor(OgnlContext, Object, Object)}.
|
||||
* Test method for {@link NestedObjectDelegatePropertyAccessor#getSourceAccessor(StrutsContext, Object, Object)}.
|
||||
*/
|
||||
@Test
|
||||
public void testGetSourceAccessor() {
|
||||
NestedObjectExtractor<Integer> nestedObjectExtractor = createMock(NestedObjectExtractor.class);
|
||||
PropertyAccessor propertyAccessor = createMock(PropertyAccessor.class);
|
||||
OgnlContext context = createMock(OgnlContext.class);
|
||||
StrutsContext context = createMock(StrutsContext.class);
|
||||
expect(propertyAccessor.getSourceAccessor(context, "nested", "property")).andReturn("method");
|
||||
expect(nestedObjectExtractor.getNestedObject(1)).andReturn("nested");
|
||||
|
||||
@@ -87,13 +87,13 @@ public class NestedObjectDelegatePropertyAccessorTest {
|
||||
}
|
||||
|
||||
/**
|
||||
* Test method for {@link NestedObjectDelegatePropertyAccessor#getSourceSetter(OgnlContext, Object, Object)}.
|
||||
* Test method for {@link NestedObjectDelegatePropertyAccessor#getSourceSetter(StrutsContext, Object, Object)}.
|
||||
*/
|
||||
@Test
|
||||
public void testGetSourceSetter() {
|
||||
NestedObjectExtractor<Integer> nestedObjectExtractor = createMock(NestedObjectExtractor.class);
|
||||
PropertyAccessor propertyAccessor = createMock(PropertyAccessor.class);
|
||||
OgnlContext context = createMock(OgnlContext.class);
|
||||
StrutsContext context = createMock(StrutsContext.class);
|
||||
expect(propertyAccessor.getSourceSetter(context, "nested", "property")).andReturn("method");
|
||||
expect(nestedObjectExtractor.getNestedObject(1)).andReturn("nested");
|
||||
|
||||
|
||||
Reference in New Issue
Block a user