1
1
//J-
2
2
package org .zalando .typemapper .postgres ;
3
3
4
+ import org .junit .After ;
5
+ import org .junit .Before ;
6
+ import org .junit .Test ;
7
+ import org .junit .runner .RunWith ;
8
+ import org .junit .runners .Parameterized ;
9
+ import org .junit .runners .Parameterized .Parameters ;
10
+ import org .springframework .jdbc .core .JdbcTemplate ;
11
+ import org .springframework .jdbc .datasource .SingleConnectionDataSource ;
12
+ import org .springframework .test .context .TestContextManager ;
4
13
import org .zalando .typemapper .AbstractTest ;
5
14
import org .zalando .typemapper .namedresult .results .ClassWithEnum ;
6
15
import org .zalando .typemapper .namedresult .results .ClassWithPredefinedTransformer ;
13
22
import org .zalando .typemapper .namedresult .results .InheritedClassWithPrimitivesDeprecated ;
14
23
import org .zalando .typemapper .namedresult .transformer .Hans ;
15
24
16
-
17
- import org .junit .After ;
18
- import org .junit .Before ;
19
- import org .junit .Test ;
20
- import org .junit .runner .RunWith ;
21
- import org .junit .runners .Parameterized ;
22
- import org .junit .runners .Parameterized .Parameters ;
23
- import org .springframework .jdbc .core .JdbcTemplate ;
24
- import org .springframework .jdbc .datasource .SingleConnectionDataSource ;
25
- import org .springframework .test .context .TestContextManager ;
26
-
27
25
import java .sql .SQLException ;
28
26
import java .sql .Types ;
29
- import java .util .*;
30
-
31
-
32
- import static org .zalando .typemapper .postgres .PgArray .ARRAY ;
33
- import static org .zalando .typemapper .postgres .PgRow .ROW ;
34
-
27
+ import java .time .OffsetDateTime ;
28
+ import java .time .ZoneId ;
29
+ import java .time .format .DateTimeFormatter ;
30
+ import java .util .Arrays ;
31
+ import java .util .Collection ;
32
+ import java .util .Date ;
33
+ import java .util .HashMap ;
34
+ import java .util .Map ;
35
35
36
36
import static org .hamcrest .CoreMatchers .is ;
37
37
import static org .hamcrest .MatcherAssert .assertThat ;
38
+ import static org .zalando .typemapper .postgres .PgArray .ARRAY ;
39
+ import static org .zalando .typemapper .postgres .PgRow .ROW ;
38
40
39
41
40
42
@ RunWith (Parameterized .class )
41
43
public class PgSerializerToDatabaseTestIT extends AbstractTest {
42
44
43
- private TestContextManager testContextManager ;
44
-
45
- @ Override
46
- protected void prepareContext () throws Exception {
47
- testContextManager = new TestContextManager (getClass ());
48
- testContextManager .prepareTestInstance (this );
49
- }
50
-
51
- @ Before
52
- public void createJdbcTemplate () {
53
- // BasicConfigurator.configure();
54
- // Logger.getRootLogger().setLevel(Level.INFO);
55
- // Logger.getLogger(org.springframework.jdbc.datasource.DataSourceUtils.class).setLevel(Level.INFO);
56
- // Logger.getLogger("org.springframework.jdbc.core.JdbcTemplate").setLevel(Level.WARN);
57
- // Logger.getLogger("org.springframework.beans").setLevel(Level.WARN);
58
- // Logger.getLogger("org.springframework.jdbc.support").setLevel(Level.WARN);
59
-
60
- this .template = new JdbcTemplate (new SingleConnectionDataSource (this .connection , false ));
61
- }
62
-
63
- // Fields
64
- private JdbcTemplate template ;
45
+ private static final DateTimeFormatter TIMESTAMP_FORMATTER = DateTimeFormatter .ofPattern ("yyyy-MM-dd hh:mm:ssx" );
65
46
private final Object objectToSerialize ;
66
47
private final String expectedString ;
67
48
private final int expectedSQLType ;
49
+ private TestContextManager testContextManager ;
50
+ // Fields
51
+ private JdbcTemplate template ;
68
52
69
53
/*
70
54
* Constructor. The JUnit test runner will instantiate this class once for
@@ -161,10 +145,10 @@ public static Collection<Object[]> generateData() throws SQLException {
161
145
/* 13 */
162
146
{
163
147
ROW (1 ,
164
- new ClassWithPrimitives []{
165
- new ClassWithPrimitives (1 , 100L , 'a' ), new ClassWithPrimitives (2 , 200L ,
166
- 'b' )
167
- }).asPGobject ("int_with_additional_type_array" ),
148
+ new ClassWithPrimitives []{
149
+ new ClassWithPrimitives (1 , 100L , 'a' ), new ClassWithPrimitives (2 , 200L ,
150
+ 'b' )
151
+ }).asPGobject ("int_with_additional_type_array" ),
168
152
"(1,\" {\" \" (a,1,100)\" \" ,\" \" (b,2,200)\" \" }\" )" , Types .OTHER
169
153
},
170
154
@@ -188,8 +172,9 @@ public static Collection<Object[]> generateData() throws SQLException {
188
172
{
189
173
PgTypeHelper .asPGobject (
190
174
new ClassWithSimpleTransformers (GenderCode .MALE , GenderCode .MALE ,
191
- GenderCode .MALE , "path" ,
192
- "listElement1" , "listElement2" , "listElement3" )),
175
+ GenderCode .MALE , "path" ,
176
+ "listElement1" , "listElement2" ,
177
+ "listElement3" )),
193
178
"(path,homme,0,MALE,listElement1#listElement2#listElement3)" , Types .OTHER
194
179
},
195
180
@@ -212,10 +197,14 @@ public static Collection<Object[]> generateData() throws SQLException {
212
197
},
213
198
214
199
/* 20 */
215
- {new Date (1354338366000L ), "2012-12-01 06:06:06+01" , Types .TIMESTAMP },
200
+ {new Date (1354338366000L ), OffsetDateTime .parse ("2012-12-01T06:06:06+01:00" )
201
+ .atZoneSameInstant (ZoneId .systemDefault ())
202
+ .format (TIMESTAMP_FORMATTER ), Types .TIMESTAMP },
216
203
217
204
/* 21 */
218
- {new Date (1349064366000L ), "2012-10-01 06:06:06+02" , Types .TIMESTAMP },
205
+ {new Date (1349064366000L ), OffsetDateTime .parse ("2012-10-01T06:06:06+02:00" )
206
+ .atZoneSameInstant (ZoneId .systemDefault ())
207
+ .format (TIMESTAMP_FORMATTER ), Types .TIMESTAMP },
219
208
220
209
/* 22 */
221
210
{PgTypeHelper .asPGobject (
@@ -224,6 +213,24 @@ public static Collection<Object[]> generateData() throws SQLException {
224
213
});
225
214
}
226
215
216
+ @ Override
217
+ protected void prepareContext () throws Exception {
218
+ testContextManager = new TestContextManager (getClass ());
219
+ testContextManager .prepareTestInstance (this );
220
+ }
221
+
222
+ @ Before
223
+ public void createJdbcTemplate () {
224
+ // BasicConfigurator.configure();
225
+ // Logger.getRootLogger().setLevel(Level.INFO);
226
+ // Logger.getLogger(org.springframework.jdbc.datasource.DataSourceUtils.class).setLevel(Level.INFO);
227
+ // Logger.getLogger("org.springframework.jdbc.core.JdbcTemplate").setLevel(Level.WARN);
228
+ // Logger.getLogger("org.springframework.beans").setLevel(Level.WARN);
229
+ // Logger.getLogger("org.springframework.jdbc.support").setLevel(Level.WARN);
230
+
231
+ this .template = new JdbcTemplate (new SingleConnectionDataSource (this .connection , false ));
232
+ }
233
+
227
234
@ Before
228
235
public void createNeededTypes () throws SQLException {
229
236
execute ("CREATE TYPE tmp.int_duplet AS (a int, b int);" );
@@ -267,7 +274,7 @@ public void dropUsedTypes() throws SQLException {
267
274
@ Test
268
275
public void passingParametersToQueryTest () {
269
276
assertThat (template .queryForObject ("SELECT (?)::TEXT" , new Object []{this .objectToSerialize },
270
- new int []{this .expectedSQLType }, String .class ), is (this .expectedString ));
277
+ new int []{this .expectedSQLType }, String .class ), is (this .expectedString ));
271
278
}
272
279
}
273
280
//J+
0 commit comments