X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=test%2Fenterprise%2Fsrc%2Ftest%2Fjava%2Forg%2Fwamblee%2Fsupport%2Fpersistence%2FMyEntityExampleTestBase.java;h=ec6b268f98b25f513f9b84444f9fbc3894f76832;hb=8de36ff0206c996baf3ee4adc3e2293b12ff5f39;hp=77f6114a089c74a660824f74f5f9c01476c26ebf;hpb=89c06d4d52b46c154128c97d6e758fa1f4fc7a6e;p=utils diff --git a/test/enterprise/src/test/java/org/wamblee/support/persistence/MyEntityExampleTestBase.java b/test/enterprise/src/test/java/org/wamblee/support/persistence/MyEntityExampleTestBase.java index 77f6114a..ec6b268f 100644 --- a/test/enterprise/src/test/java/org/wamblee/support/persistence/MyEntityExampleTestBase.java +++ b/test/enterprise/src/test/java/org/wamblee/support/persistence/MyEntityExampleTestBase.java @@ -19,69 +19,74 @@ import org.wamblee.support.persistence.JpaBuilder.JpaUnitOfWork; import static junit.framework.Assert.*; - /** - * This class shows an example of how to test an entity using jpa. + * This class shows an example of how to test an entity using jpa. */ public class MyEntityExampleTestBase { - // This is the magical object that does all the test setup. - private JpaTester jpaTester; - + // This is the magical object that does all the test setup. + private JpaTester jpaTester; + // The jpa tester initializes a lot for us.... - - // A JPA builder that provides a transaction scoped entity manager for us. - private JpaBuilder builder; - - // The database tester for dbunit which is appropriately configured for our persistence unit. - private IDatabaseTester dbtester; - - // Database utilities with some additional functionality for working with the databse - // such as dropping tables, cleaning tables, etc. - private DatabaseUtils dbutils; - - @Before - public void setUp() throws Exception { - - // First we create the JpaTester by telling us which persistence unit we are going to test - jpaTester = new JpaTester(new MyPersistenceUnit()); - jpaTester.start(); - - // Retrieve some useful objects fromt he jpa tester. It also provides direct access to the datasource - // but we don't need it. We can use datbase utils if we want to execute straight JDBC calls. - builder = jpaTester.getJpaBuilder(); - dbtester = jpaTester.getDbTester(); - dbutils = jpaTester.getDbUtils(); - } - - @After - public void tearDown() { - jpaTester.stop(); - } - - @Test - public void testEntityPersistence() throws Exception { - - // Use the JPA builder to create a transaction scoped entity manager for as and execute the - // unit of work. - builder.execute(new JpaUnitOfWork() { - public Void execute(EntityManager em) { - MyEntity entity = new MyEntity("a", "b"); - em.persist(entity); - return null; - } - }); - - // Verify one row is written (using Db unit) - ITable table = dbtester.getDataSet().getTable("XYZ_MYENTITY"); - assertEquals(1, table.getRowCount()); - - assertEquals("a", table.getValue(0, "SLEUTELTJE")); - assertEquals("b", table.getValue(0, "VALUE")); - - // For this simple test, it can also be done through DatabaseUtils - assertEquals(1, dbutils.getTableSize("XYZ_MYENTITY")); - - } + + // A JPA builder that provides a transaction scoped entity manager for us. + private JpaBuilder builder; + + // The database tester for dbunit which is appropriately configured for our + // persistence unit. + private IDatabaseTester dbtester; + + // Database utilities with some additional functionality for working with + // the databse + // such as dropping tables, cleaning tables, etc. + private DatabaseUtils dbutils; + + @Before + public void setUp() throws Exception { + + // First we create the JpaTester by telling us which persistence unit we + // are going to test + jpaTester = new JpaTester(new MyPersistenceUnit()); + jpaTester.start(); + + // Retrieve some useful objects fromt he jpa tester. It also provides + // direct access to the datasource + // but we don't need it. We can use datbase utils if we want to execute + // straight JDBC calls. + builder = jpaTester.getJpaBuilder(); + dbtester = jpaTester.getDbTester(); + dbutils = jpaTester.getDbUtils(); + } + + @After + public void tearDown() { + jpaTester.stop(); + } + + @Test + public void testEntityPersistence() throws Exception { + + // Use the JPA builder to create a transaction scoped entity manager for + // as and execute the + // unit of work. + builder.execute(new JpaUnitOfWork() { + public Void execute(EntityManager em) { + MyEntity entity = new MyEntity("a", "b"); + em.persist(entity); + return null; + } + }); + + // Verify one row is written (using Db unit) + ITable table = dbtester.getDataSet().getTable("XYZ_MYENTITY"); + assertEquals(1, table.getRowCount()); + + assertEquals("a", table.getValue(0, "SLEUTELTJE")); + assertEquals("b", table.getValue(0, "VALUE")); + + // For this simple test, it can also be done through DatabaseUtils + assertEquals(1, dbutils.getTableSize("XYZ_MYENTITY")); + + } }