From f966ece4322a4da9456b023f65adeb6259ca5143 Mon Sep 17 00:00:00 2001 From: Martin Goik <goik@hdm-stuttgart.de> Date: Tue, 30 Jun 2015 12:14:39 +0200 Subject: [PATCH] Testing constraint violation --- .../rdbms2catalog/TestSchemaConflict.java | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 P/Sda1/Jpa/rdbms2catalog/solution/src/test/java/rdbms2catalog/TestSchemaConflict.java diff --git a/P/Sda1/Jpa/rdbms2catalog/solution/src/test/java/rdbms2catalog/TestSchemaConflict.java b/P/Sda1/Jpa/rdbms2catalog/solution/src/test/java/rdbms2catalog/TestSchemaConflict.java new file mode 100644 index 000000000..e89bbd218 --- /dev/null +++ b/P/Sda1/Jpa/rdbms2catalog/solution/src/test/java/rdbms2catalog/TestSchemaConflict.java @@ -0,0 +1,37 @@ +package rdbms2catalog; + +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.EntityTransaction; +import javax.persistence.Persistence; + +import org.junit.Test; + +import de.hdm_stuttgart.mi.sda1.sql2catalog.model.Description; +import de.hdm_stuttgart.mi.sda1.sql2catalog.model.Product; + +public class TestSchemaConflict { + + static final EntityManager em; + + static { + final EntityManagerFactory emFactory = Persistence.createEntityManagerFactory("create-drop"); + em = emFactory.createEntityManager(); + } + + @Test(expected=javax.persistence.PersistenceException.class) + public void insertData() { + { + final EntityTransaction transaction = em.getTransaction(); + transaction.begin(); + + final Product monkeyPickedTea = new Product(1, "Monkey Picked Tea", null); + new Description(monkeyPickedTea, 0, "Picked only by specially trained monkeys"); + new Description(monkeyPickedTea, 0, "Rare wild Chinese tea"); // oops! Unique key violation + + em.persist(monkeyPickedTea); + + transaction.commit(); + } + } +} \ No newline at end of file -- GitLab