MediaProcessing/shared/kafka/src/test/kotlin/SerializationTest.kt
2023-12-07 23:34:48 +01:00

46 lines
1.4 KiB
Kotlin

import com.fasterxml.jackson.databind.ObjectMapper
import com.google.gson.Gson
import no.iktdev.mediaprocessing.shared.contract.ProcessType
import no.iktdev.mediaprocessing.shared.kafka.core.DefaultConsumer
import no.iktdev.mediaprocessing.shared.kafka.core.DeserializingRegistry
import no.iktdev.mediaprocessing.shared.kafka.core.KafkaEvents
import no.iktdev.mediaprocessing.shared.kafka.dto.Message
import no.iktdev.mediaprocessing.shared.kafka.dto.MessageDataWrapper
import no.iktdev.mediaprocessing.shared.kafka.dto.events_result.ProcessStarted
import no.iktdev.streamit.library.kafka.dto.Status
import org.junit.jupiter.api.Test
import org.assertj.core.api.Assertions.assertThat
class SerializationTest {
@Test
fun serialize() {
val gson = Gson()
val message = Message(
"d2fb1472-ebdd-4fce-9ffd-7202a1ad911d",
"01e4420d-f7ab-49b5-ac5b-8b0f4f4a600e",
data = ProcessStarted(
Status.COMPLETED,
ProcessType.MANUAL,
file = "Potato.mp4"
))
val json = gson.toJson(message)
val deserializer = DeserializingRegistry()
val result = deserializer.deserialize(KafkaEvents.EVENT_PROCESS_STARTED, json)
assertThat(result.data).isInstanceOf(ProcessStarted::class.java)
}
}
data class MockData(
override val status: Status,
val tekst: String
): MessageDataWrapper(status)