Commit b05799466d64fc6f48897de5614712b7e4293715
1 parent
07d06b49
Exists in
master
Testes unitários da classe AbstractBootstrap
Showing
1 changed file
with
120 additions
and
35 deletions
Show diff stats
impl/core/src/test/java/br/gov/frameworkdemoiselle/internal/bootstrap/AbstractBootstrapTest.java
... | ... | @@ -41,88 +41,173 @@ import static org.powermock.api.easymock.PowerMock.mockStatic; |
41 | 41 | import static org.powermock.api.easymock.PowerMock.replayAll; |
42 | 42 | import static org.powermock.api.easymock.PowerMock.verifyAll; |
43 | 43 | |
44 | -import java.util.Locale; | |
45 | - | |
46 | 44 | import javax.enterprise.inject.spi.AfterBeanDiscovery; |
47 | 45 | import javax.inject.Scope; |
48 | 46 | |
49 | 47 | import org.easymock.EasyMock; |
50 | -import org.junit.Ignore; | |
48 | +import org.junit.After; | |
49 | +import org.junit.Assert; | |
51 | 50 | import org.junit.Test; |
52 | 51 | import org.junit.runner.RunWith; |
53 | 52 | import org.powermock.api.easymock.PowerMock; |
54 | 53 | import org.powermock.core.classloader.annotations.PrepareForTest; |
55 | 54 | import org.powermock.modules.junit4.PowerMockRunner; |
56 | -import org.powermock.reflect.Whitebox; | |
57 | 55 | import org.slf4j.Logger; |
58 | 56 | |
59 | 57 | import br.gov.frameworkdemoiselle.internal.context.Contexts; |
60 | 58 | import br.gov.frameworkdemoiselle.internal.context.ThreadLocalContext; |
61 | 59 | import br.gov.frameworkdemoiselle.internal.producer.LoggerProducer; |
62 | -import br.gov.frameworkdemoiselle.internal.producer.ResourceBundleProducer; | |
63 | -import br.gov.frameworkdemoiselle.util.ResourceBundle; | |
64 | 60 | |
65 | -@Ignore | |
66 | 61 | @RunWith(PowerMockRunner.class) |
67 | 62 | @PrepareForTest({ LoggerProducer.class, Contexts.class }) |
68 | 63 | public class AbstractBootstrapTest { |
69 | 64 | |
65 | + @After | |
66 | + public void afterTests() { | |
67 | + for(int x=0; x < Contexts.getActiveContexts().size(); x++) | |
68 | + Contexts.getActiveContexts().remove(x); | |
69 | + | |
70 | + for(int x=0; x < Contexts.getInactiveContexts().size(); x++) | |
71 | + Contexts.getInactiveContexts().remove(x); | |
72 | + } | |
73 | + | |
70 | 74 | @Test |
71 | - @SuppressWarnings({ "unchecked", "static-access" }) | |
72 | - public void testAddContext() { | |
75 | + @SuppressWarnings({ "unchecked"}) | |
76 | + public void testAddContextThatIsNotActive() { | |
73 | 77 | mockStatic(LoggerProducer.class); |
74 | - mockStatic(Contexts.class); | |
75 | - | |
76 | 78 | Logger logger = PowerMock.createMock(Logger.class); |
77 | 79 | logger.trace(EasyMock.anyObject(String.class)); |
78 | - | |
79 | 80 | expect(LoggerProducer.create(EasyMock.anyObject(Class.class))).andReturn(logger); |
81 | + replayAll(logger, LoggerProducer.class); | |
80 | 82 | |
81 | - ResourceBundle bundle = PowerMock.createMock(ResourceBundle.class); | |
82 | - expect(bundle.getString(EasyMock.anyObject(String.class), EasyMock.anyObject(String.class))).andReturn(null); | |
83 | + ThreadLocalContext context = new ThreadLocalContext(Scope.class); | |
83 | 84 | |
84 | - ResourceBundleProducer bundleFactory = PowerMock.createMock(ResourceBundleProducer.class); | |
85 | - expect(bundleFactory.create(EasyMock.anyObject(String.class), EasyMock.anyObject(Locale.class))).andReturn( | |
86 | - bundle); | |
85 | + AbstractBootstrap.addContext(context, null); | |
87 | 86 | |
88 | - Whitebox.setInternalState(AbstractBootstrap.class, "bundleFactory", bundleFactory); | |
87 | + Assert.assertTrue(context.isActive()); | |
88 | + Assert.assertEquals(1, Contexts.getActiveContexts().size()); | |
89 | + } | |
90 | + | |
91 | + @Test | |
92 | + @SuppressWarnings({ "unchecked"}) | |
93 | + public void testAddContextThatIsActive() { | |
94 | + mockStatic(LoggerProducer.class); | |
95 | + Logger logger = PowerMock.createMock(Logger.class); | |
96 | + logger.trace(EasyMock.anyObject(String.class)); | |
97 | + expect(LoggerProducer.create(EasyMock.anyObject(Class.class))).andReturn(logger); | |
98 | + replayAll(logger, LoggerProducer.class); | |
89 | 99 | |
90 | 100 | ThreadLocalContext context = new ThreadLocalContext(Scope.class); |
91 | - Contexts.add(EasyMock.anyObject(ThreadLocalContext.class), EasyMock.anyObject(AfterBeanDiscovery.class)); | |
92 | - replayAll(bundle, bundleFactory, logger, LoggerProducer.class, Contexts.class); | |
93 | - | |
101 | + Contexts.getActiveContexts().add(context); | |
102 | + | |
94 | 103 | AbstractBootstrap.addContext(context, null); |
95 | 104 | |
96 | - verifyAll(); | |
105 | + Assert.assertFalse(context.isActive()); | |
106 | + Assert.assertEquals(1, Contexts.getInactiveContexts().size()); | |
97 | 107 | } |
98 | 108 | |
99 | 109 | @Test |
100 | - @SuppressWarnings({ "unchecked", "static-access" }) | |
101 | - public void testDisableContext() { | |
110 | + @SuppressWarnings({ "unchecked"}) | |
111 | + public void testAddContextThatEventIsNotNull() { | |
102 | 112 | mockStatic(LoggerProducer.class); |
103 | - mockStatic(Contexts.class); | |
104 | - | |
105 | 113 | Logger logger = PowerMock.createMock(Logger.class); |
106 | 114 | logger.trace(EasyMock.anyObject(String.class)); |
107 | 115 | expect(LoggerProducer.create(EasyMock.anyObject(Class.class))).andReturn(logger); |
116 | + AfterBeanDiscovery event = PowerMock.createMock(AfterBeanDiscovery.class); | |
108 | 117 | |
109 | - ResourceBundle bundle = PowerMock.createMock(ResourceBundle.class); | |
110 | - expect(bundle.getString(EasyMock.anyObject(String.class), EasyMock.anyObject(String.class))).andReturn(null); | |
118 | + ThreadLocalContext context = new ThreadLocalContext(Scope.class); | |
119 | + event.addContext(context); | |
120 | + | |
121 | + replayAll(logger, LoggerProducer.class); | |
111 | 122 | |
112 | - ResourceBundleProducer bundleFactory = PowerMock.createMock(ResourceBundleProducer.class); | |
113 | - expect(bundleFactory.create(EasyMock.anyObject(String.class), EasyMock.anyObject(Locale.class))).andReturn( | |
114 | - bundle); | |
115 | 123 | |
116 | - Whitebox.setInternalState(AbstractBootstrap.class, "bundleFactory", bundleFactory); | |
124 | + AbstractBootstrap.addContext(context, event); | |
125 | + | |
126 | + Assert.assertTrue(context.isActive()); | |
127 | + Assert.assertEquals(1, Contexts.getActiveContexts().size()); | |
128 | + | |
129 | + verifyAll(); | |
130 | + } | |
131 | + | |
132 | + @Test | |
133 | + @SuppressWarnings({ "unchecked"}) | |
134 | + public void testDisableContextIsActive() { | |
135 | + mockStatic(LoggerProducer.class); | |
136 | + Logger logger = PowerMock.createMock(Logger.class); | |
137 | + logger.trace(EasyMock.anyObject(String.class)); | |
138 | + logger.trace(EasyMock.anyObject(String.class)); | |
139 | + expect(LoggerProducer.create(EasyMock.anyObject(Class.class))).andReturn(logger).anyTimes(); | |
117 | 140 | |
118 | 141 | ThreadLocalContext context = new ThreadLocalContext(Scope.class); |
142 | + | |
143 | + replayAll(logger, LoggerProducer.class); | |
119 | 144 | |
120 | - Contexts.remove(context); | |
121 | - replayAll(bundle, bundleFactory, logger, LoggerProducer.class, Contexts.class); | |
122 | 145 | |
146 | + AbstractBootstrap.addContext(context, null); | |
147 | + | |
148 | + Assert.assertTrue(context.isActive()); | |
149 | + Assert.assertEquals(1, Contexts.getActiveContexts().size()); | |
150 | + | |
123 | 151 | AbstractBootstrap.disableContext(context); |
152 | + | |
153 | + Assert.assertFalse(context.isActive()); | |
154 | + Assert.assertEquals(0, Contexts.getActiveContexts().size()); | |
155 | + | |
156 | + } | |
157 | + | |
158 | + @Test | |
159 | + @SuppressWarnings({ "unchecked"}) | |
160 | + public void testDisableContextIsNotActive() { | |
161 | + mockStatic(LoggerProducer.class); | |
162 | + Logger logger = PowerMock.createMock(Logger.class); | |
163 | + logger.trace(EasyMock.anyObject(String.class)); | |
164 | + logger.trace(EasyMock.anyObject(String.class)); | |
165 | + expect(LoggerProducer.create(EasyMock.anyObject(Class.class))).andReturn(logger).anyTimes(); | |
124 | 166 | |
125 | - verifyAll(); | |
167 | + ThreadLocalContext context = new ThreadLocalContext(Scope.class); | |
168 | + | |
169 | + replayAll(logger, LoggerProducer.class); | |
170 | + | |
171 | + Contexts.getInactiveContexts().add(context); | |
172 | + Assert.assertEquals(1, Contexts.getInactiveContexts().size()); | |
173 | + | |
174 | + AbstractBootstrap.disableContext(context); | |
175 | + | |
176 | + Assert.assertEquals(0, Contexts.getInactiveContexts().size()); | |
177 | + | |
126 | 178 | } |
179 | + | |
180 | + @Test | |
181 | + @SuppressWarnings({ "unchecked"}) | |
182 | + public void testDisableContextIsActiveAndExistTheSameScopeInTheInactives() { | |
183 | + mockStatic(LoggerProducer.class); | |
184 | + Logger logger = PowerMock.createMock(Logger.class); | |
185 | + logger.trace(EasyMock.anyObject(String.class)); | |
186 | + logger.trace(EasyMock.anyObject(String.class)); | |
187 | + expect(LoggerProducer.create(EasyMock.anyObject(Class.class))).andReturn(logger).anyTimes(); | |
127 | 188 | |
189 | + ThreadLocalContext context = new ThreadLocalContext(Scope.class); | |
190 | + | |
191 | + replayAll(logger, LoggerProducer.class); | |
192 | + | |
193 | + AbstractBootstrap.addContext(context, null); | |
194 | + | |
195 | + ThreadLocalContext context2 = new ThreadLocalContext(Scope.class); | |
196 | + context2.setActive(false); | |
197 | + Contexts.getInactiveContexts().add(context2); | |
198 | + | |
199 | + Assert.assertTrue(context.isActive()); | |
200 | + Assert.assertEquals(1, Contexts.getActiveContexts().size()); | |
201 | + | |
202 | + Assert.assertFalse(context2.isActive()); | |
203 | + Assert.assertEquals(1, Contexts.getInactiveContexts().size()); | |
204 | + | |
205 | + AbstractBootstrap.disableContext(context); | |
206 | + | |
207 | + Assert.assertFalse(context.isActive()); | |
208 | + Assert.assertTrue(context2.isActive()); | |
209 | + Assert.assertEquals(1, Contexts.getActiveContexts().size()); | |
210 | + Assert.assertEquals(0, Contexts.getInactiveContexts().size()); | |
211 | + | |
212 | + } | |
128 | 213 | } | ... | ... |