Skip to content

Commit

Permalink
HHH-18026 Add test for issue
Browse files Browse the repository at this point in the history
  • Loading branch information
mbladel committed May 20, 2024
1 parent dfbb72a commit c23d75c
Showing 1 changed file with 22 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -15,25 +15,33 @@
import org.hibernate.annotations.SourceType;
import org.hibernate.annotations.UpdateTimestamp;
import org.hibernate.cfg.AvailableSettings;
import org.hibernate.engine.jdbc.spi.SqlExceptionHelper;
import org.hibernate.engine.spi.EntityEntry;
import org.hibernate.engine.spi.PersistenceContext;
import org.hibernate.generator.EventType;
import org.hibernate.generator.values.GeneratedValuesMutationDelegate;
import org.hibernate.id.insert.AbstractReturningDelegate;
import org.hibernate.id.insert.AbstractSelectingDelegate;
import org.hibernate.id.insert.UniqueKeySelectingDelegate;
import org.hibernate.internal.CoreMessageLogger;
import org.hibernate.persister.entity.EntityPersister;
import org.hibernate.sql.model.MutationType;

import org.hibernate.testing.jdbc.SQLStatementInspector;
import org.hibernate.testing.logger.Triggerable;
import org.hibernate.testing.orm.junit.DialectFeatureChecks;
import org.hibernate.testing.orm.junit.DomainModel;
import org.hibernate.testing.orm.junit.RequiresDialectFeature;
import org.hibernate.testing.orm.junit.ServiceRegistry;
import org.hibernate.testing.orm.junit.SessionFactory;
import org.hibernate.testing.orm.junit.SessionFactoryScope;
import org.hibernate.testing.orm.junit.Setting;
import org.hibernate.testing.orm.logger.LoggerInspectionExtension;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.RegisterExtension;

import org.jboss.logging.Logger;

import jakarta.persistence.Column;
import jakarta.persistence.Entity;
Expand Down Expand Up @@ -76,6 +84,7 @@ public void testInsertGeneratedIdentityOnly(SessionFactoryScope scope) {

assertThat( inspector.getSqlQueries().get( 0 ) ).contains( "insert" );
inspector.assertExecutedCount( delegate instanceof AbstractReturningDelegate ? 1 : 2 );
assertThat( triggerable.wasTriggered() ).isFalse();
} );
}

Expand Down Expand Up @@ -240,6 +249,19 @@ private static GeneratedValuesMutationDelegate getDelegate(
return entityDescriptor.getMutationDelegate( mutationType );
}

private Triggerable triggerable;

@RegisterExtension
public LoggerInspectionExtension logger = LoggerInspectionExtension.builder().setLogger(
Logger.getMessageLogger( CoreMessageLogger.class, SqlExceptionHelper.class.getName() )
).build();

@BeforeAll
public void setUp(SessionFactoryScope scope) {
triggerable = logger.watchForLogMessages( "SQL Error:" );
triggerable.reset();
}

@Entity( name = "IdentityOnly" )
public static class IdentityOnly {
@Id
Expand Down

0 comments on commit c23d75c

Please sign in to comment.