1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.shiro.guice;
20
21 import com.google.inject.TypeLiteral;
22 import com.google.inject.spi.TypeEncounter;
23 import org.apache.shiro.ShiroException;
24 import org.apache.shiro.util.Destroyable;
25 import org.apache.shiro.util.Initializable;
26 import org.junit.Test;
27
28 import static org.easymock.EasyMock.*;
29
30 public class LifecycleTypeListenerTest {
31 @Test
32 public void testHearInitializable() throws Exception {
33 TypeEncounter encounter = createMock(TypeEncounter.class);
34
35 encounter.register(anyObject(InitializableInjectionListener.class));
36
37 replay(encounter);
38
39 LifecycleTypeListener underTest = new LifecycleTypeListener(null);
40
41 underTest.hear(TypeLiteral.get(MyInitializable.class), encounter);
42
43 verify(encounter);
44 }
45
46 @Test
47 public void testHearDestroyable() throws Exception {
48 TypeEncounter encounter = createMock(TypeEncounter.class);
49
50 encounter.register(anyObject(DestroyableInjectionListener.class));
51
52 replay(encounter);
53
54 LifecycleTypeListener underTest = new LifecycleTypeListener(null);
55
56 underTest.hear(TypeLiteral.get(MyDestroyable.class), encounter);
57
58 verify(encounter);
59 }
60
61 static class MyInitializable implements Initializable {
62
63 public void init() throws ShiroException {
64
65 }
66 }
67
68 static class MyDestroyable implements Destroyable {
69 public void destroy() throws Exception {
70
71 }
72 }
73 }