add OgnlTest. #2954

pull/2957/head
hengyunabc 2 months ago
parent aa23a4acc9
commit 4e931cbe83

@ -0,0 +1,9 @@
package com.taobao.arthas.core.command.express;
public class FlowAttribute {
private String bxApp = "aaa";
public String getBxApp() {
return this.bxApp ;
}
}

@ -0,0 +1,9 @@
package com.taobao.arthas.core.command.express;
public class FlowContext {
private FlowAttribute flowAttribute = new FlowAttribute();
public FlowAttribute getFlowAttribute() {
return this.flowAttribute ;
}
}

@ -0,0 +1,46 @@
package com.taobao.arthas.core.command.express;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import com.taobao.arthas.core.advisor.Advice;
import ognl.OgnlException;
import static org.junit.jupiter.api.Assertions.assertTrue;
/**
* https://github.com/alibaba/arthas/issues/2954
*/
public class OgnlTest {
private Express express;
@BeforeEach
public void setUp() throws OgnlException, ExpressException {
FlowContext context = new FlowContext();
Object[] params = new Object[4];
params[0] = context;
Advice advice = Advice.newForAfterReturning(null, getClass(), null, null, params, null);
express = ExpressFactory.unpooledExpress(null).bind(advice).bind("cost", 123);
}
@Test
public void testStringEquals() throws OgnlException, ExpressException {
String conditionExpress = "\"aaa\".equals(params[0].flowAttribute.getBxApp())";
boolean result = express.is(conditionExpress);
assertTrue(result);
}
@Test
public void testObjectEquals() throws OgnlException, ExpressException {
String conditionExpress = "params[0].flowAttribute.getBxApp().equals(\"aaa\")";
boolean result = express.is(conditionExpress);
assertTrue(result);
}
@Test
public void testEqualSign() throws OgnlException, ExpressException {
String conditionExpress = "\"aaa\" == params[0].flowAttribute.getBxApp()";
boolean result = express.is(conditionExpress);
assertTrue(result);
}
}
Loading…
Cancel
Save