1 package org.apache.onami.lifecycle.jsr250;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import com.google.inject.ConfigurationException;
23 import com.google.inject.ProvisionException;
24 import org.junit.Test;
25
26 import javax.annotation.PostConstruct;
27
28 import static com.google.inject.Guice.createInjector;
29 import static org.junit.Assert.assertTrue;
30
31 public final class PostConstructTestCase
32 {
33
34 private boolean afterInjectionInvoked = false;
35
36 @PostConstruct
37 public void init()
38 {
39 afterInjectionInvoked = true;
40 }
41
42 @Test
43 public void afterInjectionAnnotatedMethodInvocation()
44 {
45 createInjector( new PostConstructModule() )
46 .getMembersInjector( PostConstructTestCase.class )
47 .injectMembers( this );
48 assertTrue( afterInjectionInvoked );
49 }
50
51 @Test( expected = ConfigurationException.class )
52 public void afterInjectionAnnotatedMethodRequiresNoArgs()
53 {
54 createInjector( new PostConstructModule() ).getInstance( WrongAfterInjectionMethod.class );
55 }
56
57 @Test( expected = ProvisionException.class )
58 public void afterInjectionAnnotatedMethodThrowsException()
59 {
60 createInjector( new PostConstructModule() ).getInstance( ThrowingExceptionAfterInjectionMethod.class );
61 }
62
63 }