11//J-
22package org .zalando .typemapper .postgres ;
33
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 ;
413import org .zalando .typemapper .AbstractTest ;
514import org .zalando .typemapper .namedresult .results .ClassWithEnum ;
615import org .zalando .typemapper .namedresult .results .ClassWithPredefinedTransformer ;
1322import org .zalando .typemapper .namedresult .results .InheritedClassWithPrimitivesDeprecated ;
1423import org .zalando .typemapper .namedresult .transformer .Hans ;
1524
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-
2725import java .sql .SQLException ;
2826import 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 ;
3535
3636import static org .hamcrest .CoreMatchers .is ;
3737import static org .hamcrest .MatcherAssert .assertThat ;
38+ import static org .zalando .typemapper .postgres .PgArray .ARRAY ;
39+ import static org .zalando .typemapper .postgres .PgRow .ROW ;
3840
3941
4042@ RunWith (Parameterized .class )
4143public class PgSerializerToDatabaseTestIT extends AbstractTest {
4244
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" );
6546 private final Object objectToSerialize ;
6647 private final String expectedString ;
6748 private final int expectedSQLType ;
49+ private TestContextManager testContextManager ;
50+ // Fields
51+ private JdbcTemplate template ;
6852
6953 /*
7054 * Constructor. The JUnit test runner will instantiate this class once for
@@ -161,10 +145,10 @@ public static Collection<Object[]> generateData() throws SQLException {
161145 /* 13 */
162146 {
163147 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" ),
168152 "(1,\" {\" \" (a,1,100)\" \" ,\" \" (b,2,200)\" \" }\" )" , Types .OTHER
169153 },
170154
@@ -188,8 +172,9 @@ public static Collection<Object[]> generateData() throws SQLException {
188172 {
189173 PgTypeHelper .asPGobject (
190174 new ClassWithSimpleTransformers (GenderCode .MALE , GenderCode .MALE ,
191- GenderCode .MALE , "path" ,
192- "listElement1" , "listElement2" , "listElement3" )),
175+ GenderCode .MALE , "path" ,
176+ "listElement1" , "listElement2" ,
177+ "listElement3" )),
193178 "(path,homme,0,MALE,listElement1#listElement2#listElement3)" , Types .OTHER
194179 },
195180
@@ -212,10 +197,14 @@ public static Collection<Object[]> generateData() throws SQLException {
212197 },
213198
214199 /* 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 },
216203
217204 /* 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 },
219208
220209 /* 22 */
221210 {PgTypeHelper .asPGobject (
@@ -224,6 +213,24 @@ public static Collection<Object[]> generateData() throws SQLException {
224213 });
225214 }
226215
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+
227234 @ Before
228235 public void createNeededTypes () throws SQLException {
229236 execute ("CREATE TYPE tmp.int_duplet AS (a int, b int);" );
@@ -267,7 +274,7 @@ public void dropUsedTypes() throws SQLException {
267274 @ Test
268275 public void passingParametersToQueryTest () {
269276 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 ));
271278 }
272279}
273280//J+
0 commit comments