Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id B5249200CB3 for ; Mon, 26 Jun 2017 19:47:14 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id B372E160BF8; Mon, 26 Jun 2017 17:47:14 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id AD492160BDA for ; Mon, 26 Jun 2017 19:47:13 +0200 (CEST) Received: (qmail 4769 invoked by uid 500); 26 Jun 2017 17:47:12 -0000 Mailing-List: contact commits-help@deltaspike.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@deltaspike.apache.org Delivered-To: mailing list commits@deltaspike.apache.org Received: (qmail 4747 invoked by uid 99); 26 Jun 2017 17:47:12 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 26 Jun 2017 17:47:12 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 65472E041D; Mon, 26 Jun 2017 17:47:12 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: tandraschko@apache.org To: commits@deltaspike.apache.org Date: Mon, 26 Jun 2017 17:47:12 -0000 Message-Id: <31ea795279894b60a1bbc63bb25048f8@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [1/2] deltaspike git commit: DELTASPIKE-1275 archived-at: Mon, 26 Jun 2017 17:47:14 -0000 Repository: deltaspike Updated Branches: refs/heads/master 256431539 -> cdb86507f http://git-wip-us.apache.org/repos/asf/deltaspike/blob/cdb86507/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/getRollbackOnly/multipleinjection/auto/RollbackOnly2Test.java ---------------------------------------------------------------------- diff --git a/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/getRollbackOnly/multipleinjection/auto/RollbackOnly2Test.java b/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/getRollbackOnly/multipleinjection/auto/RollbackOnly2Test.java new file mode 100644 index 0000000..5db8ef5 --- /dev/null +++ b/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/getRollbackOnly/multipleinjection/auto/RollbackOnly2Test.java @@ -0,0 +1,132 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.deltaspike.test.jpa.api.transactional.getRollbackOnly.multipleinjection.auto; + +import org.apache.deltaspike.core.api.projectstage.ProjectStage; +import org.apache.deltaspike.core.util.ProjectStageProducer; +import org.apache.deltaspike.jpa.impl.transaction.context.TransactionBeanStorage; +import org.apache.deltaspike.jpa.impl.transaction.context.TransactionContextExtension; +import org.apache.deltaspike.test.category.SeCategory; +import org.apache.deltaspike.test.jpa.api.shared.TestEntityManager; +import org.apache.deltaspike.test.jpa.api.shared.TestEntityTransaction; +import org.apache.deltaspike.test.util.ArchiveUtils; +import org.jboss.arquillian.container.test.api.Deployment; +import org.jboss.arquillian.junit.Arquillian; +import org.jboss.shrinkwrap.api.ShrinkWrap; +import org.jboss.shrinkwrap.api.asset.EmptyAsset; +import org.jboss.shrinkwrap.api.spec.JavaArchive; +import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.junit.experimental.categories.Category; +import org.junit.runner.RunWith; + +import javax.enterprise.inject.spi.Extension; +import javax.inject.Inject; + +//different classes needed due to arquillian restriction +@RunWith(Arquillian.class) +@Category(SeCategory.class) +public class RollbackOnly2Test +{ + @Inject + private MultiTransactionBean multiTransactionBean; + + @Inject + private TestEntityManagerProducer entityManagerProducer; + + @Deployment + public static WebArchive deploy() + { + JavaArchive testJar = ShrinkWrap.create(JavaArchive.class, "autoInjectionRollbackOnly2Test.jar") + .addPackage(ArchiveUtils.SHARED_PACKAGE) + .addPackage(RollbackOnly2Test.class.getPackage().getName()) + .addAsManifestResource(EmptyAsset.INSTANCE, "beans.xml"); + + return ShrinkWrap.create(WebArchive.class) + .addAsLibraries(ArchiveUtils.getDeltaSpikeCoreAndJpaArchive()) + .addAsLibraries(testJar) + .addAsServiceProvider(Extension.class, TransactionContextExtension.class) + .addAsWebInfResource(ArchiveUtils.getBeansXml(), "beans.xml"); + } + + @Before + public void init() + { + ProjectStageProducer.setProjectStage(ProjectStage.UnitTest); + } + + @Test + public void autoInjectionRollbackOnly2Test() + { + TestEntityManager defaultEntityManager = entityManagerProducer.getDefaultEntityManager(); + TestEntityManager firstEntityManager = entityManagerProducer.getFirstEntityManager(); + TestEntityManager secondEntityManager = entityManagerProducer.getSecondEntityManager(); + + Assert.assertNotNull(defaultEntityManager); + TestEntityTransaction defaultTransaction = (TestEntityTransaction) (defaultEntityManager).getTransaction(); + + Assert.assertEquals(false, defaultEntityManager.isFlushed()); + Assert.assertEquals(false, defaultTransaction.isActive()); + Assert.assertEquals(false, defaultTransaction.isStarted()); + Assert.assertEquals(false, defaultTransaction.isCommitted()); + Assert.assertEquals(false, defaultTransaction.isRolledBack()); + + Assert.assertNotNull(firstEntityManager); + TestEntityTransaction firstTransaction = (TestEntityTransaction) (firstEntityManager).getTransaction(); + + Assert.assertEquals(false, firstEntityManager.isFlushed()); + Assert.assertEquals(false, firstTransaction.isActive()); + Assert.assertEquals(false, firstTransaction.isStarted()); + Assert.assertEquals(false, firstTransaction.isCommitted()); + Assert.assertEquals(false, firstTransaction.isRolledBack()); + + Assert.assertNotNull(secondEntityManager); + TestEntityTransaction secondTransaction = (TestEntityTransaction) (secondEntityManager).getTransaction(); + + Assert.assertEquals(false, secondEntityManager.isFlushed()); + Assert.assertEquals(false, secondTransaction.isActive()); + Assert.assertEquals(false, secondTransaction.isStarted()); + Assert.assertEquals(false, secondTransaction.isCommitted()); + Assert.assertEquals(false, secondTransaction.isRolledBack()); + + multiTransactionBean.executeInTransactionRollback2(); + + Assert.assertEquals(true, defaultEntityManager.isFlushed()); + Assert.assertEquals(false, defaultTransaction.isActive()); + Assert.assertEquals(true, defaultTransaction.isStarted()); + Assert.assertEquals(false, defaultTransaction.isCommitted()); + Assert.assertEquals(true, defaultTransaction.isRolledBack()); + + Assert.assertEquals(true, firstEntityManager.isFlushed()); + Assert.assertEquals(false, firstTransaction.isActive()); + Assert.assertEquals(true, firstTransaction.isStarted()); + Assert.assertEquals(false, firstTransaction.isCommitted()); + Assert.assertEquals(true, firstTransaction.isRolledBack()); + + Assert.assertEquals(true, secondEntityManager.isFlushed()); + Assert.assertEquals(false, secondTransaction.isActive()); + Assert.assertEquals(true, secondTransaction.isStarted()); + Assert.assertEquals(false, secondTransaction.isCommitted()); + Assert.assertEquals(true, secondTransaction.isRolledBack()); + + Assert.assertEquals(false, TransactionBeanStorage.isOpen()); + } +} http://git-wip-us.apache.org/repos/asf/deltaspike/blob/cdb86507/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/getRollbackOnly/multipleinjection/auto/RollbackOnlyTest.java ---------------------------------------------------------------------- diff --git a/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/getRollbackOnly/multipleinjection/auto/RollbackOnlyTest.java b/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/getRollbackOnly/multipleinjection/auto/RollbackOnlyTest.java new file mode 100644 index 0000000..ae3fbd0 --- /dev/null +++ b/deltaspike/modules/jpa/impl/src/test/java/org/apache/deltaspike/test/jpa/api/transactional/getRollbackOnly/multipleinjection/auto/RollbackOnlyTest.java @@ -0,0 +1,132 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.deltaspike.test.jpa.api.transactional.getRollbackOnly.multipleinjection.auto; + +import org.apache.deltaspike.core.api.projectstage.ProjectStage; +import org.apache.deltaspike.core.util.ProjectStageProducer; +import org.apache.deltaspike.jpa.impl.transaction.context.TransactionBeanStorage; +import org.apache.deltaspike.jpa.impl.transaction.context.TransactionContextExtension; +import org.apache.deltaspike.test.category.SeCategory; +import org.apache.deltaspike.test.jpa.api.shared.TestEntityManager; +import org.apache.deltaspike.test.jpa.api.shared.TestEntityTransaction; +import org.apache.deltaspike.test.util.ArchiveUtils; +import org.jboss.arquillian.container.test.api.Deployment; +import org.jboss.arquillian.junit.Arquillian; +import org.jboss.shrinkwrap.api.ShrinkWrap; +import org.jboss.shrinkwrap.api.asset.EmptyAsset; +import org.jboss.shrinkwrap.api.spec.JavaArchive; +import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.junit.experimental.categories.Category; +import org.junit.runner.RunWith; + +import javax.enterprise.inject.spi.Extension; +import javax.inject.Inject; + +//different classes needed due to arquillian restriction +@RunWith(Arquillian.class) +@Category(SeCategory.class) +public class RollbackOnlyTest +{ + @Inject + private MultiTransactionBean multiTransactionBean; + + @Inject + private TestEntityManagerProducer entityManagerProducer; + + @Deployment + public static WebArchive deploy() + { + JavaArchive testJar = ShrinkWrap.create(JavaArchive.class, "autoInjectionRollbackOnlyTest.jar") + .addPackage(ArchiveUtils.SHARED_PACKAGE) + .addPackage(RollbackOnlyTest.class.getPackage().getName()) + .addAsManifestResource(EmptyAsset.INSTANCE, "beans.xml"); + + return ShrinkWrap.create(WebArchive.class) + .addAsLibraries(ArchiveUtils.getDeltaSpikeCoreAndJpaArchive()) + .addAsLibraries(testJar) + .addAsServiceProvider(Extension.class, TransactionContextExtension.class) + .addAsWebInfResource(ArchiveUtils.getBeansXml(), "beans.xml"); + } + + @Before + public void init() + { + ProjectStageProducer.setProjectStage(ProjectStage.UnitTest); + } + + @Test + public void autoInjectionRollbackOnlyDefaultTest() + { + TestEntityManager defaultEntityManager = entityManagerProducer.getDefaultEntityManager(); + TestEntityManager firstEntityManager = entityManagerProducer.getFirstEntityManager(); + TestEntityManager secondEntityManager = entityManagerProducer.getSecondEntityManager(); + + Assert.assertNotNull(defaultEntityManager); + TestEntityTransaction defaultTransaction = (TestEntityTransaction) (defaultEntityManager).getTransaction(); + + Assert.assertEquals(false, defaultEntityManager.isFlushed()); + Assert.assertEquals(false, defaultTransaction.isActive()); + Assert.assertEquals(false, defaultTransaction.isStarted()); + Assert.assertEquals(false, defaultTransaction.isCommitted()); + Assert.assertEquals(false, defaultTransaction.isRolledBack()); + + Assert.assertNotNull(firstEntityManager); + TestEntityTransaction firstTransaction = (TestEntityTransaction) (firstEntityManager).getTransaction(); + + Assert.assertEquals(false, firstEntityManager.isFlushed()); + Assert.assertEquals(false, firstTransaction.isActive()); + Assert.assertEquals(false, firstTransaction.isStarted()); + Assert.assertEquals(false, firstTransaction.isCommitted()); + Assert.assertEquals(false, firstTransaction.isRolledBack()); + + Assert.assertNotNull(secondEntityManager); + TestEntityTransaction secondTransaction = (TestEntityTransaction) (secondEntityManager).getTransaction(); + + Assert.assertEquals(false, secondEntityManager.isFlushed()); + Assert.assertEquals(false, secondTransaction.isActive()); + Assert.assertEquals(false, secondTransaction.isStarted()); + Assert.assertEquals(false, secondTransaction.isCommitted()); + Assert.assertEquals(false, secondTransaction.isRolledBack()); + + multiTransactionBean.executeInTransactionRollbackDefault(); + + Assert.assertEquals(true, defaultEntityManager.isFlushed()); + Assert.assertEquals(false, defaultTransaction.isActive()); + Assert.assertEquals(true, defaultTransaction.isStarted()); + Assert.assertEquals(false, defaultTransaction.isCommitted()); + Assert.assertEquals(true, defaultTransaction.isRolledBack()); + + Assert.assertEquals(true, firstEntityManager.isFlushed()); + Assert.assertEquals(false, firstTransaction.isActive()); + Assert.assertEquals(true, firstTransaction.isStarted()); + Assert.assertEquals(false, firstTransaction.isCommitted()); + Assert.assertEquals(true, firstTransaction.isRolledBack()); + + Assert.assertEquals(true, secondEntityManager.isFlushed()); + Assert.assertEquals(false, secondTransaction.isActive()); + Assert.assertEquals(true, secondTransaction.isStarted()); + Assert.assertEquals(false, secondTransaction.isCommitted()); + Assert.assertEquals(true, secondTransaction.isRolledBack()); + + Assert.assertEquals(false, TransactionBeanStorage.isOpen()); + } +}