Search in sources :

Example 6 with JpaTransactionAdvisor

use of org.apache.tapestry5.jpa.JpaTransactionAdvisor in project tapestry-5 by apache.

the class JpaTransactionAdvisorImplTest method return_type_method.

@Test
public void return_type_method() {
    final ReturnTypeService delegate = newTestService();
    final EntityManagerManager manager = newMock(EntityManagerManager.class);
    final EntityTransactionManager transactionManager = newMock(EntityTransactionManager.class);
    final JpaTransactionAdvisor advisor = newJpaTransactionAdvisor(manager, transactionManager);
    final EntityManager entityManager = newMock(EntityManager.class);
    final EntityTransaction transaction = newMock(EntityTransaction.class);
    final AspectInterceptorBuilder<ReturnTypeService> builder = aspectDecorator.createBuilder(ReturnTypeService.class, delegate, "foo.Bar");
    advisor.addTransactionCommitAdvice(builder);
    final ReturnTypeService interceptor = builder.build();
    train_getActiveTransaction(manager, entityManager, transaction);
    delegate.returnTypeMethod();
    train_commitActiveTransaction(transaction);
    replay();
    Assert.assertEquals(interceptor.returnTypeMethod(), "Foo");
    verify();
}
Also used : EntityTransaction(javax.persistence.EntityTransaction) EntityManager(javax.persistence.EntityManager) EntityTransactionManager(org.apache.tapestry5.jpa.EntityTransactionManager) EntityManagerManager(org.apache.tapestry5.jpa.EntityManagerManager) JpaTransactionAdvisor(org.apache.tapestry5.jpa.JpaTransactionAdvisor) Test(org.testng.annotations.Test)

Example 7 with JpaTransactionAdvisor

use of org.apache.tapestry5.jpa.JpaTransactionAdvisor in project tapestry-5 by apache.

the class JpaTransactionAdvisorImplTest method checked_exception_will_commit_transaction.

@Test
public void checked_exception_will_commit_transaction() throws Exception {
    final Performer delegate = newMock(Performer.class);
    final EntityManagerManager manager = newMock(EntityManagerManager.class);
    final EntityTransactionManager transactionManager = newMock(EntityTransactionManager.class);
    final JpaTransactionAdvisor advisor = newJpaTransactionAdvisor(manager, transactionManager);
    final EntityManager entityManager = newMock(EntityManager.class);
    final EntityTransaction transaction = newMock(EntityTransaction.class);
    final SQLException se = new SQLException("Checked.");
    final AspectInterceptorBuilder<Performer> builder = aspectDecorator.createBuilder(Performer.class, delegate, "foo.Bar");
    advisor.addTransactionCommitAdvice(builder);
    final Performer interceptor = builder.build();
    train_getActiveTransaction(manager, entityManager, transaction);
    delegate.perform();
    setThrowable(se);
    train_commitActiveTransaction(transaction);
    replay();
    try {
        interceptor.perform();
        unreachable();
    } catch (final SQLException ex) {
        Assert.assertSame(ex, se);
    }
    verify();
}
Also used : EntityTransaction(javax.persistence.EntityTransaction) EntityManager(javax.persistence.EntityManager) EntityTransactionManager(org.apache.tapestry5.jpa.EntityTransactionManager) SQLException(java.sql.SQLException) EntityManagerManager(org.apache.tapestry5.jpa.EntityManagerManager) JpaTransactionAdvisor(org.apache.tapestry5.jpa.JpaTransactionAdvisor) Test(org.testng.annotations.Test)

Example 8 with JpaTransactionAdvisor

use of org.apache.tapestry5.jpa.JpaTransactionAdvisor in project tapestry-5 by apache.

the class JpaTransactionAdvisorImplTest method persistence_unit_missing_single_unit_configured.

@Test
public void persistence_unit_missing_single_unit_configured() {
    final VoidService delegate = newMock(VoidService.class);
    final EntityManagerManager manager = newMock(EntityManagerManager.class);
    final EntityTransactionManager transactionManager = newMock(EntityTransactionManager.class);
    final JpaTransactionAdvisor advisor = newJpaTransactionAdvisor(manager, transactionManager);
    final EntityTransaction transaction = newMock(EntityTransaction.class);
    EntityManager em = newMock(EntityManager.class);
    Map<String, EntityManager> managers = CollectionFactory.newMap();
    managers.put("A", em);
    final AspectInterceptorBuilder<VoidService> builder = aspectDecorator.createBuilder(VoidService.class, delegate, "foo.Bar");
    advisor.addTransactionCommitAdvice(builder);
    final VoidService interceptor = builder.build();
    expect(manager.getEntityManagers()).andReturn(managers);
    train_getTransaction(em, transaction, true);
    delegate.persistenceUnitMissing();
    train_commitActiveTransaction(transaction);
    replay();
    interceptor.persistenceUnitMissing();
    verify();
}
Also used : EntityTransaction(javax.persistence.EntityTransaction) EntityManager(javax.persistence.EntityManager) EntityTransactionManager(org.apache.tapestry5.jpa.EntityTransactionManager) EntityManagerManager(org.apache.tapestry5.jpa.EntityManagerManager) JpaTransactionAdvisor(org.apache.tapestry5.jpa.JpaTransactionAdvisor) Test(org.testng.annotations.Test)

Example 9 with JpaTransactionAdvisor

use of org.apache.tapestry5.jpa.JpaTransactionAdvisor in project tapestry-5 by apache.

the class JpaTransactionAdvisorImplTest method void_method.

@Test
public void void_method() {
    final VoidService delegate = newMock(VoidService.class);
    final EntityManagerManager manager = newMock(EntityManagerManager.class);
    final EntityTransactionManager transactionManager = newMock(EntityTransactionManager.class);
    final JpaTransactionAdvisor advisor = newJpaTransactionAdvisor(manager, transactionManager);
    final EntityManager entityManager = newMock(EntityManager.class);
    final EntityTransaction transaction = newMock(EntityTransaction.class);
    final AspectInterceptorBuilder<VoidService> builder = aspectDecorator.createBuilder(VoidService.class, delegate, "foo.Bar");
    advisor.addTransactionCommitAdvice(builder);
    final VoidService interceptor = builder.build();
    train_getActiveTransaction(manager, entityManager, transaction);
    delegate.voidMethod();
    train_commitActiveTransaction(transaction);
    replay();
    interceptor.voidMethod();
    verify();
}
Also used : EntityTransaction(javax.persistence.EntityTransaction) EntityManager(javax.persistence.EntityManager) EntityTransactionManager(org.apache.tapestry5.jpa.EntityTransactionManager) EntityManagerManager(org.apache.tapestry5.jpa.EntityManagerManager) JpaTransactionAdvisor(org.apache.tapestry5.jpa.JpaTransactionAdvisor) Test(org.testng.annotations.Test)

Example 10 with JpaTransactionAdvisor

use of org.apache.tapestry5.jpa.JpaTransactionAdvisor in project tapestry-5 by apache.

the class JpaTransactionAdvisorImplTest method persistence_unit_name_missing.

@Test
public void persistence_unit_name_missing() {
    final VoidService delegate = newMock(VoidService.class);
    final EntityManagerManager manager = newMock(EntityManagerManager.class);
    final EntityTransactionManager transactionManager = newMock(EntityTransactionManager.class);
    final JpaTransactionAdvisor advisor = newJpaTransactionAdvisor(manager, transactionManager);
    Map<String, EntityManager> managers = CollectionFactory.newMap();
    managers.put("A", newMock(EntityManager.class));
    managers.put("B", newMock(EntityManager.class));
    final AspectInterceptorBuilder<VoidService> builder = aspectDecorator.createBuilder(VoidService.class, delegate, "foo.Bar");
    advisor.addTransactionCommitAdvice(builder);
    final VoidService interceptor = builder.build();
    expect(manager.getEntityManagers()).andReturn(managers);
    replay();
    try {
        interceptor.persistenceUnitNameMissing();
        TestBase.unreachable();
    } catch (Exception e) {
        Assert.assertEquals(e.getMessage(), "Unable to locate a single EntityManager. " + "You must provide the persistence unit name as defined in the persistence.xml using the @PersistenceContext annotation.");
    }
    verify();
}
Also used : EntityManager(javax.persistence.EntityManager) EntityTransactionManager(org.apache.tapestry5.jpa.EntityTransactionManager) EntityManagerManager(org.apache.tapestry5.jpa.EntityManagerManager) JpaTransactionAdvisor(org.apache.tapestry5.jpa.JpaTransactionAdvisor) SQLException(java.sql.SQLException) Test(org.testng.annotations.Test)

Aggregations

EntityManagerManager (org.apache.tapestry5.jpa.EntityManagerManager)12 EntityTransactionManager (org.apache.tapestry5.jpa.EntityTransactionManager)12 JpaTransactionAdvisor (org.apache.tapestry5.jpa.JpaTransactionAdvisor)12 Test (org.testng.annotations.Test)12 EntityManager (javax.persistence.EntityManager)11 EntityTransaction (javax.persistence.EntityTransaction)9 SQLException (java.sql.SQLException)3