1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.commons.proxy2.interceptor;
19
20 import static org.junit.Assert.assertEquals;
21
22 import org.apache.commons.proxy2.Interceptor;
23 import org.apache.commons.proxy2.Invocation;
24 import org.apache.commons.proxy2.provider.ObjectProviderUtils;
25 import org.apache.commons.proxy2.util.AbstractTestCase;
26 import org.apache.commons.proxy2.util.Echo;
27 import org.junit.Test;
28
29 public class InterceptorUtilsTest extends AbstractTestCase
30 {
31 @Test
32 public void testConstant() throws Throwable
33 {
34 Interceptor interceptor = InterceptorUtils.constant("Hello!");
35 Invocation invocation = mockInvocation(Echo.class, "echoBack", String.class).withArguments("World!").build();
36 assertEquals("Hello!", interceptor.intercept(invocation));
37 }
38
39 @Test
40 public void testProvider() throws Throwable
41 {
42 Interceptor interceptor = InterceptorUtils.provider(ObjectProviderUtils.constant("Foo!"));
43 Invocation invocation = mockInvocation(Echo.class, "echoBack", String.class).withArguments("World!").build();
44 assertEquals("Foo!", interceptor.intercept(invocation));
45 }
46
47 @Test(expected = RuntimeException.class)
48 public void testThrowingExceptionObject() throws Throwable
49 {
50 Interceptor interceptor = InterceptorUtils.throwing(new RuntimeException("Oops!"));
51 Invocation invocation = mockInvocation(Echo.class, "echoBack", String.class).withArguments("World!").build();
52 interceptor.intercept(invocation);
53 }
54
55 @Test(expected = RuntimeException.class)
56 public void testThrowingProvidedException() throws Throwable
57 {
58 Interceptor interceptor = InterceptorUtils
59 .throwing(ObjectProviderUtils.constant(new RuntimeException("Oops!")));
60 Invocation invocation = mockInvocation(Echo.class, "echoBack", String.class).withArguments("World!").build();
61 interceptor.intercept(invocation);
62 }
63
64 }