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,6 +42,8 @@ import junit.framework.Assert; | ||
| 42 | import management.testclasses.DummyManagedClass; | 42 | import management.testclasses.DummyManagedClass; |
| 43 | import management.testclasses.DummyManagementExtension; | 43 | import management.testclasses.DummyManagementExtension; |
| 44 | import management.testclasses.ManagedClassStore; | 44 | import management.testclasses.ManagedClassStore; |
| 45 | +import management.testclasses.RequestScopeBeanClient; | ||
| 46 | +import management.testclasses.RequestScopedClass; | ||
| 45 | 47 | ||
| 46 | import org.jboss.arquillian.container.test.api.Deployment; | 48 | import org.jboss.arquillian.container.test.api.Deployment; |
| 47 | import org.jboss.arquillian.junit.Arquillian; | 49 | import org.jboss.arquillian.junit.Arquillian; |
| @@ -75,7 +77,11 @@ public class ManagementTestCase { | @@ -75,7 +77,11 @@ public class ManagementTestCase { | ||
| 75 | new File("src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension"), | 77 | new File("src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension"), |
| 76 | "services/javax.enterprise.inject.spi.Extension") | 78 | "services/javax.enterprise.inject.spi.Extension") |
| 77 | .addPackages(false, ManagementTestCase.class.getPackage()) | 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 | @Test | 87 | @Test |
| @@ -161,4 +167,18 @@ public class ManagementTestCase { | @@ -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,6 +43,7 @@ import javax.validation.constraints.NotNull; | ||
| 43 | import br.gov.frameworkdemoiselle.annotation.ManagedOperation; | 43 | import br.gov.frameworkdemoiselle.annotation.ManagedOperation; |
| 44 | import br.gov.frameworkdemoiselle.annotation.ManagedProperty; | 44 | import br.gov.frameworkdemoiselle.annotation.ManagedProperty; |
| 45 | import br.gov.frameworkdemoiselle.stereotype.ManagementController; | 45 | import br.gov.frameworkdemoiselle.stereotype.ManagementController; |
| 46 | +import br.gov.frameworkdemoiselle.util.Beans; | ||
| 46 | 47 | ||
| 47 | @ManagementController | 48 | @ManagementController |
| 48 | public class DummyManagedClass { | 49 | public class DummyManagedClass { |
| @@ -196,7 +197,15 @@ public class DummyManagedClass { | @@ -196,7 +197,15 @@ public class DummyManagedClass { | ||
| 196 | this.gender = gender; | 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 @@ | @@ -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 @@ | @@ -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,6 +349,11 @@ | ||
| 349 | <version>${arquillian.weld.se.embedded.version}</version> | 349 | <version>${arquillian.weld.se.embedded.version}</version> |
| 350 | </dependency> | 350 | </dependency> |
| 351 | <dependency> | 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 | <groupId>org.jboss.weld.se</groupId> | 357 | <groupId>org.jboss.weld.se</groupId> |
| 353 | <artifactId>weld-se-core</artifactId> | 358 | <artifactId>weld-se-core</artifactId> |
| 354 | <version>${weld.version}</version> | 359 | <version>${weld.version}</version> |
| @@ -399,6 +404,7 @@ | @@ -399,6 +404,7 @@ | ||
| 399 | 404 | ||
| 400 | <arquillian.version>1.0.3.Final</arquillian.version> | 405 | <arquillian.version>1.0.3.Final</arquillian.version> |
| 401 | <arquillian.weld.se.embedded.version>1.0.0.CR6</arquillian.weld.se.embedded.version> | 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 | <powermock.version>1.4.6</powermock.version> | 409 | <powermock.version>1.4.6</powermock.version> |
| 404 | <primefaces.version>3.4</primefaces.version> | 410 | <primefaces.version>3.4</primefaces.version> |