@ -45,7 +45,6 @@ import kotlin.reflect.typeOf
@@ -45,7 +45,6 @@ import kotlin.reflect.typeOf
* @author Andreas Ahlenstorf
* @author Sebastien Deleuze
* /
@Suppress ( " UsePropertyAccessSyntax " )
class KotlinSerializationJsonHttpMessageConverterTests {
private val converter = KotlinSerializationJsonHttpMessageConverter ( )
@ -54,22 +53,22 @@ class KotlinSerializationJsonHttpMessageConverterTests {
@@ -54,22 +53,22 @@ class KotlinSerializationJsonHttpMessageConverterTests {
fun canReadJson ( ) {
assertThat ( converter . canRead ( SerializableBean :: class . java , MediaType . APPLICATION _JSON ) ) . isTrue ( )
assertThat ( converter . canRead ( SerializableBean :: class . java , MediaType . APPLICATION _PDF ) ) . isFalse ( )
assertThat ( converter . canRead ( String :: class . java , MediaType . APPLICATION _JSON ) ) . isTru e ( )
assertThat ( converter . canRead ( String :: class . java , MediaType . APPLICATION _JSON ) ) . isFals e ( )
assertThat ( converter . canRead ( NotSerializableBean :: class . java , MediaType . APPLICATION _JSON ) ) . isFalse ( )
assertThat ( converter . canRead ( Map :: class . java , MediaType . APPLICATION _JSON ) ) . isTru e ( )
assertThat ( converter . canRead ( Map :: class . java , MediaType . APPLICATION _JSON ) ) . isFals e ( )
assertThat ( converter . canRead ( resolvableTypeOf < Map < String , SerializableBean > > ( ) , MediaType . APPLICATION _JSON ) ) . isTrue ( )
assertThat ( converter . canRead ( List :: class . java , MediaType . APPLICATION _JSON ) ) . isTru e ( )
assertThat ( converter . canRead ( List :: class . java , MediaType . APPLICATION _JSON ) ) . isFals e ( )
assertThat ( converter . canRead ( resolvableTypeOf < List < SerializableBean > > ( ) , MediaType . APPLICATION _JSON ) ) . isTrue ( )
assertThat ( converter . canRead ( Set :: class . java , MediaType . APPLICATION _JSON ) ) . isTru e ( )
assertThat ( converter . canRead ( Set :: class . java , MediaType . APPLICATION _JSON ) ) . isFals e ( )
assertThat ( converter . canRead ( resolvableTypeOf < Set < SerializableBean > > ( ) , MediaType . APPLICATION _JSON ) ) . isTrue ( )
assertThat ( converter . canRead ( resolvableTypeOf < List < Int > > ( ) , MediaType . APPLICATION _JSON ) ) . isTru e ( )
assertThat ( converter . canRead ( resolvableTypeOf < ArrayList < Int > > ( ) , MediaType . APPLICATION _JSON ) ) . isTru e ( )
assertThat ( converter . canRead ( resolvableTypeOf < List < Int > > ( ) , MediaType . APPLICATION _JSON ) ) . isFals e ( )
assertThat ( converter . canRead ( resolvableTypeOf < ArrayList < Int > > ( ) , MediaType . APPLICATION _JSON ) ) . isFals e ( )
assertThat ( converter . canRead ( resolvableTypeOf < List < Int > > ( ) , MediaType . APPLICATION _PDF ) ) . isFalse ( )
assertThat ( converter . canRead ( resolvableTypeOf < Ordered > ( ) , MediaType . APPLICATION _JSON ) ) . isTru e ( )
assertThat ( converter . canRead ( resolvableTypeOf < List < Ordered > > ( ) , MediaType . APPLICATION _JSON ) ) . isTru e ( )
assertThat ( converter . canRead ( resolvableTypeOf < Ordered > ( ) , MediaType . APPLICATION _JSON ) ) . isFals e ( )
assertThat ( converter . canRead ( resolvableTypeOf < List < Ordered > > ( ) , MediaType . APPLICATION _JSON ) ) . isFals e ( )
assertThat ( converter . canRead ( resolvableTypeOf < OrderedImpl > ( ) , MediaType . APPLICATION _JSON ) ) . isFalse ( )
assertThat ( converter . canRead ( resolvableTypeOf < List < OrderedImpl > > ( ) , MediaType . APPLICATION _JSON ) ) . isFalse ( )
@ -78,25 +77,55 @@ class KotlinSerializationJsonHttpMessageConverterTests {
@@ -78,25 +77,55 @@ class KotlinSerializationJsonHttpMessageConverterTests {
assertThat ( converter . canRead ( ResolvableType . forType ( BigDecimal :: class . java ) , MediaType . APPLICATION _JSON ) ) . isFalse ( )
}
@Test
fun canReadJsonWithAllTypes ( ) {
val converterWithAllTypes = KotlinSerializationJsonHttpMessageConverter { true }
assertThat ( converterWithAllTypes . canRead ( SerializableBean :: class . java , MediaType . APPLICATION _JSON ) ) . isTrue ( )
assertThat ( converterWithAllTypes . canRead ( SerializableBean :: class . java , MediaType . APPLICATION _PDF ) ) . isFalse ( )
assertThat ( converterWithAllTypes . canRead ( String :: class . java , MediaType . APPLICATION _JSON ) ) . isTrue ( )
assertThat ( converterWithAllTypes . canRead ( NotSerializableBean :: class . java , MediaType . APPLICATION _JSON ) ) . isFalse ( )
assertThat ( converterWithAllTypes . canRead ( Map :: class . java , MediaType . APPLICATION _JSON ) ) . isTrue ( )
assertThat ( converterWithAllTypes . canRead ( resolvableTypeOf < Map < String , SerializableBean > > ( ) , MediaType . APPLICATION _JSON ) ) . isTrue ( )
assertThat ( converterWithAllTypes . canRead ( List :: class . java , MediaType . APPLICATION _JSON ) ) . isTrue ( )
assertThat ( converterWithAllTypes . canRead ( resolvableTypeOf < List < SerializableBean > > ( ) , MediaType . APPLICATION _JSON ) ) . isTrue ( )
assertThat ( converterWithAllTypes . canRead ( Set :: class . java , MediaType . APPLICATION _JSON ) ) . isTrue ( )
assertThat ( converterWithAllTypes . canRead ( resolvableTypeOf < Set < SerializableBean > > ( ) , MediaType . APPLICATION _JSON ) ) . isTrue ( )
assertThat ( converterWithAllTypes . canRead ( resolvableTypeOf < List < Int > > ( ) , MediaType . APPLICATION _JSON ) ) . isTrue ( )
assertThat ( converterWithAllTypes . canRead ( resolvableTypeOf < ArrayList < Int > > ( ) , MediaType . APPLICATION _JSON ) ) . isTrue ( )
assertThat ( converterWithAllTypes . canRead ( resolvableTypeOf < List < Int > > ( ) , MediaType . APPLICATION _PDF ) ) . isFalse ( )
assertThat ( converterWithAllTypes . canRead ( resolvableTypeOf < Ordered > ( ) , MediaType . APPLICATION _JSON ) ) . isTrue ( )
assertThat ( converterWithAllTypes . canRead ( resolvableTypeOf < List < Ordered > > ( ) , MediaType . APPLICATION _JSON ) ) . isTrue ( )
assertThat ( converterWithAllTypes . canRead ( resolvableTypeOf < OrderedImpl > ( ) , MediaType . APPLICATION _JSON ) ) . isFalse ( )
assertThat ( converterWithAllTypes . canRead ( resolvableTypeOf < List < OrderedImpl > > ( ) , MediaType . APPLICATION _JSON ) ) . isFalse ( )
assertThat ( converterWithAllTypes . canRead ( ResolvableType . forType ( ResolvableType . NONE . type ) , MediaType . APPLICATION _JSON ) ) . isFalse ( )
assertThat ( converterWithAllTypes . canRead ( ResolvableType . forType ( BigDecimal :: class . java ) , MediaType . APPLICATION _JSON ) ) . isFalse ( )
}
@Test
fun canWriteJson ( ) {
assertThat ( converter . canWrite ( SerializableBean :: class . java , MediaType . APPLICATION _JSON ) ) . isTrue ( )
assertThat ( converter . canWrite ( SerializableBean :: class . java , MediaType . APPLICATION _PDF ) ) . isFalse ( )
assertThat ( converter . canWrite ( String :: class . java , MediaType . APPLICATION _JSON ) ) . isTrue ( )
assertThat ( converter . canWrite ( String :: class . java , MediaType . APPLICATION _JSON ) ) . isFals e ( )
assertThat ( converter . canWrite ( NotSerializableBean :: class . java , MediaType . APPLICATION _JSON ) ) . isFalse ( )
assertThat ( converter . canWrite ( Map :: class . java , MediaType . APPLICATION _JSON ) ) . isTrue ( )
assertThat ( converter . canWrite ( Map :: class . java , MediaType . APPLICATION _JSON ) ) . isFals e ( )
assertThat ( converter . canWrite ( resolvableTypeOf < Map < String , SerializableBean > > ( ) , Map :: class . java , MediaType . APPLICATION _JSON ) ) . isTrue ( )
assertThat ( converter . canWrite ( List :: class . java , MediaType . APPLICATION _JSON ) ) . isTrue ( )
assertThat ( converter . canWrite ( List :: class . java , MediaType . APPLICATION _JSON ) ) . isFals e ( )
assertThat ( converter . canWrite ( resolvableTypeOf < List < SerializableBean > > ( ) , List :: class . java , MediaType . APPLICATION _JSON ) ) . isTrue ( )
assertThat ( converter . canWrite ( Set :: class . java , MediaType . APPLICATION _JSON ) ) . isTrue ( )
assertThat ( converter . canWrite ( Set :: class . java , MediaType . APPLICATION _JSON ) ) . isFals e ( )
assertThat ( converter . canWrite ( resolvableTypeOf < Set < SerializableBean > > ( ) , Set :: class . java , MediaType . APPLICATION _JSON ) ) . isTrue ( )
assertThat ( converter . canWrite ( resolvableTypeOf < List < Int > > ( ) , List :: class . java , MediaType . APPLICATION _JSON ) ) . isTrue ( )
assertThat ( converter . canWrite ( resolvableTypeOf < ArrayList < Int > > ( ) , List :: class . java , MediaType . APPLICATION _JSON ) ) . isTrue ( )
assertThat ( converter . canWrite ( resolvableTypeOf < List < Int > > ( ) , List :: class . java , MediaType . APPLICATION _JSON ) ) . isFals e ( )
assertThat ( converter . canWrite ( resolvableTypeOf < ArrayList < Int > > ( ) , List :: class . java , MediaType . APPLICATION _JSON ) ) . isFals e ( )
assertThat ( converter . canWrite ( resolvableTypeOf < List < Int > > ( ) , List :: class . java , MediaType . APPLICATION _PDF ) ) . isFalse ( )
assertThat ( converter . canWrite ( resolvableTypeOf < Ordered > ( ) , Ordered :: class . java , MediaType . APPLICATION _JSON ) ) . isTrue ( )
assertThat ( converter . canWrite ( resolvableTypeOf < Ordered > ( ) , Ordered :: class . java , MediaType . APPLICATION _JSON ) ) . isFals e ( )
assertThat ( converter . canWrite ( resolvableTypeOf < OrderedImpl > ( ) , OrderedImpl :: class . java , MediaType . APPLICATION _JSON ) ) . isFalse ( )
assertThat ( converter . canWrite ( ResolvableType . NONE , SerializableBean :: class . java , MediaType . APPLICATION _JSON ) ) . isFalse ( )
@ -104,6 +133,34 @@ class KotlinSerializationJsonHttpMessageConverterTests {
@@ -104,6 +133,34 @@ class KotlinSerializationJsonHttpMessageConverterTests {
assertThat ( converter . canWrite ( ResolvableType . forType ( BigDecimal :: class . java ) , BigDecimal :: class . java , MediaType . APPLICATION _JSON ) ) . isFalse ( )
}
@Test
fun canWriteJsonWithAllTypes ( ) {
val converterWithAllTypes = KotlinSerializationJsonHttpMessageConverter { true }
assertThat ( converterWithAllTypes . canWrite ( SerializableBean :: class . java , MediaType . APPLICATION _JSON ) ) . isTrue ( )
assertThat ( converterWithAllTypes . canWrite ( SerializableBean :: class . java , MediaType . APPLICATION _PDF ) ) . isFalse ( )
assertThat ( converterWithAllTypes . canWrite ( String :: class . java , MediaType . APPLICATION _JSON ) ) . isTrue ( )
assertThat ( converterWithAllTypes . canWrite ( NotSerializableBean :: class . java , MediaType . APPLICATION _JSON ) ) . isFalse ( )
assertThat ( converterWithAllTypes . canWrite ( Map :: class . java , MediaType . APPLICATION _JSON ) ) . isTrue ( )
assertThat ( converterWithAllTypes . canWrite ( resolvableTypeOf < Map < String , SerializableBean > > ( ) , Map :: class . java , MediaType . APPLICATION _JSON ) ) . isTrue ( )
assertThat ( converterWithAllTypes . canWrite ( List :: class . java , MediaType . APPLICATION _JSON ) ) . isTrue ( )
assertThat ( converterWithAllTypes . canWrite ( resolvableTypeOf < List < SerializableBean > > ( ) , List :: class . java , MediaType . APPLICATION _JSON ) ) . isTrue ( )
assertThat ( converterWithAllTypes . canWrite ( Set :: class . java , MediaType . APPLICATION _JSON ) ) . isTrue ( )
assertThat ( converterWithAllTypes . canWrite ( resolvableTypeOf < Set < SerializableBean > > ( ) , Set :: class . java , MediaType . APPLICATION _JSON ) ) . isTrue ( )
assertThat ( converterWithAllTypes . canWrite ( resolvableTypeOf < List < Int > > ( ) , List :: class . java , MediaType . APPLICATION _JSON ) ) . isTrue ( )
assertThat ( converterWithAllTypes . canWrite ( resolvableTypeOf < ArrayList < Int > > ( ) , List :: class . java , MediaType . APPLICATION _JSON ) ) . isTrue ( )
assertThat ( converterWithAllTypes . canWrite ( resolvableTypeOf < List < Int > > ( ) , List :: class . java , MediaType . APPLICATION _PDF ) ) . isFalse ( )
assertThat ( converterWithAllTypes . canWrite ( resolvableTypeOf < Ordered > ( ) , Ordered :: class . java , MediaType . APPLICATION _JSON ) ) . isTrue ( )
assertThat ( converterWithAllTypes . canWrite ( resolvableTypeOf < OrderedImpl > ( ) , OrderedImpl :: class . java , MediaType . APPLICATION _JSON ) ) . isFalse ( )
assertThat ( converterWithAllTypes . canWrite ( ResolvableType . NONE , SerializableBean :: class . java , MediaType . APPLICATION _JSON ) ) . isFalse ( )
assertThat ( converterWithAllTypes . canWrite ( ResolvableType . forType ( BigDecimal :: class . java ) , BigDecimal :: class . java , MediaType . APPLICATION _JSON ) ) . isFalse ( )
}
@Test
fun canReadMicroformats ( ) {
val jsonSubtype = MediaType ( " application " , " vnd.test-micro-type+json " )
@ -364,13 +421,13 @@ class KotlinSerializationJsonHttpMessageConverterTests {
@@ -364,13 +421,13 @@ class KotlinSerializationJsonHttpMessageConverterTests {
@Test
fun canReadBigDecimalWithSerializerModule ( ) {
val customConverter = KotlinSerializationJsonHttpMessageConverter ( customJson )
val customConverter = KotlinSerializationJsonHttpMessageConverter ( customJson ) { true }
assertThat ( customConverter . canRead ( BigDecimal :: class . java , MediaType . APPLICATION _JSON ) ) . isTrue ( )
}
@Test
fun canWriteBigDecimalWithSerializerModule ( ) {
val customConverter = KotlinSerializationJsonHttpMessageConverter ( customJson )
val customConverter = KotlinSerializationJsonHttpMessageConverter ( customJson ) { true }
assertThat ( customConverter . canWrite ( BigDecimal :: class . java , MediaType . APPLICATION _JSON ) ) . isTrue ( )
}