improve-tests #28
@@ -55,19 +55,12 @@ class Connection(
|
|||||||
values: List<Any?>,
|
values: List<Any?>,
|
||||||
block: (QueryResult, R?) -> Unit
|
block: (QueryResult, R?) -> Unit
|
||||||
): R? {
|
): R? {
|
||||||
val primaryObject = values.firstOrNull {
|
|
||||||
it is EntityI && typeReference.type.typeName == it::class.java.name
|
|
||||||
} as R?
|
|
||||||
val result = exec(sql, compileArgs(values))
|
val result = exec(sql, compileArgs(values))
|
||||||
val json = result.rows.firstOrNull()?.getString(0)
|
val json = result.rows.firstOrNull()?.getString(0)
|
||||||
return if (json === null) {
|
return if (json === null) {
|
||||||
null
|
null
|
||||||
} else {
|
|
||||||
if (primaryObject != null) {
|
|
||||||
serializer.deserialize(json, primaryObject)
|
|
||||||
} else {
|
} else {
|
||||||
serializer.deserialize(json, typeReference)
|
serializer.deserialize(json, typeReference)
|
||||||
}
|
|
||||||
}.also {
|
}.also {
|
||||||
block(result, it)
|
block(result, it)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -42,13 +42,8 @@ class Serializer(val mapper: ObjectMapper = jacksonObjectMapper()) {
|
|||||||
inline fun <reified E> deserializeList(json: String): E {
|
inline fun <reified E> deserializeList(json: String): E {
|
||||||
return deserializeList(json, object : TypeReference<E>() {})
|
return deserializeList(json, object : TypeReference<E>() {})
|
||||||
}
|
}
|
||||||
|
|
||||||
fun <E> deserialize(json: String, target: E): E {
|
|
||||||
return mapper.readerForUpdating(target).readValue<E>(json)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fun Serializable.serialize(pretty: Boolean = false) = Serializer().serialize(this, pretty)
|
fun Serializable.serialize(pretty: Boolean = false) = Serializer().serialize(this, pretty)
|
||||||
fun List<Serializable>.serialize(pretty: Boolean = false) = Serializer().serialize(this, pretty)
|
fun List<Serializable>.serialize(pretty: Boolean = false) = Serializer().serialize(this, pretty)
|
||||||
inline fun <reified E : Serializable> E.deserialize(json: String) = Serializer().deserialize(json, this)
|
|
||||||
inline fun <reified E : Serializable> String.deserialize() = Serializer().deserialize<E>(this)
|
inline fun <reified E : Serializable> String.deserialize() = Serializer().deserialize<E>(this)
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ import org.junit.jupiter.api.Test
|
|||||||
import java.util.UUID
|
import java.util.UUID
|
||||||
|
|
||||||
class RequesterTest : TestAbstract() {
|
class RequesterTest : TestAbstract() {
|
||||||
class ObjTest(var name: String, id: UUID = UUID.fromString("5623d902-3067-42f3-bfd9-095dbb12c29f")) : UuidEntity(id)
|
class ObjTest(val name: String, id: UUID = UUID.fromString("5623d902-3067-42f3-bfd9-095dbb12c29f")) : UuidEntity(id)
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun `get query from file`() {
|
fun `get query from file`() {
|
||||||
@@ -100,7 +100,7 @@ class RequesterTest : TestAbstract() {
|
|||||||
.selectOne("resource" to obj2)!!
|
.selectOne("resource" to obj2)!!
|
||||||
|
|
||||||
assertEquals("changedName", obj.name)
|
assertEquals("changedName", obj.name)
|
||||||
assertEquals("changedName", obj2.name)
|
assertEquals("original", obj2.name)
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|||||||
@@ -69,20 +69,4 @@ internal class SerializerTest {
|
|||||||
assertEquals(obj.val1, objDeserialized!!.val1)
|
assertEquals(obj.val1, objDeserialized!!.val1)
|
||||||
assertEquals(obj.val2, objDeserialized.val2)
|
assertEquals(obj.val2, objDeserialized.val2)
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
fun deserializeUpdate() {
|
|
||||||
val objDeserialized: ObjTest = serializer.deserialize(objSerializedUpdate, obj)
|
|
||||||
assertTrue(obj === objDeserialized)
|
|
||||||
assertEquals("update", objDeserialized.val1)
|
|
||||||
assertEquals(123, objDeserialized.val2)
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
fun deserializeUpdate2() {
|
|
||||||
val objDeserialized = obj.deserialize(objSerializedUpdate)
|
|
||||||
assertTrue(obj === objDeserialized)
|
|
||||||
assertEquals("update", objDeserialized.val1)
|
|
||||||
assertEquals(123, objDeserialized.val2)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user