refactoring

pull/5688/head
Nikita Koksharov 11 months ago
parent dfb2b24fdd
commit ef35c2a63e

@ -43,12 +43,6 @@
<version>3.11.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
@ -56,12 +50,6 @@
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>testcontainers</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>

@ -33,6 +33,14 @@
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>testcontainers</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>

@ -53,6 +53,12 @@
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>testcontainers</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>

@ -46,6 +46,13 @@
<version>2.3.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>testcontainers</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>

@ -33,21 +33,12 @@
<scope>test</scope>
</dependency>
<!--
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>5.8.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>junit-jupiter</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-params</artifactId>
<version>5.8.2</version>
<scope>test</scope>
</dependency>
-->
</dependencies>
<build>
@ -58,7 +49,6 @@
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<redirectTestOutputToFile>true</redirectTestOutputToFile>
<forkCount>2</forkCount>
<reuseForks>true</reuseForks>
<argLine>
${argLine}

@ -1,17 +1,18 @@
package org.redisson.hibernate;
import jakarta.persistence.*;
import org.hibernate.Session;
import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy;
import org.hibernate.cfg.Configuration;
import org.hibernate.cfg.Environment;
import org.hibernate.stat.Statistics;
import org.hibernate.testing.junit4.BaseCoreFunctionalTestCase;
import org.junit.*;
import jakarta.persistence.*;
import org.hibernate.testing.orm.junit.BaseSessionFactoryFunctionalTest;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.testcontainers.containers.FixedHostPortGenericContainer;
import org.testcontainers.containers.GenericContainer;
import org.testcontainers.junit.jupiter.Container;
import org.testcontainers.junit.jupiter.Testcontainers;
import java.io.Serializable;
import java.util.ArrayList;
@ -24,14 +25,15 @@ import static org.assertj.core.api.Assertions.assertThat;
* @author Nikita Koksharov
*
*/
public class CollectionTest extends BaseCoreFunctionalTestCase {
@Testcontainers
public class CollectionTest extends BaseSessionFactoryFunctionalTest {
@ClassRule
public static GenericContainer H2 = new FixedHostPortGenericContainer("oscarfonts/h2:latest")
@Container
public static final GenericContainer H2 = new FixedHostPortGenericContainer("oscarfonts/h2:latest")
.withFixedExposedPort(1521, 1521);
@ClassRule
public static GenericContainer REDIS = new FixedHostPortGenericContainer("redis:latest")
@Container
public static final GenericContainer REDIS = new FixedHostPortGenericContainer("redis:latest")
.withFixedExposedPort(6379, 6379);
@Entity
@ -65,23 +67,7 @@ public class CollectionTest extends BaseCoreFunctionalTestCase {
return new Class[] { A.class, B.class };
}
@Override
protected void configure(Configuration cfg) {
super.configure(cfg);
// cfg.setProperty(Environment.DRIVER, org.h2.Driver.class.getName());
// cfg.setProperty(Environment.URL, "jdbc:h2:mem:db1;DB_CLOSE_DELAY=-1;");
// cfg.setProperty(Environment.USER, "sa");
// cfg.setProperty(Environment.PASS, "");
cfg.setProperty(Environment.CACHE_REGION_PREFIX, "");
cfg.setProperty(Environment.GENERATE_STATISTICS, "true");
cfg.setProperty(Environment.SHOW_SQL, "true");
cfg.setProperty(Environment.USE_SECOND_LEVEL_CACHE, "true");
cfg.setProperty(Environment.USE_QUERY_CACHE, "true");
cfg.setProperty(Environment.CACHE_REGION_FACTORY, RedissonRegionFactory.class.getName());
}
@Before
@BeforeEach
public void before() {
sessionFactory().getCache().evictEntityData();
sessionFactory().getStatistics().clear();
@ -91,7 +77,7 @@ public class CollectionTest extends BaseCoreFunctionalTestCase {
public void testQuery() {
Statistics stats = sessionFactory().getStatistics();
Session s = openSession();
Session s = sessionFactory().openSession();
s.beginTransaction();
A a = new A();
@ -105,16 +91,15 @@ public class CollectionTest extends BaseCoreFunctionalTestCase {
s.flush();
s.getTransaction().commit();
s = openSession();
s = sessionFactory().openSession();
s.beginTransaction();
A a1 = s.get(A.class, 1L);
System.out.println("here1");
assertThat(a1.bs).hasSize(1);
s.getTransaction().commit();
Assert.assertEquals(0, stats.getDomainDataRegionStatistics("org.redisson.hibernate.CollectionTest$A.bs").getHitCount());
Assertions.assertEquals(0, stats.getDomainDataRegionStatistics("org.redisson.hibernate.CollectionTest$A.bs").getHitCount());
s = openSession();
s = sessionFactory().openSession();
s.beginTransaction();
A a2 = s.get(A.class, 1L);
B b2 = a2.bs.iterator().next();
@ -123,7 +108,7 @@ public class CollectionTest extends BaseCoreFunctionalTestCase {
s.close();
Assert.assertEquals(1, stats.getDomainDataRegionStatistics("org.redisson.hibernate.CollectionTest$A.bs").getHitCount());
Assertions.assertEquals(1, stats.getDomainDataRegionStatistics("org.redisson.hibernate.CollectionTest$A.bs").getHitCount());
stats.logSummary();

@ -1,31 +1,34 @@
package org.redisson.hibernate;
import static org.assertj.core.api.Assertions.assertThat;
import java.util.Arrays;
import org.hibernate.query.Query;
import org.hibernate.Session;
import org.hibernate.cfg.Configuration;
import org.hibernate.cfg.Environment;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.query.Query;
import org.hibernate.stat.Statistics;
import org.hibernate.testing.junit4.BaseCoreFunctionalTestCase;
import org.junit.Assert;
import org.junit.Before;
import org.junit.ClassRule;
import org.junit.Test;
import org.hibernate.testing.orm.junit.BaseSessionFactoryFunctionalTest;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.testcontainers.containers.FixedHostPortGenericContainer;
import org.testcontainers.containers.GenericContainer;
import org.testcontainers.junit.jupiter.Container;
import org.testcontainers.junit.jupiter.Testcontainers;
import java.util.Arrays;
/**
*
* @author Nikita Koksharov
*
*/
public class ReadWriteTest extends BaseCoreFunctionalTestCase {
@Testcontainers
public class ReadWriteTest extends BaseSessionFactoryFunctionalTest {
@Container
public static final GenericContainer H2 = new FixedHostPortGenericContainer("oscarfonts/h2:latest")
.withFixedExposedPort(1521, 1521);
@ClassRule
public static GenericContainer REDIS = new FixedHostPortGenericContainer("redis:latest")
@Container
public static final GenericContainer REDIS = new FixedHostPortGenericContainer("redis:latest")
.withFixedExposedPort(6379, 6379);
@Override
@ -34,25 +37,13 @@ public class ReadWriteTest extends BaseCoreFunctionalTestCase {
}
@Override
protected void configure(Configuration cfg) {
super.configure(cfg);
// cfg.setProperty(Environment.DRIVER, org.h2.Driver.class.getName());
// cfg.setProperty(Environment.URL, "jdbc:h2:mem:db1;DB_CLOSE_DELAY=-1;");
// cfg.setProperty(Environment.USER, "sa");
// cfg.setProperty(Environment.PASS, "");
cfg.setProperty(Environment.CACHE_REGION_PREFIX, "");
cfg.setProperty(Environment.GENERATE_STATISTICS, "true");
cfg.setProperty(Environment.USE_SECOND_LEVEL_CACHE, "true");
cfg.setProperty(Environment.USE_QUERY_CACHE, "true");
cfg.setProperty(Environment.CACHE_REGION_FACTORY, RedissonRegionFactory.class.getName());
cfg.setProperty("hibernate.cache.redisson.item.eviction.max_entries", "100");
cfg.setProperty("hibernate.cache.redisson.item.expiration.time_to_live", "1500");
cfg.setProperty("hibernate.cache.redisson.item.expiration.max_idle_time", "1000");
protected void applySettings(StandardServiceRegistryBuilder builder) {
builder.applySetting("hibernate.cache.redisson.item.eviction.max_entries", "100");
builder.applySetting("hibernate.cache.redisson.item.expiration.time_to_live", "1500");
builder.applySetting("hibernate.cache.redisson.item.expiration.max_idle_time", "1000");
}
@Before
@BeforeEach
public void before() {
sessionFactory().getCache().evictAllRegions();
sessionFactory().getStatistics().clear();
@ -62,7 +53,7 @@ public class ReadWriteTest extends BaseCoreFunctionalTestCase {
public void testQuery() {
Statistics stats = sessionFactory().getStatistics();
Session s = openSession();
Session s = sessionFactory().openSession();
s.beginTransaction();
ItemReadWrite item = new ItemReadWrite("data");
item.getEntries().addAll(Arrays.asList("a", "b", "c"));
@ -70,7 +61,7 @@ public class ReadWriteTest extends BaseCoreFunctionalTestCase {
s.flush();
s.getTransaction().commit();
s = openSession();
s = sessionFactory().openSession();
s.beginTransaction();
Query<ItemReadWrite> query = s.getNamedQuery("testQuery");
query.setCacheable(true);
@ -80,9 +71,9 @@ public class ReadWriteTest extends BaseCoreFunctionalTestCase {
s.getTransaction().commit();
s.close();
Assert.assertEquals(1, stats.getDomainDataRegionStatistics("myTestQuery").getPutCount());
Assertions.assertEquals(1, stats.getDomainDataRegionStatistics("myTestQuery").getPutCount());
s = openSession();
s = sessionFactory().openSession();
s.beginTransaction();
Query<ItemReadWrite> query2 = s.getNamedQuery("testQuery");
query2.setCacheable(true);
@ -92,8 +83,8 @@ public class ReadWriteTest extends BaseCoreFunctionalTestCase {
s.delete(item);
s.getTransaction().commit();
s.close();
Assert.assertEquals(1, stats.getDomainDataRegionStatistics("myTestQuery").getHitCount());
Assertions.assertEquals(1, stats.getDomainDataRegionStatistics("myTestQuery").getHitCount());
stats.logSummary();
}

@ -1,31 +1,35 @@
package org.redisson.hibernate;
import static org.assertj.core.api.Assertions.assertThat;
import java.util.Arrays;
import org.hibernate.Session;
import org.hibernate.cfg.Configuration;
import org.hibernate.cfg.Environment;
import org.hibernate.query.Query;
import org.hibernate.stat.Statistics;
import org.hibernate.testing.junit4.BaseCoreFunctionalTestCase;
import org.junit.Assert;
import org.junit.Before;
import org.junit.ClassRule;
import org.junit.Test;
import org.hibernate.testing.orm.junit.BaseSessionFactoryFunctionalTest;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.testcontainers.containers.FixedHostPortGenericContainer;
import org.testcontainers.containers.GenericContainer;
import org.testcontainers.junit.jupiter.Container;
import org.testcontainers.junit.jupiter.Testcontainers;
import java.util.Arrays;
import static org.assertj.core.api.Assertions.assertThat;
/**
*
* @author Nikita Koksharov
*
*/
public class TransactionalTest extends BaseCoreFunctionalTestCase {
@Testcontainers
public class TransactionalTest extends BaseSessionFactoryFunctionalTest {
@Container
public static final GenericContainer H2 = new FixedHostPortGenericContainer("oscarfonts/h2:latest")
.withFixedExposedPort(1521, 1521);
@ClassRule
public static GenericContainer REDIS = new FixedHostPortGenericContainer("redis:latest")
@Container
public static final GenericContainer REDIS = new FixedHostPortGenericContainer("redis:latest")
.withFixedExposedPort(6379, 6379);
@Override
@ -33,22 +37,7 @@ public class TransactionalTest extends BaseCoreFunctionalTestCase {
return new Class[] { ItemTransactional.class};
}
@Override
protected void configure(Configuration cfg) {
super.configure(cfg);
// cfg.setProperty(Environment.DRIVER, org.h2.Driver.class.getName());
// cfg.setProperty(Environment.URL, "jdbc:h2:mem:db1;DB_CLOSE_DELAY=-1;");
// cfg.setProperty(Environment.USER, "sa");
// cfg.setProperty(Environment.PASS, "");
cfg.setProperty(Environment.CACHE_REGION_PREFIX, "");
cfg.setProperty(Environment.GENERATE_STATISTICS, "true");
cfg.setProperty(Environment.USE_SECOND_LEVEL_CACHE, "true");
cfg.setProperty(Environment.USE_QUERY_CACHE, "true");
cfg.setProperty(Environment.CACHE_REGION_FACTORY, RedissonRegionFactory.class.getName());
}
@Before
@BeforeEach
public void before() {
sessionFactory().getCache().evictAllRegions();
sessionFactory().getStatistics().clear();
@ -58,7 +47,7 @@ public class TransactionalTest extends BaseCoreFunctionalTestCase {
public void testQuery() {
Statistics stats = sessionFactory().getStatistics();
Session s = openSession();
Session s = sessionFactory().openSession();
s.beginTransaction();
ItemTransactional item = new ItemTransactional("data");
item.getEntries().addAll(Arrays.asList("a", "b", "c"));
@ -66,7 +55,7 @@ public class TransactionalTest extends BaseCoreFunctionalTestCase {
s.flush();
s.getTransaction().commit();
s = openSession();
s = sessionFactory().openSession();
s.beginTransaction();
Query query = s.getNamedQuery("testQuery");
query.setCacheable(true);
@ -76,9 +65,9 @@ public class TransactionalTest extends BaseCoreFunctionalTestCase {
s.getTransaction().commit();
s.close();
Assert.assertEquals(1, stats.getDomainDataRegionStatistics("myTestQuery").getPutCount());
Assertions.assertEquals(1, stats.getDomainDataRegionStatistics("myTestQuery").getPutCount());
s = openSession();
s = sessionFactory().openSession();
s.beginTransaction();
Query query2 = s.getNamedQuery("testQuery");
query2.setCacheable(true);
@ -89,7 +78,7 @@ public class TransactionalTest extends BaseCoreFunctionalTestCase {
s.getTransaction().commit();
s.close();
Assert.assertEquals(1, stats.getDomainDataRegionStatistics("myTestQuery").getHitCount());
Assertions.assertEquals(1, stats.getDomainDataRegionStatistics("myTestQuery").getHitCount());
stats.logSummary();
@ -100,7 +89,7 @@ public class TransactionalTest extends BaseCoreFunctionalTestCase {
Long id = null;
Statistics stats = sessionFactory().getStatistics();
Session s = openSession();
Session s = sessionFactory().openSession();
s.beginTransaction();
ItemTransactional item = new ItemTransactional("data");
item.getEntries().addAll(Arrays.asList("a", "b", "c"));
@ -108,16 +97,16 @@ public class TransactionalTest extends BaseCoreFunctionalTestCase {
s.flush();
s.getTransaction().commit();
s = openSession();
s = sessionFactory().openSession();
s.beginTransaction();
item = (ItemTransactional) s.get(ItemTransactional.class, id);
assertThat(item.getEntries()).containsExactly("a", "b", "c");
s.getTransaction().commit();
s.close();
Assert.assertEquals(1, stats.getDomainDataRegionStatistics("item_entries").getPutCount());
Assertions.assertEquals(1, stats.getDomainDataRegionStatistics("item_entries").getPutCount());
s = openSession();
s = sessionFactory().openSession();
s.beginTransaction();
item = (ItemTransactional) s.get(ItemTransactional.class, id);
assertThat(item.getEntries()).containsExactly("a", "b", "c");
@ -125,13 +114,13 @@ public class TransactionalTest extends BaseCoreFunctionalTestCase {
s.getTransaction().commit();
s.close();
Assert.assertEquals(1, stats.getDomainDataRegionStatistics("item_entries").getHitCount());
Assertions.assertEquals(1, stats.getDomainDataRegionStatistics("item_entries").getHitCount());
}
@Test
public void testNaturalId() {
Statistics stats = sessionFactory().getStatistics();
Session s = openSession();
Session s = sessionFactory().openSession();
s.beginTransaction();
ItemTransactional item = new ItemTransactional("data");
item.setNid("123");
@ -139,10 +128,10 @@ public class TransactionalTest extends BaseCoreFunctionalTestCase {
s.flush();
s.getTransaction().commit();
Assert.assertEquals(1, stats.getDomainDataRegionStatistics("item").getPutCount());
Assert.assertEquals(1, stats.getNaturalIdStatistics(ItemTransactional.class.getName()).getCachePutCount());
Assertions.assertEquals(1, stats.getDomainDataRegionStatistics("item").getPutCount());
Assertions.assertEquals(1, stats.getNaturalIdStatistics(ItemTransactional.class.getName()).getCachePutCount());
s = openSession();
s = sessionFactory().openSession();
s.beginTransaction();
item = (ItemTransactional) s.bySimpleNaturalId(ItemTransactional.class).load("123");
assertThat(item).isNotNull();
@ -150,8 +139,8 @@ public class TransactionalTest extends BaseCoreFunctionalTestCase {
s.getTransaction().commit();
s.close();
Assert.assertEquals(1, stats.getDomainDataRegionStatistics("item").getHitCount());
Assert.assertEquals(1, stats.getNaturalIdStatistics(ItemTransactional.class.getName()).getCacheHitCount());
Assertions.assertEquals(1, stats.getDomainDataRegionStatistics("item").getHitCount());
Assertions.assertEquals(1, stats.getNaturalIdStatistics(ItemTransactional.class.getName()).getCacheHitCount());
sessionFactory().getStatistics().logSummary();
}
@ -160,16 +149,16 @@ public class TransactionalTest extends BaseCoreFunctionalTestCase {
public void testUpdateWithRefreshThenRollback() {
Statistics stats = sessionFactory().getStatistics();
Long id = null;
Session s = openSession();
Session s = sessionFactory().openSession();
s.beginTransaction();
ItemTransactional item = new ItemTransactional( "data" );
id = (Long) s.save( item );
s.flush();
s.getTransaction().commit();
Assert.assertEquals(1, stats.getDomainDataRegionStatistics("item").getPutCount());
Assertions.assertEquals(1, stats.getDomainDataRegionStatistics("item").getPutCount());
s = openSession();
s = sessionFactory().openSession();
s.beginTransaction();
item = (ItemTransactional) s.get(ItemTransactional.class, id);
item.setName("newdata");
@ -180,7 +169,7 @@ public class TransactionalTest extends BaseCoreFunctionalTestCase {
s.clear();
s.close();
Assert.assertEquals(1, stats.getDomainDataRegionStatistics("item").getHitCount());
Assertions.assertEquals(1, stats.getDomainDataRegionStatistics("item").getHitCount());
}

@ -2,4 +2,11 @@ hibernate.connection.driver_class=org.h2.Driver
hibernate.connection.url=jdbc:h2:mem:db1;DB_CLOSE_DELAY=-1
hibernate.connection.username=sa
hibernate.connection.password=
hibernate.dialect=org.hibernate.dialect.H2Dialect
hibernate.dialect=org.hibernate.dialect.H2Dialect
hibernate.cache.region_prefix=
hibernate.generate_statistics=true
hibernate.show_sql=true
hibernate.cache.use_second_level_cache=true
hibernate.cache.use_query_cache=true
hibernate.cache.region.factory_class=org.redisson.hibernate.RedissonRegionFactory
Loading…
Cancel
Save