Commit f53b9022c4bf3da6815f19758b4d0756b66058d8
1 parent
e2cc082c
Exists in
master
-Adicionada versão padrão do componente arquillian-embedded-ee no BOM.
-Adicionado teste de chamadas a beans ManagementController dentro do escopo RequestScoped.
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> | ... | ... |