From e22ad64847689bb1971de9f20d8a3c02067d98c1 Mon Sep 17 00:00:00 2001 From: Krzysztof Woyke Date: Thu, 1 Apr 2021 23:31:16 +0200 Subject: [PATCH] JAVA-5083: Fix unit tests in java-jpa-3 module --- .../ignorable/fields/HibernateConfig.java | 13 ++--- .../fields/TransientFieldUnitTest.java | 48 +++++++++++-------- 2 files changed, 34 insertions(+), 27 deletions(-) diff --git a/persistence-modules/java-jpa-3/src/main/java/com/baeldung/ignorable/fields/HibernateConfig.java b/persistence-modules/java-jpa-3/src/main/java/com/baeldung/ignorable/fields/HibernateConfig.java index 9285c23dfa..d121c81c6b 100644 --- a/persistence-modules/java-jpa-3/src/main/java/com/baeldung/ignorable/fields/HibernateConfig.java +++ b/persistence-modules/java-jpa-3/src/main/java/com/baeldung/ignorable/fields/HibernateConfig.java @@ -9,6 +9,7 @@ import org.hibernate.cfg.Environment; import org.hibernate.service.ServiceRegistry; public class HibernateConfig { + private static SessionFactory sessionFactory; public static SessionFactory getSessionFactory() { @@ -16,12 +17,12 @@ public class HibernateConfig { Configuration configuration = new Configuration(); Properties settings = new Properties(); - settings.put(Environment.DRIVER, "com.mysql.cj.jdbc.Driver"); - settings.put(Environment.URL, "jdbc:mysql://localhost:3306/app_db?useSSL=false"); - settings.put(Environment.USER, "root"); - settings.put(Environment.PASS, "password"); - settings.put(Environment.DIALECT, "org.hibernate.dialect.MySQL5Dialect"); - settings.put(Environment.CURRENT_SESSION_CONTEXT_CLASS, "thread"); + settings.put(Environment.DRIVER, "org.h2.Driver"); + settings.put(Environment.URL, "jdbc:h2:mem:test"); + settings.put(Environment.USER, "sa"); + settings.put(Environment.PASS, ""); + settings.put(Environment.DIALECT, "org.hibernate.dialect.H2Dialect"); + settings.put(Environment.HBM2DDL_AUTO, "create-drop"); configuration.setProperties(settings); configuration.addAnnotatedClass(User.class); diff --git a/persistence-modules/java-jpa-3/src/test/java/com/baeldung/ignorable/fields/TransientFieldUnitTest.java b/persistence-modules/java-jpa-3/src/test/java/com/baeldung/ignorable/fields/TransientFieldUnitTest.java index f50436e2ec..6d4eba2c29 100644 --- a/persistence-modules/java-jpa-3/src/test/java/com/baeldung/ignorable/fields/TransientFieldUnitTest.java +++ b/persistence-modules/java-jpa-3/src/test/java/com/baeldung/ignorable/fields/TransientFieldUnitTest.java @@ -1,19 +1,24 @@ package com.baeldung.ignorable.fields; -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertNull; - -import java.io.*; -import java.util.List; -import java.util.Random; - -import org.junit.Ignore; -import org.junit.Test; - import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.MapperFeature; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.datatype.hibernate5.Hibernate5Module; +import org.junit.Test; + +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.ObjectInputStream; +import java.io.ObjectOutputStream; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.util.List; +import java.util.Random; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNull; public class TransientFieldUnitTest { @@ -23,7 +28,6 @@ public class TransientFieldUnitTest { private final User user = new User("user" + randInt + "@bar.com", "hunter2", "MacOSX"); - @Ignore @Test public void givenFieldWithTransientAnnotation_whenSavingViaJPA_thenFieldIgnored() { userDao.saveUser(user); @@ -36,18 +40,20 @@ public class TransientFieldUnitTest { @Test public void givenFieldWithTransientAnnotation_whenSerializingObject_thenFieldSerialized() throws IOException, ClassNotFoundException { - FileOutputStream fout = new FileOutputStream("test.obj"); - ObjectOutputStream out = new ObjectOutputStream(fout); - out.writeObject(user); - out.flush(); - out.close(); + try (FileOutputStream fout = new FileOutputStream("test.obj")) { + ObjectOutputStream out = new ObjectOutputStream(fout); + out.writeObject(user); + out.flush(); + } - FileInputStream fin = new FileInputStream("test.obj"); - ObjectInputStream in = new ObjectInputStream(fin); - User savedUser = (User) in.readObject(); - in.close(); + try (FileInputStream fin = new FileInputStream("test.obj")) { + ObjectInputStream in = new ObjectInputStream(fin); + User savedUser = (User) in.readObject(); - assertEquals(user.getCurrentDevice(), savedUser.getCurrentDevice()); + assertEquals(user.getCurrentDevice(), savedUser.getCurrentDevice()); + } + + Files.deleteIfExists(Paths.get("test.obj")); } @Test