21
21
import jakarta .persistence .Table ;
22
22
23
23
import static java .util .concurrent .TimeUnit .MINUTES ;
24
- import static org .junit .jupiter .api .Assertions .assertEquals ;
25
- import static org .junit .jupiter .api .Assertions .assertNotNull ;
24
+ import static org .assertj .core .api .Assertions .assertThat ;
26
25
27
26
/**
28
27
* Tests queries using named parameters like ":name",
@@ -49,52 +48,63 @@ public void populateDb(VertxTestContext context) {
49
48
50
49
@ Test
51
50
public void testAutoFlushOnSingleResult (VertxTestContext context ) {
52
- Flour semolina = new Flour (678 , "Semoline" , "the coarse, purified wheat middlings of durum wheat used in making pasta." , "Wheat flour" );
51
+ Flour semolina = new Flour (
52
+ 678 ,
53
+ "Semoline" ,
54
+ "the coarse, purified wheat middlings of durum wheat used in making pasta." ,
55
+ "Wheat flour"
56
+ );
53
57
test ( context , getSessionFactory ()
54
58
.withSession ( s -> s
55
59
.persist ( semolina )
56
60
.thenCompose ( v -> s .createSelectionQuery ( "from Flour where id = :id" , Flour .class )
57
61
.setParameter ( "id" , semolina .getId () )
58
62
.getSingleResult ()
59
63
)
60
- .thenAccept ( found -> assertEquals ( semolina , found ) )
64
+ .thenAccept ( found -> assertThat ( found ). isEqualTo ( semolina ) )
61
65
)
62
66
);
63
67
}
64
68
65
69
@ Test
66
70
public void testSelectScalarValues (VertxTestContext context ) {
67
71
test ( context , getSessionFactory ().withSession ( s -> {
68
- Stage .SelectionQuery <String > qr = s .createSelectionQuery ( "SELECT 'Prova' FROM Flour WHERE id = :id" , String .class )
72
+ Stage .SelectionQuery <String > qr = s .createSelectionQuery (
73
+ "SELECT 'Prova' FROM Flour WHERE id = :id" ,
74
+ String .class
75
+ )
69
76
.setParameter ( "id" , rye .getId () );
70
- assertNotNull ( qr );
77
+ assertThat ( qr ). isNotNull ( );
71
78
return qr .getSingleResult ();
72
- } ).thenAccept ( found -> assertEquals ( "Prova" , found ) )
79
+ } ).thenAccept ( found -> assertThat ( found ). isEqualTo ( "Prova" ) )
73
80
);
74
81
}
75
82
76
83
@ Test
77
84
public void testSelectWithMultipleScalarValues (VertxTestContext context ) {
78
85
test ( context , getSessionFactory ().withSession ( s -> {
79
- Stage .SelectionQuery <Object []> qr = s .createSelectionQuery ( "SELECT 'Prova', f.id FROM Flour f WHERE f.id = :id" , Object [].class )
80
- .setParameter ( "id" , rye .getId () );
81
- assertNotNull ( qr );
82
- return qr .getSingleResult ();
83
- } ).thenAccept ( found -> {
84
- assertEquals ( "Prova" , ( (Object []) found )[0 ] );
85
- assertEquals ( rye .getId (), ( (Object []) found )[1 ] );
86
- } )
86
+ Stage .SelectionQuery <Object []> qr = s .createSelectionQuery (
87
+ "SELECT 'Prova', f.id FROM Flour f WHERE f.id = :id" ,
88
+ Object [].class
89
+ )
90
+ .setParameter ( "id" , rye .getId () );
91
+ assertThat ( qr ).isNotNull ();
92
+ return qr .getSingleResult ();
93
+ } )
94
+ .thenAccept ( found -> assertThat ( found )
95
+ .containsExactly ( "Prova" , rye .getId () ) )
87
96
);
88
97
}
89
98
90
99
@ Test
91
100
public void testSingleResultQueryOnId (VertxTestContext context ) {
92
101
test ( context , getSessionFactory ().withSession ( s -> {
93
- Stage .SelectionQuery <Flour > qr = s .createSelectionQuery ( "FROM Flour WHERE id = :id" , Flour .class )
102
+ Stage .SelectionQuery <Flour > qr = s
103
+ .createSelectionQuery ( "FROM Flour WHERE id = :id" , Flour .class )
94
104
.setParameter ( "id" , 1 );
95
- assertNotNull ( qr );
105
+ assertThat ( qr ). isNotNull ( );
96
106
return qr .getSingleResult ();
97
- } ).thenAccept ( flour -> assertEquals ( spelt , flour ) )
107
+ } ).thenAccept ( flour -> assertThat ( flour ). isEqualTo ( spelt ) )
98
108
);
99
109
}
100
110
@@ -103,76 +113,81 @@ public void testSingleResultQueryOnName(VertxTestContext context) {
103
113
test ( context , getSessionFactory ().withSession ( s -> {
104
114
Stage .SelectionQuery <Flour > qr = s .createSelectionQuery ( "FROM Flour WHERE name = :name" , Flour .class )
105
115
.setParameter ( "name" , "Almond" );
106
- assertNotNull ( qr );
116
+ assertThat ( qr ). isNotNull ( );
107
117
return qr .getSingleResult ();
108
- } ).thenAccept ( flour -> assertEquals ( almond , flour ) )
118
+ } ).thenAccept ( flour -> assertThat ( flour ). isEqualTo ( almond ) )
109
119
);
110
120
}
111
121
112
122
@ Test
113
123
public void testSingleResultMultipleParameters (VertxTestContext context ) {
114
124
test ( context , getSessionFactory ().withSession ( s -> {
115
- Stage .SelectionQuery <Flour > qr = s .createSelectionQuery ( "FROM Flour WHERE name = :name and description = :desc" , Flour .class )
125
+ Stage .SelectionQuery <Flour > qr = s .createSelectionQuery (
126
+ "FROM Flour WHERE name = :name and description = :desc" ,
127
+ Flour .class
128
+ )
116
129
.setParameter ( "name" , almond .getName () )
117
130
.setParameter ( "desc" , almond .getDescription () );
118
- assertNotNull ( qr );
131
+ assertThat ( qr ). isNotNull ( );
119
132
return qr .getSingleResult ();
120
- } ).thenAccept ( flour -> assertEquals ( almond , flour ) )
133
+ } ).thenAccept ( flour -> assertThat ( flour ). isEqualTo ( almond ) )
121
134
);
122
135
}
123
136
124
137
@ Test
125
138
public void testSingleResultMultipleParametersReversed (VertxTestContext context ) {
126
139
test ( context , getSessionFactory ().withSession ( s -> {
127
- Stage .SelectionQuery <Flour > qr = s .createSelectionQuery ( "FROM Flour WHERE name = :name and description = :desc" , Flour .class )
140
+ Stage .SelectionQuery <Flour > qr = s .createSelectionQuery (
141
+ "FROM Flour WHERE name = :name and description = :desc" ,
142
+ Flour .class
143
+ )
128
144
.setParameter ( "desc" , almond .getDescription () )
129
145
.setParameter ( "name" , almond .getName () );
130
- assertNotNull ( qr );
146
+ assertThat ( qr ). isNotNull ( );
131
147
return qr .getSingleResult ();
132
- } ).thenAccept ( flour -> assertEquals ( almond , flour ) )
148
+ } ).thenAccept ( flour -> assertThat ( flour ). isEqualTo ( almond ) )
133
149
);
134
150
}
135
151
136
152
@ Test
137
153
public void testSingleResultMultipleParametersReused (VertxTestContext context ) {
138
154
test ( context , getSessionFactory ().withSession ( s -> {
139
- Stage .SelectionQuery <Flour > qr = s .createSelectionQuery ( "FROM Flour WHERE name = :name or cast(:name as string) is null" , Flour .class )
155
+ Stage .SelectionQuery <Flour > qr = s .createSelectionQuery (
156
+ "FROM Flour WHERE name = :name or cast(:name as string) is null" ,
157
+ Flour .class
158
+ )
140
159
.setParameter ( "name" , almond .getName () );
141
- assertNotNull ( qr );
160
+ assertThat ( qr ). isNotNull ( );
142
161
return qr .getSingleResult ();
143
- } ).thenAccept ( flour -> assertEquals ( almond , flour ) )
162
+ } ).thenAccept ( flour -> assertThat ( flour ). isEqualTo ( almond ) )
144
163
);
145
164
}
146
165
147
166
@ Test
148
167
public void testPlaceHolderInString (VertxTestContext context ) {
149
168
test ( context , getSessionFactory ().withSession ( s -> {
150
- Stage .SelectionQuery <Object []> qr = s .createSelectionQuery ( "select ':', ':name', f FROM Flour f WHERE f.name = :name" , Object [].class )
169
+ Stage .SelectionQuery <Object []> qr = s .createSelectionQuery (
170
+ "select ':', ':name', f FROM Flour f WHERE f.name = :name" ,
171
+ Object [].class
172
+ )
151
173
.setParameter ( "name" , almond .getName () );
152
- assertNotNull ( qr );
174
+ assertThat ( qr ). isNotNull ( );
153
175
return qr .getSingleResult ();
154
- } ).thenAccept ( result -> {
155
- assertEquals ( 3 , result .length );
156
- assertEquals ( ":" , result [0 ] );
157
- assertEquals ( ":name" , result [1 ] );
158
- assertEquals ( almond , result [2 ] );
159
- } )
176
+ } ).thenAccept ( result -> assertThat ( result ).containsExactly ( ":" , ":name" , almond ) )
160
177
);
161
178
}
162
179
163
180
@ Test
164
181
public void testPlaceHolderAndSingleQuoteInString (VertxTestContext context ) {
165
182
test ( context , getSessionFactory ().withSession ( s -> {
166
- Stage .SelectionQuery <Object []> qr = s .createSelectionQuery ( "select ''':', ''':name''', f FROM Flour f WHERE f.name = :name" , Object [].class )
183
+ Stage .SelectionQuery <Object []> qr = s .createSelectionQuery (
184
+ "select ''':', ''':name''', f FROM Flour f WHERE f.name = :name" ,
185
+ Object [].class
186
+ )
167
187
.setParameter ( "name" , almond .getName () );
168
- assertNotNull ( qr );
188
+ assertThat ( qr ). isNotNull ( );
169
189
return qr .getSingleResult ();
170
- } ).thenAccept ( result -> {
171
- assertEquals ( 3 , result .length );
172
- assertEquals ( "':" , result [0 ] );
173
- assertEquals ( "':name'" , result [1 ] );
174
- assertEquals ( almond , result [2 ] );
175
- } )
190
+ } ).thenAccept ( result -> assertThat ( result ).containsExactly ( "':" , "':name'" , almond ) )
176
191
);
177
192
}
178
193
0 commit comments