test #443

Merged
klaus merged 25 commits from test into main 2026-08-03 06:20:48 +00:00
3 changed files with 22 additions and 17 deletions
Showing only changes of commit b30447f004 - Show all commits

View File

@@ -99,9 +99,9 @@ tasks.withType<KotlinCompile> {
} }
} }
tasks.withType<Test> { tasks.withType<Test>().configureEach {
useJUnitPlatform() useJUnitPlatform()
maxHeapSize = "4096m" maxHeapSize = "4g"
jvmArgs("-Dfile.encoding=UTF-8") jvmArgs("-Dfile.encoding=UTF-8")
} }

View File

@@ -756,13 +756,15 @@ class AiCharacterAdminAudioContentControllerTest @Autowired constructor(
title = "invalid release title", title = "invalid release title",
contentPath = "private/invalid-release.mp3" contentPath = "private/invalid-release.mp3"
) )
val contentId = content.id!!
entityManager.flush() entityManager.flush()
entityManager.clear()
val beforeAudioContents = countAudioContents() val beforeAudioContents = countAudioContents()
val beforeSeriesContents = countSeriesContents() val beforeSeriesContents = countSeriesContents()
val beforeReleaseDate = content.releaseDate val beforeReleaseDate = entityManager.find(AudioContent::class.java, contentId).releaseDate
mockMvc.perform( mockMvc.perform(
multipart(HttpMethod.PUT, "/api/v2/admin/ai-characters/${character.id}/audio-contents/${content.id}") multipart(HttpMethod.PUT, "/api/v2/admin/ai-characters/${character.id}/audio-contents/$contentId")
.file(MockMultipartFile("coverImage", "cover.png", "image/png", byteArrayOf(1))) .file(MockMultipartFile("coverImage", "cover.png", "image/png", byteArrayOf(1)))
.file( .file(
MockMultipartFile( MockMultipartFile(
@@ -778,7 +780,7 @@ class AiCharacterAdminAudioContentControllerTest @Autowired constructor(
.andExpectApiError(message) .andExpectApiError(message)
assertNoSideEffects(beforeAudioContents, beforeSeriesContents) { assertNoSideEffects(beforeAudioContents, beforeSeriesContents) {
val persistedContent = entityManager.find(AudioContent::class.java, content.id) val persistedContent = entityManager.find(AudioContent::class.java, contentId)
assertEquals("invalid release title", persistedContent.title) assertEquals("invalid release title", persistedContent.title)
assertEquals(beforeReleaseDate, persistedContent.releaseDate) assertEquals(beforeReleaseDate, persistedContent.releaseDate)
} }

View File

@@ -235,17 +235,18 @@ class AiCharacterAdminAudioContentUpdateTest @Autowired constructor(
) )
val series = saveSeries("preserve-series", character.creatorMember!!) val series = saveSeries("preserve-series", character.creatorMember!!)
val content = saveAudioContent(character.creatorMember!!, "preserve-series-content") val content = saveAudioContent(character.creatorMember!!, "preserve-series-content")
val seriesContent = saveSeriesContent(series, content).apply { orders = 7 } saveSeriesContent(series, content).apply { orders = 7 }
val contentId = content.id!!
entityManager.flush() entityManager.flush()
val beforeId = seriesContent.id
val beforeCreatedAt = seriesContent.createdAt
entityManager.clear() entityManager.clear()
val persistedSeriesContent = findSeriesContents(contentId).single()
val beforeId = persistedSeriesContent.id
val beforeCreatedAt = persistedSeriesContent.createdAt
Mockito.`when`(audioContentCloudFront.generateSignedURL(Mockito.anyString(), Mockito.anyLong())) Mockito.`when`(audioContentCloudFront.generateSignedURL(Mockito.anyString(), Mockito.anyLong()))
.thenReturn("https://test.cloudfront.net/private/preserve-series-content.mp3") .thenReturn("https://test.cloudfront.net/private/preserve-series-content.mp3")
mockMvc.perform( mockMvc.perform(
multipart(HttpMethod.PUT, "/api/v2/admin/ai-characters/${character.id}/audio-contents/${content.id}") multipart(HttpMethod.PUT, "/api/v2/admin/ai-characters/${character.id}/audio-contents/$contentId")
.file( .file(
MockMultipartFile( MockMultipartFile(
"request", "request",
@@ -270,11 +271,11 @@ class AiCharacterAdminAudioContentUpdateTest @Autowired constructor(
.andExpect(status().isOk) .andExpect(status().isOk)
.andExpect(jsonPath("$.data").value(nullValue())) .andExpect(jsonPath("$.data").value(nullValue()))
val saved = findSeriesContents(content.id!!).single() val saved = findSeriesContents(contentId).single()
assertEquals(beforeId, saved.id) assertEquals(beforeId, saved.id)
assertEquals(7, saved.orders) assertEquals(7, saved.orders)
assertEquals(beforeCreatedAt, saved.createdAt) assertEquals(beforeCreatedAt, saved.createdAt)
val updated = entityManager.find(AudioContent::class.java, content.id) val updated = entityManager.find(AudioContent::class.java, contentId)
assertEquals("updated title", updated.title) assertEquals("updated title", updated.title)
assertEquals("updated detail", updated.detail) assertEquals("updated detail", updated.detail)
assertEquals(250, updated.price) assertEquals(250, updated.price)
@@ -298,17 +299,19 @@ class AiCharacterAdminAudioContentUpdateTest @Autowired constructor(
val addedSeries = saveSeries("added-series", character.creatorMember!!) val addedSeries = saveSeries("added-series", character.creatorMember!!)
val content = saveAudioContent(character.creatorMember!!, "diff-series-content") val content = saveAudioContent(character.creatorMember!!, "diff-series-content")
saveSeriesContent(removedSeries, content) saveSeriesContent(removedSeries, content)
val keptSeriesContent = saveSeriesContent(keptSeries, content).apply { orders = 5 } saveSeriesContent(keptSeries, content).apply { orders = 5 }
val contentId = content.id!!
entityManager.flush() entityManager.flush()
val keptId = keptSeriesContent.id
val keptCreatedAt = keptSeriesContent.createdAt
entityManager.clear() entityManager.clear()
val persistedKept = findSeriesContents(contentId).single { it.series!!.id == keptSeries.id }
val keptId = persistedKept.id
val keptCreatedAt = persistedKept.createdAt
Mockito.`when`(audioContentCloudFront.generateSignedURL(Mockito.anyString(), Mockito.anyLong())) Mockito.`when`(audioContentCloudFront.generateSignedURL(Mockito.anyString(), Mockito.anyLong()))
.thenReturn("https://test.cloudfront.net/private/diff-series-content.mp3") .thenReturn("https://test.cloudfront.net/private/diff-series-content.mp3")
mockMvc.perform( mockMvc.perform(
multipart(HttpMethod.PUT, "/api/v2/admin/ai-characters/${character.id}/audio-contents/${content.id}") multipart(HttpMethod.PUT, "/api/v2/admin/ai-characters/${character.id}/audio-contents/$contentId")
.file( .file(
MockMultipartFile( MockMultipartFile(
"request", "request",
@@ -322,7 +325,7 @@ class AiCharacterAdminAudioContentUpdateTest @Autowired constructor(
.andExpect(status().isOk) .andExpect(status().isOk)
.andExpect(jsonPath("$.data").value(nullValue())) .andExpect(jsonPath("$.data").value(nullValue()))
val saved = findSeriesContents(content.id!!) val saved = findSeriesContents(contentId)
assertEquals(setOf(removedSeries.id, keptSeries.id), saved.map { it.series!!.id }.toSet()) assertEquals(setOf(removedSeries.id, keptSeries.id), saved.map { it.series!!.id }.toSet())
val kept = saved.single { it.series!!.id == keptSeries.id } val kept = saved.single { it.series!!.id == keptSeries.id }
assertEquals(keptId, kept.id) assertEquals(keptId, kept.id)