Commit ca5e1629911f64184a003865a1869a2668680360

Authored by Ednara Oliveira
2 parents 618516d9 f53b9022
Exists in master

Merge branch '2.4.0' of git@github.com:demoiselle/framework.git into 2.4.0

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>
... ...