Skip to content

Commit

Permalink
fix: update video images and video resource to receive correct data
Browse files Browse the repository at this point in the history
  • Loading branch information
Lukinhasssss committed May 28, 2024
1 parent ce70c8b commit a185455
Show file tree
Hide file tree
Showing 6 changed files with 117 additions and 64 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -73,11 +73,11 @@ class VideoListener(
duration = duration,
opened = opened,
published = published,
banner = banner,
thumbnail = thumbnail,
thumbnailHalf = thumbnailHalf,
trailer = trailer,
video = video,
banner = banner?.location,
thumbnail = thumbnail?.location,
thumbnailHalf = thumbnailHalf?.location,
trailer = trailer?.encodedLocation,
video = video?.encodedLocation,
categories = categoriesId,
castMembers = castMembersId,
genres = genresId,
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package com.lukinhasssss.catalogo.infrastructure.video.models

data class ImageResourceDTO(
val id: String,
val name: String,
val checksum: String,
val location: String
)
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
package com.lukinhasssss.catalogo.infrastructure.video.models

import com.lukinhasssss.catalogo.domain.video.Video

data class VideoDTO(
val id: String,
val title: String,
Expand All @@ -11,37 +9,14 @@ data class VideoDTO(
val duration: Double,
val opened: Boolean,
val published: Boolean,
val banner: String? = null,
val thumbnail: String? = null,
val thumbnailHalf: String? = null,
val trailer: String? = null,
val video: String? = null,
val banner: ImageResourceDTO? = null,
val thumbnail: ImageResourceDTO? = null,
val thumbnailHalf: ImageResourceDTO? = null,
val trailer: VideoResourceDTO? = null,
val video: VideoResourceDTO? = null,
val categoriesId: Set<String>,
val castMembersId: Set<String>,
val genresId: Set<String>,
val createdAt: String,
val updatedAt: String
) {
companion object {
fun from(video: Video) = VideoDTO(
id = video.id,
title = video.title,
description = video.description,
yearLaunched = video.launchedAt.value,
rating = video.rating.name,
duration = video.duration,
opened = video.opened,
published = video.published,
banner = video.banner,
thumbnail = video.thumbnail,
thumbnailHalf = video.thumbnailHalf,
trailer = video.trailer,
video = video.video,
categoriesId = video.categories,
castMembersId = video.castMembers,
genresId = video.genres,
createdAt = video.createdAt.toString(),
updatedAt = video.updatedAt.toString()
)
}
}
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package com.lukinhasssss.catalogo.infrastructure.video.models

data class VideoResourceDTO(
val id: String,
val name: String,
val checksum: String,
val location: String,
val encodedLocation: String,
val status: String
)
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,17 @@ import com.lukinhasssss.catalogo.AbstractEmbeddedKafkaTest
import com.lukinhasssss.catalogo.application.video.delete.DeleteVideoUseCase
import com.lukinhasssss.catalogo.application.video.save.SaveVideoUseCase
import com.lukinhasssss.catalogo.domain.Fixture.Videos.cleanCode
import com.lukinhasssss.catalogo.domain.utils.IdUtils
import com.lukinhasssss.catalogo.domain.video.Video
import com.lukinhasssss.catalogo.infrastructure.configuration.json.Json
import com.lukinhasssss.catalogo.infrastructure.kafka.models.connect.MessageValue
import com.lukinhasssss.catalogo.infrastructure.kafka.models.connect.Operation
import com.lukinhasssss.catalogo.infrastructure.kafka.models.connect.ValuePayload
import com.lukinhasssss.catalogo.infrastructure.video.VideoClient
import com.lukinhasssss.catalogo.infrastructure.video.models.ImageResourceDTO
import com.lukinhasssss.catalogo.infrastructure.video.models.VideoDTO
import com.lukinhasssss.catalogo.infrastructure.video.models.VideoEvent
import com.lukinhasssss.catalogo.infrastructure.video.models.VideoResourceDTO
import com.ninjasquad.springmockk.MockkBean
import com.ninjasquad.springmockk.SpykBean
import io.mockk.every
Expand Down Expand Up @@ -122,7 +126,7 @@ class VideoListenerTest : AbstractEmbeddedKafkaTest() {
val latch = CountDownLatch(1)

every { saveVideoUseCase.execute(any()) } answers { latch.countDown(); SaveVideoUseCase.Output(id) }
every { videoClient.videoOfId(any()) } returns VideoDTO.from(this)
every { videoClient.videoOfId(any()) } returns this.toVideoDTO()

// when
producer.send(ProducerRecord(videoTopics, message)).get(10, TimeUnit.SECONDS)
Expand Down Expand Up @@ -169,7 +173,7 @@ class VideoListenerTest : AbstractEmbeddedKafkaTest() {
val latch = CountDownLatch(1)

every { saveVideoUseCase.execute(any()) } answers { latch.countDown(); SaveVideoUseCase.Output(id) }
every { videoClient.videoOfId(any()) } returns VideoDTO.from(this)
every { videoClient.videoOfId(any()) } returns this.toVideoDTO()

// when
producer.send(ProducerRecord(videoTopics, message)).get(10, TimeUnit.SECONDS)
Expand Down Expand Up @@ -216,7 +220,7 @@ class VideoListenerTest : AbstractEmbeddedKafkaTest() {
val latch = CountDownLatch(1)

every { deleteVideoUseCase.execute(any()) } answers { latch.countDown() }
every { videoClient.videoOfId(any()) } returns VideoDTO.from(this)
every { videoClient.videoOfId(any()) } returns this.toVideoDTO()

// when
producer.send(ProducerRecord(videoTopics, message)).get(10, TimeUnit.SECONDS)
Expand All @@ -227,4 +231,41 @@ class VideoListenerTest : AbstractEmbeddedKafkaTest() {
verify { deleteVideoUseCase.execute(DeleteVideoUseCase.Input(id)) }
}
}

private fun Video.toVideoDTO() = VideoDTO(
id = id,
title = title,
description = description,
yearLaunched = launchedAt.value,
rating = rating.name,
duration = duration,
opened = opened,
published = published,
banner = imageResourceDTO(banner!!),
thumbnail = imageResourceDTO(thumbnail!!),
thumbnailHalf = imageResourceDTO(thumbnailHalf!!),
trailer = videoResourceDTO(trailer!!),
video = videoResourceDTO(this.video!!),
categoriesId = categories,
castMembersId = castMembers,
genresId = genres,
createdAt = createdAt.toString(),
updatedAt = updatedAt.toString()
)

private fun videoResourceDTO(data: String) = VideoResourceDTO(
id = IdUtils.uuid(),
name = data,
checksum = IdUtils.uuid(),
location = data,
encodedLocation = data,
status = "processed"
)

private fun imageResourceDTO(data: String) = ImageResourceDTO(
id = IdUtils.uuid(),
name = data,
checksum = IdUtils.uuid(),
location = data
)
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,11 @@ import com.github.tomakehurst.wiremock.client.WireMock.verify
import com.lukinhasssss.catalogo.AbstractRestClientTest
import com.lukinhasssss.catalogo.domain.Fixture.Videos.cleanCode
import com.lukinhasssss.catalogo.domain.exception.InternalErrorException
import com.lukinhasssss.catalogo.domain.utils.IdUtils
import com.lukinhasssss.catalogo.infrastructure.authentication.ClientCredentialsManager
import com.lukinhasssss.catalogo.infrastructure.video.models.ImageResourceDTO
import com.lukinhasssss.catalogo.infrastructure.video.models.VideoDTO
import com.lukinhasssss.catalogo.infrastructure.video.models.VideoResourceDTO
import com.ninjasquad.springmockk.SpykBean
import io.github.resilience4j.bulkhead.BulkheadFullException
import io.github.resilience4j.circuitbreaker.CallNotPermittedException
Expand Down Expand Up @@ -52,11 +55,11 @@ class VideoRestClientTest : AbstractRestClientTest() {
duration = duration,
opened = opened,
published = published,
banner = banner,
thumbnail = thumbnail,
thumbnailHalf = thumbnailHalf,
trailer = trailer,
video = this.video,
banner = imageResourceDTO(banner!!),
thumbnail = imageResourceDTO(thumbnail!!),
thumbnailHalf = imageResourceDTO(thumbnailHalf!!),
trailer = videoResourceDTO(trailer!!),
video = videoResourceDTO(this.video!!),
categoriesId = categories,
castMembersId = castMembers,
genresId = genres,
Expand Down Expand Up @@ -89,11 +92,11 @@ class VideoRestClientTest : AbstractRestClientTest() {
assertEquals(cleanCode.duration, duration)
assertEquals(cleanCode.opened, opened)
assertEquals(cleanCode.published, published)
assertEquals(cleanCode.banner, banner)
assertEquals(cleanCode.thumbnail, thumbnail)
assertEquals(cleanCode.thumbnailHalf, thumbnailHalf)
assertEquals(cleanCode.trailer, trailer)
assertEquals(cleanCode.video, video)
assertEquals(cleanCode.banner, banner?.location)
assertEquals(cleanCode.thumbnail, thumbnail?.location)
assertEquals(cleanCode.thumbnailHalf, thumbnailHalf?.location)
assertEquals(cleanCode.trailer, trailer?.encodedLocation)
assertEquals(cleanCode.video, video?.encodedLocation)
assertEquals(cleanCode.categories, categoriesId)
assertEquals(cleanCode.castMembers, castMembersId)
assertEquals(cleanCode.genres, genresId)
Expand All @@ -120,11 +123,11 @@ class VideoRestClientTest : AbstractRestClientTest() {
duration = duration,
opened = opened,
published = published,
banner = banner,
thumbnail = thumbnail,
thumbnailHalf = thumbnailHalf,
trailer = trailer,
video = this.video,
banner = imageResourceDTO(banner!!),
thumbnail = imageResourceDTO(thumbnail!!),
thumbnailHalf = imageResourceDTO(thumbnailHalf!!),
trailer = videoResourceDTO(trailer!!),
video = videoResourceDTO(this.video!!),
categoriesId = categories,
castMembersId = castMembers,
genresId = genres,
Expand Down Expand Up @@ -159,11 +162,11 @@ class VideoRestClientTest : AbstractRestClientTest() {
assertEquals(cleanCode.duration, duration)
assertEquals(cleanCode.opened, opened)
assertEquals(cleanCode.published, published)
assertEquals(cleanCode.banner, banner)
assertEquals(cleanCode.thumbnail, thumbnail)
assertEquals(cleanCode.thumbnailHalf, thumbnailHalf)
assertEquals(cleanCode.trailer, trailer)
assertEquals(cleanCode.video, video)
assertEquals(cleanCode.banner, banner?.location)
assertEquals(cleanCode.thumbnail, thumbnail?.location)
assertEquals(cleanCode.thumbnailHalf, thumbnailHalf?.location)
assertEquals(cleanCode.trailer, trailer?.encodedLocation)
assertEquals(cleanCode.video, video?.encodedLocation)
assertEquals(cleanCode.categories, categoriesId)
assertEquals(cleanCode.castMembers, castMembersId)
assertEquals(cleanCode.genres, genresId)
Expand Down Expand Up @@ -251,11 +254,11 @@ class VideoRestClientTest : AbstractRestClientTest() {
duration = duration,
opened = opened,
published = published,
banner = banner,
thumbnail = thumbnail,
thumbnailHalf = thumbnailHalf,
trailer = trailer,
video = this.video,
banner = imageResourceDTO(banner!!),
thumbnail = imageResourceDTO(thumbnail!!),
thumbnailHalf = imageResourceDTO(thumbnailHalf!!),
trailer = videoResourceDTO(trailer!!),
video = videoResourceDTO(this.video!!),
categoriesId = categories,
castMembersId = castMembers,
genresId = genres,
Expand Down Expand Up @@ -351,4 +354,20 @@ class VideoRestClientTest : AbstractRestClientTest() {

verify(0, getRequestedFor(urlPathEqualTo("/api/videos/$expectedId")))
}

private fun videoResourceDTO(data: String) = VideoResourceDTO(
id = IdUtils.uuid(),
name = data,
checksum = IdUtils.uuid(),
location = data,
encodedLocation = data,
status = "processed"
)

private fun imageResourceDTO(data: String) = ImageResourceDTO(
id = IdUtils.uuid(),
name = data,
checksum = IdUtils.uuid(),
location = data
)
}

0 comments on commit a185455

Please sign in to comment.