Skip to content

Commit f5428f4

Browse files
committed
Fix for merge error in #689
1 parent 7e473e5 commit f5428f4

File tree

1 file changed

+40
-41
lines changed

1 file changed

+40
-41
lines changed

src/test/kotlin/tools/jackson/module/kotlin/test/DurationTests.kt

Lines changed: 40 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,13 @@ package tools.jackson.module.kotlin.test
33
import com.fasterxml.jackson.annotation.JsonCreator
44
import com.fasterxml.jackson.annotation.JsonFormat
55
import com.fasterxml.jackson.annotation.JsonFormat.Shape.STRING
6-
import com.fasterxml.jackson.databind.ObjectMapper
7-
import com.fasterxml.jackson.databind.SerializationFeature.WRITE_DATES_AS_TIMESTAMPS
8-
import com.fasterxml.jackson.databind.SerializationFeature.WRITE_DURATIONS_AS_TIMESTAMPS
9-
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule
10-
import com.fasterxml.jackson.module.kotlin.KotlinFeature.UseJavaDurationConversion
11-
import com.fasterxml.jackson.module.kotlin.KotlinModule
12-
import com.fasterxml.jackson.module.kotlin.kotlinModule
13-
import com.fasterxml.jackson.module.kotlin.readValue
146
import org.junit.Test
7+
import tools.jackson.databind.SerializationFeature
8+
import tools.jackson.databind.json.JsonMapper
9+
import tools.jackson.datatype.jsr310.JavaTimeModule
10+
import tools.jackson.module.kotlin.KotlinFeature
11+
import tools.jackson.module.kotlin.kotlinModule
12+
import tools.jackson.module.kotlin.readValue
1513
import java.time.Instant
1614
import kotlin.test.assertContentEquals
1715
import kotlin.test.assertEquals
@@ -21,11 +19,14 @@ import java.time.Duration as JavaDuration
2119
import kotlin.time.Duration as KotlinDuration
2220

2321
class DurationTests {
24-
private val objectMapper = jacksonObjectMapper { enable(UseJavaDurationConversion) }
22+
private val mapperBuilder = JsonMapper.builder()
23+
.addModule(kotlinModule { enable(KotlinFeature.UseJavaDurationConversion) })
2524

2625
@Test
2726
fun `should serialize Kotlin duration using Java time module`() {
28-
val mapper = objectMapper.registerModule(JavaTimeModule()).disable(WRITE_DURATIONS_AS_TIMESTAMPS)
27+
val mapper = mapperBuilder.addModule(JavaTimeModule())
28+
.disable(SerializationFeature.WRITE_DURATIONS_AS_TIMESTAMPS)
29+
.build()
2930

3031
val result = mapper.writeValueAsString(1.hours)
3132

@@ -34,7 +35,7 @@ class DurationTests {
3435

3536
@Test
3637
fun `should deserialize Kotlin duration`() {
37-
val mapper = objectMapper.registerModule(JavaTimeModule())
38+
val mapper = mapperBuilder.addModule(JavaTimeModule()).build()
3839

3940
val result = mapper.readValue<KotlinDuration>("\"PT1H\"")
4041

@@ -43,9 +44,9 @@ class DurationTests {
4344

4445
@Test
4546
fun `should serialize Kotlin duration inside list using Java time module`() {
46-
val mapper = objectMapper
47-
.registerModule(JavaTimeModule())
48-
.disable(WRITE_DURATIONS_AS_TIMESTAMPS)
47+
val mapper = mapperBuilder.addModule(JavaTimeModule())
48+
.disable(SerializationFeature.WRITE_DURATIONS_AS_TIMESTAMPS)
49+
.build()
4950

5051
val result = mapper.writeValueAsString(listOf(1.hours, 2.hours, 3.hours))
5152

@@ -54,7 +55,7 @@ class DurationTests {
5455

5556
@Test
5657
fun `should deserialize Kotlin duration inside list`() {
57-
val mapper = objectMapper.registerModule(JavaTimeModule())
58+
val mapper = mapperBuilder.addModule(JavaTimeModule()).build()
5859

5960
val result = mapper.readValue<List<KotlinDuration>>("""["PT1H","PT2H","PT3H"]""")
6061

@@ -63,22 +64,24 @@ class DurationTests {
6364

6465
@Test
6566
fun `should serialize Kotlin duration inside map using Java time module`() {
66-
val mapper = objectMapper
67-
.registerModule(JavaTimeModule())
68-
.disable(WRITE_DURATIONS_AS_TIMESTAMPS)
69-
70-
val result = mapper.writeValueAsString(mapOf(
71-
"a" to 1.hours,
72-
"b" to 2.hours,
73-
"c" to 3.hours
74-
))
67+
val mapper = mapperBuilder.addModule(JavaTimeModule())
68+
.disable(SerializationFeature.WRITE_DURATIONS_AS_TIMESTAMPS)
69+
.build()
70+
71+
val result = mapper.writeValueAsString(
72+
mapOf(
73+
"a" to 1.hours,
74+
"b" to 2.hours,
75+
"c" to 3.hours
76+
)
77+
)
7578

7679
assertEquals("""{"a":"PT1H","b":"PT2H","c":"PT3H"}""", result)
7780
}
7881

7982
@Test
8083
fun `should deserialize Kotlin duration inside map`() {
81-
val mapper = objectMapper.registerModule(JavaTimeModule())
84+
val mapper = mapperBuilder.addModule(JavaTimeModule()).build()
8285

8386
val result = mapper.readValue<Map<String, KotlinDuration>>("""{"a":"PT1H","b":"PT2H","c":"PT3H"}""")
8487

@@ -106,10 +109,10 @@ class DurationTests {
106109

107110
@Test
108111
fun `should serialize Kotlin duration inside data class using Java time module`() {
109-
val mapper = objectMapper
110-
.registerModule(JavaTimeModule())
111-
.disable(WRITE_DATES_AS_TIMESTAMPS)
112-
.disable(WRITE_DURATIONS_AS_TIMESTAMPS)
112+
val mapper = mapperBuilder.addModule(JavaTimeModule())
113+
.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS)
114+
.disable(SerializationFeature.WRITE_DURATIONS_AS_TIMESTAMPS)
115+
.build()
113116

114117
val result = mapper.writeValueAsString(Meeting(Instant.parse("2023-06-20T14:00:00Z"), 1.5.hours))
115118

@@ -118,7 +121,7 @@ class DurationTests {
118121

119122
@Test
120123
fun `should deserialize Kotlin duration inside data class`() {
121-
val mapper = objectMapper.registerModule(JavaTimeModule())
124+
val mapper = mapperBuilder.addModule(JavaTimeModule()).build()
122125

123126
val result = mapper.readValue<Meeting>("""{"start":"2023-06-20T14:00:00Z","duration":"PT1H30M"}""")
124127

@@ -128,9 +131,9 @@ class DurationTests {
128131

129132
@Test
130133
fun `should deserialize Kotlin duration inside data class using mixin`() {
131-
val mapper = objectMapper
132-
.registerModule(JavaTimeModule())
134+
val mapper = mapperBuilder.addModule(JavaTimeModule())
133135
.addMixIn(Meeting::class.java, MeetingMixin::class.java)
136+
.build()
134137

135138
val meeting = mapper.readValue<Meeting>("""{"start":"2023-06-20T14:00:00Z","duration":"PT1H30M"}""")
136139

@@ -140,10 +143,10 @@ class DurationTests {
140143

141144
@Test
142145
fun `should serialize Kotlin duration inside data class using Java time module and mixin`() {
143-
val mapper = objectMapper
144-
.registerModule(JavaTimeModule())
145-
.disable(WRITE_DATES_AS_TIMESTAMPS)
146+
val mapper = mapperBuilder.addModule(JavaTimeModule())
147+
.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS)
146148
.addMixIn(Meeting::class.java, MeetingMixin::class.java)
149+
.build()
147150

148151
val result = mapper.writeValueAsString(Meeting(Instant.parse("2023-06-20T14:00:00Z"), 1.5.hours))
149152

@@ -170,7 +173,7 @@ class DurationTests {
170173

171174
@Test
172175
fun `should serialize Kotlin duration exactly as Java duration`() {
173-
val mapper = objectMapper.registerModule(JavaTimeModule())
176+
val mapper = mapperBuilder.addModule(JavaTimeModule()).build()
174177

175178
val jdto = JDTO()
176179
val kdto = KDTO()
@@ -195,15 +198,11 @@ class DurationTests {
195198

196199
@Test
197200
fun `should deserialize using custom units specified by format annotation`() {
198-
val mapper = objectMapper.registerModule(JavaTimeModule())
201+
val mapper = mapperBuilder.addModule(JavaTimeModule()).build()
199202

200203
val actual = mapper.readValue<DurationWithFormattedUnits>("""{"formatted":1,"default":1}""")
201204

202205
assertEquals(1.hours, actual.formatted)
203206
assertEquals(1.seconds, actual.default)
204207
}
205-
206-
private fun jacksonObjectMapper(
207-
configuration: KotlinModule.Builder.() -> Unit,
208-
) = ObjectMapper().registerModule(kotlinModule(configuration))
209208
}

0 commit comments

Comments
 (0)