Skip to content

Commit ddb8618

Browse files
committed
[#2873] Test flush before running a native quer
And test native queries without entities.
1 parent 4994c99 commit ddb8618

File tree

1 file changed

+63
-0
lines changed

1 file changed

+63
-0
lines changed
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
/*
2+
* SPDX-License-Identifier: Apache-2.0
3+
* Copyright Red Hat Inc. and Hibernate Authors
4+
*/
5+
package org.hibernate.reactive;
6+
7+
import org.hibernate.FlushMode;
8+
9+
import org.junit.jupiter.api.Test;
10+
11+
import io.vertx.junit5.VertxTestContext;
12+
13+
import static org.assertj.core.api.Assertions.assertThat;
14+
15+
public class NoEntitiesTest extends BaseReactiveTest {
16+
17+
@Test
18+
public void emptyMetamodelWithMutiny() {
19+
assertThat( getMutinySessionFactory().getMetamodel().getEntities() ).isEmpty();
20+
}
21+
22+
@Test
23+
public void shouldBeAbleToRunQueryWithMutinyTransaction(VertxTestContext context) {
24+
test( context, getMutinySessionFactory()
25+
.withTransaction( s -> s
26+
.createNativeQuery( "select 42", Long.class ).getSingleResult()
27+
).invoke( result -> assertThat( result ).isEqualTo( 42L ) )
28+
);
29+
}
30+
31+
@Test
32+
public void runNativeQueryWithMutinyTransactionAndFlush(VertxTestContext context) {
33+
test( context, getMutinySessionFactory()
34+
.withTransaction( s -> {
35+
s.setFlushMode( FlushMode.ALWAYS );
36+
return s
37+
.createNativeQuery( "select 42", Long.class ).getSingleResult()
38+
.call( s::flush );
39+
} ).invoke( result -> assertThat( result ).isEqualTo( 42L ) )
40+
);
41+
}
42+
43+
@Test
44+
public void runStatelessNativeQueryWithMutinyTransactionAndFlush(VertxTestContext context) {
45+
test(
46+
context, getMutinySessionFactory()
47+
.withStatelessTransaction( s -> s
48+
.createNativeQuery( "select 42", Long.class )
49+
.getSingleResult()
50+
)
51+
.invoke( result -> assertThat( result ).isEqualTo( 42L ) )
52+
);
53+
}
54+
55+
@Test
56+
public void shouldBeAbleToRunQueryWithMutinyWithoutTransaction(VertxTestContext context) {
57+
test( context, getMutinySessionFactory()
58+
.openSession().chain( s -> s
59+
.createNativeQuery( "select 666", Long.class ).getSingleResult()
60+
).invoke( result -> assertThat( result ).isEqualTo( 666L ) )
61+
);
62+
}
63+
}

0 commit comments

Comments
 (0)