Commit ca5e1629911f64184a003865a1869a2668680360
Exists in
master
Merge branch '2.4.0' of git@github.com:demoiselle/framework.git into 2.4.0
Showing
5 changed files
with
81 additions
and
2 deletions
Show diff stats
impl/core/src/test/java/management/ManagementTestCase.java
... | ... | @@ -42,6 +42,8 @@ import junit.framework.Assert; |
42 | 42 | import management.testclasses.DummyManagedClass; |
43 | 43 | import management.testclasses.DummyManagementExtension; |
44 | 44 | import management.testclasses.ManagedClassStore; |
45 | +import management.testclasses.RequestScopeBeanClient; | |
46 | +import management.testclasses.RequestScopedClass; | |
45 | 47 | |
46 | 48 | import org.jboss.arquillian.container.test.api.Deployment; |
47 | 49 | import org.jboss.arquillian.junit.Arquillian; |
... | ... | @@ -75,7 +77,11 @@ public class ManagementTestCase { |
75 | 77 | new File("src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension"), |
76 | 78 | "services/javax.enterprise.inject.spi.Extension") |
77 | 79 | .addPackages(false, ManagementTestCase.class.getPackage()) |
78 | - .addClasses(DummyManagementExtension.class, DummyManagedClass.class, ManagedClassStore.class); | |
80 | + .addClasses(DummyManagementExtension.class | |
81 | + , DummyManagedClass.class | |
82 | + , ManagedClassStore.class | |
83 | + , RequestScopeBeanClient.class | |
84 | + , RequestScopedClass.class); | |
79 | 85 | } |
80 | 86 | |
81 | 87 | @Test |
... | ... | @@ -161,4 +167,18 @@ public class ManagementTestCase { |
161 | 167 | } |
162 | 168 | |
163 | 169 | } |
170 | + | |
171 | + @Test | |
172 | + public void testRequestScopedOperation() { | |
173 | + ManagedClassStore store = Beans.getReference(ManagedClassStore.class); | |
174 | + | |
175 | + //Esta operação faz multiplos acessos a um bean RequestScoped. Durante a operação todos os acessos devem | |
176 | + //operar sob a mesma instância, mas uma segunda invocação deve operar em uma instância nova | |
177 | + Object info = store.invoke(DummyManagedClass.class, "requestScopedOperation"); | |
178 | + Assert.assertEquals("-OPERATION ONE CALLED--OPERATION TWO CALLED-", info); | |
179 | + | |
180 | + //Segunda invocação para testar se uma nova instância é criada, já que esse é um novo request. | |
181 | + info = store.invoke(DummyManagedClass.class, "requestScopedOperation"); | |
182 | + Assert.assertEquals("-OPERATION ONE CALLED--OPERATION TWO CALLED-", info); | |
183 | + } | |
164 | 184 | } | ... | ... |
impl/core/src/test/java/management/testclasses/DummyManagedClass.java
... | ... | @@ -43,6 +43,7 @@ import javax.validation.constraints.NotNull; |
43 | 43 | import br.gov.frameworkdemoiselle.annotation.ManagedOperation; |
44 | 44 | import br.gov.frameworkdemoiselle.annotation.ManagedProperty; |
45 | 45 | import br.gov.frameworkdemoiselle.stereotype.ManagementController; |
46 | +import br.gov.frameworkdemoiselle.util.Beans; | |
46 | 47 | |
47 | 48 | @ManagementController |
48 | 49 | public class DummyManagedClass { |
... | ... | @@ -196,7 +197,15 @@ public class DummyManagedClass { |
196 | 197 | this.gender = gender; |
197 | 198 | } |
198 | 199 | |
199 | - | |
200 | + @ManagedOperation | |
201 | + public String requestScopedOperation(){ | |
202 | + RequestScopeBeanClient client = Beans.getReference(RequestScopeBeanClient.class); | |
203 | + client.operationOne(); | |
204 | + client.operationTwo(); | |
205 | + | |
206 | + RequestScopedClass bean = Beans.getReference(RequestScopedClass.class); | |
207 | + return bean.getInfo(); | |
208 | + } | |
200 | 209 | |
201 | 210 | |
202 | 211 | } | ... | ... |
impl/core/src/test/java/management/testclasses/RequestScopeBeanClient.java
0 → 100644
... | ... | @@ -0,0 +1,22 @@ |
1 | +package management.testclasses; | |
2 | + | |
3 | +import br.gov.frameworkdemoiselle.util.Beans; | |
4 | + | |
5 | + | |
6 | +public class RequestScopeBeanClient { | |
7 | + | |
8 | + public void operationOne(){ | |
9 | + | |
10 | + RequestScopedClass bean = Beans.getReference(RequestScopedClass.class); | |
11 | + bean.setInfo( bean.getInfo() + "-OPERATION ONE CALLED-"); | |
12 | + | |
13 | + } | |
14 | + | |
15 | + public void operationTwo(){ | |
16 | + | |
17 | + RequestScopedClass bean = Beans.getReference(RequestScopedClass.class); | |
18 | + bean.setInfo( bean.getInfo() + "-OPERATION TWO CALLED-"); | |
19 | + | |
20 | + } | |
21 | + | |
22 | +} | ... | ... |
impl/core/src/test/java/management/testclasses/RequestScopedClass.java
0 → 100644
... | ... | @@ -0,0 +1,22 @@ |
1 | +package management.testclasses; | |
2 | + | |
3 | +import javax.enterprise.context.RequestScoped; | |
4 | + | |
5 | +@RequestScoped | |
6 | +public class RequestScopedClass { | |
7 | + | |
8 | + private String info = ""; | |
9 | + | |
10 | + | |
11 | + public String getInfo() { | |
12 | + return info; | |
13 | + } | |
14 | + | |
15 | + | |
16 | + public void setInfo(String info) { | |
17 | + this.info = info; | |
18 | + } | |
19 | + | |
20 | + | |
21 | + | |
22 | +} | ... | ... |
parent/bom/pom.xml
... | ... | @@ -349,6 +349,11 @@ |
349 | 349 | <version>${arquillian.weld.se.embedded.version}</version> |
350 | 350 | </dependency> |
351 | 351 | <dependency> |
352 | + <groupId>org.jboss.arquillian.container</groupId> | |
353 | + <artifactId>arquillian-weld-ee-embedded-1.1</artifactId> | |
354 | + <version>${arquillian.weld.ee.embedded.version}</version> | |
355 | + </dependency> | |
356 | + <dependency> | |
352 | 357 | <groupId>org.jboss.weld.se</groupId> |
353 | 358 | <artifactId>weld-se-core</artifactId> |
354 | 359 | <version>${weld.version}</version> |
... | ... | @@ -399,6 +404,7 @@ |
399 | 404 | |
400 | 405 | <arquillian.version>1.0.3.Final</arquillian.version> |
401 | 406 | <arquillian.weld.se.embedded.version>1.0.0.CR6</arquillian.weld.se.embedded.version> |
407 | + <arquillian.weld.ee.embedded.version>1.0.0.CR6</arquillian.weld.ee.embedded.version> | |
402 | 408 | |
403 | 409 | <powermock.version>1.4.6</powermock.version> |
404 | 410 | <primefaces.version>3.4</primefaces.version> | ... | ... |