use of jp.ossc.nimbus.service.aop.DefaultMethodInvocationContext in project nimbus by nimbus-org.
the class MockInterceptorServiceTest method test2.
public void test2() throws Throwable {
ServiceManagerFactory.registerManager("Test");
MockInterceptorService interceptor = new MockInterceptorService();
ServiceManagerFactory.registerService("Test", "MockInterceptor", interceptor);
final Method targetMethod = String.class.getMethod("toString", (Class[]) null);
MockFactory mockFactory = new MockFactory() {
public Object createMock(InvocationContext context) {
assertNotNull(context);
assertTrue(context instanceof MethodInvocationContext);
MethodInvocationContext ctx = (MethodInvocationContext) context;
assertEquals("Real", ctx.getTargetObject());
assertEquals(targetMethod, ctx.getTargetMethod());
return "Mock";
}
};
try {
ServiceManagerFactory.findManager("Test").createAllService();
interceptor.setMockFactory(mockFactory);
ServiceManagerFactory.findManager("Test").startAllService();
final InterceptorChain chain = new DefaultInterceptorChain(new DefaultInterceptorChainList(new Interceptor[] { interceptor }), new MethodReflectionCallInvokerService());
assertEquals("Mock", chain.invokeNext(new DefaultMethodInvocationContext("Real", targetMethod, null)));
} finally {
ServiceManagerFactory.findManager("Test").stopAllService();
ServiceManagerFactory.findManager("Test").destroyAllService();
ServiceManagerFactory.unregisterManager("Test");
}
}
use of jp.ossc.nimbus.service.aop.DefaultMethodInvocationContext in project nimbus by nimbus-org.
the class MockInterceptorServiceTest method test4.
public void test4() throws Throwable {
ServiceManagerFactory.registerManager("Test");
MockInterceptorService interceptor = new MockInterceptorService();
ServiceManagerFactory.registerService("Test", "MockInterceptor", interceptor);
final Method targetMethod = String.class.getMethod("toString", (Class[]) null);
try {
ServiceManagerFactory.findManager("Test").createAllService();
interceptor.setMock("Mock");
ServiceManagerFactory.findManager("Test").startAllService();
final InterceptorChain chain = new DefaultInterceptorChain(new DefaultInterceptorChainList(new Interceptor[] { interceptor }), new MethodReflectionCallInvokerService());
assertEquals("Mock", chain.invokeNext(new DefaultMethodInvocationContext("Real", targetMethod, null)));
} finally {
ServiceManagerFactory.findManager("Test").stopAllService();
ServiceManagerFactory.findManager("Test").destroyAllService();
ServiceManagerFactory.unregisterManager("Test");
}
}
use of jp.ossc.nimbus.service.aop.DefaultMethodInvocationContext in project nimbus by nimbus-org.
the class MockInterceptorServiceTest method test3.
public void test3() throws Throwable {
ServiceManagerFactory.registerManager("Test");
MockInterceptorService interceptor = new MockInterceptorService();
ServiceManagerFactory.registerService("Test", "MockInterceptor", interceptor);
final Method targetMethod = String.class.getMethod("toString", (Class[]) null);
ServiceManagerFactory.registerService("Test", "Mock", "Mock");
try {
ServiceManagerFactory.findManager("Test").createAllService();
interceptor.setMockServiceName(new ServiceName("Test", "Mock"));
ServiceManagerFactory.findManager("Test").startAllService();
final InterceptorChain chain = new DefaultInterceptorChain(new DefaultInterceptorChainList(new Interceptor[] { interceptor }), new MethodReflectionCallInvokerService());
assertEquals("Mock", chain.invokeNext(new DefaultMethodInvocationContext("Real", targetMethod, null)));
} finally {
ServiceManagerFactory.findManager("Test").stopAllService();
ServiceManagerFactory.findManager("Test").destroyAllService();
ServiceManagerFactory.unregisterManager("Test");
}
}
use of jp.ossc.nimbus.service.aop.DefaultMethodInvocationContext in project nimbus by nimbus-org.
the class ExceptionConsumeInterceptorServiceTest method test5.
public void test5() throws Throwable {
ServiceManagerFactory.registerManager("Test");
ExceptionConsumeInterceptorService interceptor1 = new ExceptionConsumeInterceptorService();
ServiceManagerFactory.registerService("Test", "ExceptionConsumeInterceptor", interceptor1);
Interceptor interceptor2 = new Interceptor() {
public Object invoke(InvocationContext context, InterceptorChain chain) throws Throwable {
throw new IllegalArgumentException();
}
};
try {
ServiceManagerFactory.findManager("Test").createAllService();
interceptor1.setExceptionClassNames(new String[] { "java.lang.IllegalArgumentException", "java.lang.UnsupportedOperationException" });
interceptor1.setReturnValue("hoge");
ServiceManagerFactory.findManager("Test").startAllService();
Object ret = new DefaultInterceptorChain(new DefaultInterceptorChainList(new Interceptor[] { interceptor1, interceptor2 }), new Invoker() {
public Object invoke(InvocationContext context) throws Throwable {
return "test";
}
}).invokeNext(new DefaultMethodInvocationContext(new Properties(), Properties.class.getMethod("getProperty", new Class[] { String.class }), new Object[] { "fuga" }));
assertEquals("hoge", ret);
} finally {
ServiceManagerFactory.findManager("Test").stopAllService();
ServiceManagerFactory.findManager("Test").destroyAllService();
ServiceManagerFactory.unregisterManager("Test");
}
}
use of jp.ossc.nimbus.service.aop.DefaultMethodInvocationContext in project nimbus by nimbus-org.
the class ExceptionConsumeInterceptorServiceTest method test1.
public void test1() throws Throwable {
ServiceManagerFactory.registerManager("Test");
ExceptionConsumeInterceptorService interceptor1 = new ExceptionConsumeInterceptorService();
ServiceManagerFactory.registerService("Test", "ExceptionConsumeInterceptor", interceptor1);
Interceptor interceptor2 = new Interceptor() {
public Object invoke(InvocationContext context, InterceptorChain chain) throws Throwable {
throw new IllegalArgumentException();
}
};
try {
ServiceManagerFactory.findManager("Test").createAllService();
interceptor1.setExceptionClassNames(new String[] { "java.lang.IllegalArgumentException", "java.lang.UnsupportedOperationException" });
interceptor1.setLoggerMessageCode("WARN");
interceptor1.setLoggerMessageArgs(new String[] { "例外が発生しました。握り潰します。" });
interceptor1.setLoggingException(true);
ServiceManagerFactory.findManager("Test").startAllService();
Object ret = new DefaultInterceptorChain(new DefaultInterceptorChainList(new Interceptor[] { interceptor1, interceptor2 }), new Invoker() {
public Object invoke(InvocationContext context) throws Throwable {
return "test";
}
}).invokeNext(new DefaultMethodInvocationContext());
assertNull(ret);
} finally {
ServiceManagerFactory.findManager("Test").stopAllService();
ServiceManagerFactory.findManager("Test").destroyAllService();
ServiceManagerFactory.unregisterManager("Test");
}
}
Aggregations