Skip to content

Commit

Permalink
Mixin serialization test fixed.
Browse files Browse the repository at this point in the history
Class can't be nested, since Jackson will fail in that case.
Removed custom jackson handler, since it seems new Jackson copes with it.
Doesn't jet work with Option[Mixin].

Use Revenj default credentials for DB access.
  • Loading branch information
zapov committed Nov 30, 2014
1 parent aa507bf commit 90962cf
Show file tree
Hide file tree
Showing 4 changed files with 27 additions and 249 deletions.
@@ -1,6 +1,6 @@
package com.dslplatform.api.client

import com.fasterxml.jackson.module.scala.ser.CustomDefaultScalaModule
import com.fasterxml.jackson.module.scala.DefaultScalaModule
import scala.io.Source
import scala.reflect.ClassTag
import scala.xml.Elem
Expand Down Expand Up @@ -92,8 +92,7 @@ class JsonSerialization(locator: ServiceLocator) {

private val serializationMapper =
new ObjectMapper()
.registerModule(com.fasterxml.jackson.module.scala.DefaultScalaModule)
//.registerModule(DefaultScalaModule)
.registerModule(DefaultScalaModule)
.setSerializationInclusion(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL)
.registerModule(serializationModule)
//.configure(MapperFeature.AUTO_DETECT_GETTERS, false)
Expand All @@ -112,7 +111,8 @@ class JsonSerialization(locator: ServiceLocator) {

private val deserializationMapper = {
val mapper = new ObjectMapper()
mapper.registerModule(CustomDefaultScalaModule)
mapper
.registerModule(DefaultScalaModule)
.registerModule(deserializationModule)
.setInjectableValues(new InjectableValues.Std addValue ("__locator", locator))
.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false)
Expand Down

This file was deleted.

45 changes: 22 additions & 23 deletions http/src/test/scala/com/dslplatform/test/SerializationTest.scala
Expand Up @@ -5,7 +5,7 @@ import com.dslplatform.api.patterns.{PersistableRepository, ServiceLocator}
import com.dslplatform.test.complex.{BaseRoot, EmptyRoot}
import com.dslplatform.test.concept.{emptyConcept, fieldedConcept, rootWithConcept}
import com.dslplatform.test.simple._
import com.fasterxml.jackson.annotation.{JsonProperty, JsonSubTypes, JsonTypeInfo, JsonTypeName}
import com.fasterxml.jackson.annotation._
import org.joda.time.{DateTime, LocalDate}
import org.specs2.mutable._
import org.specs2.specification.Step
Expand Down Expand Up @@ -185,28 +185,6 @@ class SerializationTest extends Specification with Common {
t1.signature === Some(KnownImplementation())
}


@JsonSubTypes(Array(new JsonSubTypes.Type(classOf[KnownImplementation])))
trait BaseSignature

@JsonTypeName("my.Implementation")
case class KnownImplementation() extends BaseSignature

class TestMe(
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "$type")
@JsonProperty("signature")
__signature: BaseSignature) {
private var _signature: Option[BaseSignature] = Option(__signature)

@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "$type")
@JsonProperty("signature")
def signature = _signature

def signature_=(value: Option[BaseSignature]) {
_signature = value
}
}

def historyDeserialization = { jsonSerialization: JsonSerialization =>
val historyPayload = """[
{"Snapshots":[
Expand All @@ -229,3 +207,24 @@ class SerializationTest extends Specification with Common {
history(1).snapshots(0).value.s === "qwe"
}
}

@JsonSubTypes(Array(new JsonSubTypes.Type(classOf[KnownImplementation])))
trait BaseSignature

@JsonTypeName("my.Implementation")
case class KnownImplementation() extends BaseSignature

class TestMe (
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "$type")
@JsonProperty("signature")
__signature: BaseSignature) {
private var _signature: Option[BaseSignature] = Option(__signature)

@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "$type")
@JsonProperty("signature")
def signature = _signature

def signature_=(value: Option[BaseSignature]) {
_signature = value
}
}
2 changes: 1 addition & 1 deletion http/test-lib/Revenj.Http.exe.config
Expand Up @@ -7,7 +7,7 @@
<appSettings>
<add key="PluginsPath" value="." />
<add key="ServerAssembly" value="test.dll"/>
<add key="ConnectionString" value="server=localhost;port=5432;database=scalaclienttest;user=scalaclienttest;password=scalaclienttest;encoding=unicode" />
<add key="ConnectionString" value="server=localhost;port=5432;database=scalaclienttest;user=revenj;password=revenj;encoding=unicode" />
<add key="HttpAddress_local8999" value="http://localhost:8999/" />
<add key="DefaultAuthorization" value="Basic cmV2ZW5qOnJldmVuag==" />
<add key="CustomAuth" value="Revenj.Http.NoAuth"/>
Expand Down

0 comments on commit 90962cf

Please sign in to comment.