mirror of https://github.com/usbharu/Hideout.git
test: LocalFileSystemMediaDataStore.ktのテストを追加
This commit is contained in:
parent
21e91e58a7
commit
39841b9d88
|
@ -42,3 +42,5 @@ out/
|
|||
/tomcat/
|
||||
/tomcat-e2e/
|
||||
/e2eTest.log
|
||||
/files/test-media-29599b059-06e1-49eb-91b8-1405244e57ce.png
|
||||
/files/thumbnail-test-media-29599b059-06e1-49eb-91b8-1405244e57ce.png
|
||||
|
|
|
@ -0,0 +1,121 @@
|
|||
package dev.usbharu.hideout.core.service.media
|
||||
|
||||
import dev.usbharu.hideout.application.config.ApplicationConfig
|
||||
import dev.usbharu.hideout.application.config.LocalStorageConfig
|
||||
import kotlinx.coroutines.test.runTest
|
||||
import org.assertj.core.api.Assertions.assertThat
|
||||
import org.junit.jupiter.api.Test
|
||||
import java.net.URL
|
||||
import java.nio.file.Path
|
||||
import java.util.*
|
||||
import kotlin.io.path.readBytes
|
||||
import kotlin.io.path.toPath
|
||||
|
||||
class LocalFileSystemMediaDataStoreTest {
|
||||
|
||||
private val path = String.javaClass.classLoader.getResource("400x400.png")?.toURI()?.toPath()!!
|
||||
|
||||
@Test
|
||||
fun `save inputStreamを使用して正常に保存できる`() = runTest {
|
||||
val applicationConfig = ApplicationConfig(URL("https://example.com"))
|
||||
val storageConfig = LocalStorageConfig("files", null)
|
||||
|
||||
val localFileSystemMediaDataStore = LocalFileSystemMediaDataStore(applicationConfig, storageConfig)
|
||||
|
||||
val fileInputStream = path.readBytes()
|
||||
|
||||
assertThat(fileInputStream.size).isNotEqualTo(0)
|
||||
|
||||
val mediaSave = MediaSave(
|
||||
"test-media-1${UUID.randomUUID()}.png",
|
||||
"",
|
||||
fileInputStream,
|
||||
fileInputStream
|
||||
)
|
||||
|
||||
val save = localFileSystemMediaDataStore.save(mediaSave)
|
||||
|
||||
assertThat(save).isInstanceOf(SuccessSavedMedia::class.java)
|
||||
|
||||
save as SuccessSavedMedia
|
||||
|
||||
assertThat(Path.of("files").toAbsolutePath().resolve(save.name))
|
||||
.exists()
|
||||
.hasSize(fileInputStream.size.toLong())
|
||||
assertThat(Path.of("files").toAbsolutePath().resolve("thumbnail-" + save.name))
|
||||
.exists()
|
||||
.hasSize(fileInputStream.size.toLong())
|
||||
}
|
||||
|
||||
@Test
|
||||
fun 一時ファイルを使用して正常に保存できる() = runTest {
|
||||
val applicationConfig = ApplicationConfig(URL("https://example.com"))
|
||||
val storageConfig = LocalStorageConfig("files", null)
|
||||
|
||||
val localFileSystemMediaDataStore = LocalFileSystemMediaDataStore(applicationConfig, storageConfig)
|
||||
|
||||
val fileInputStream = path.readBytes()
|
||||
|
||||
assertThat(fileInputStream.size).isNotEqualTo(0)
|
||||
|
||||
val saveRequest = MediaSaveRequest(
|
||||
"test-media-2${UUID.randomUUID()}.png",
|
||||
"",
|
||||
path,
|
||||
path
|
||||
)
|
||||
|
||||
val save = localFileSystemMediaDataStore.save(saveRequest)
|
||||
|
||||
assertThat(save).isInstanceOf(SuccessSavedMedia::class.java)
|
||||
|
||||
save as SuccessSavedMedia
|
||||
|
||||
assertThat(Path.of("files").toAbsolutePath().resolve(save.name))
|
||||
.exists()
|
||||
.hasSize(fileInputStream.size.toLong())
|
||||
assertThat(Path.of("files").toAbsolutePath().resolve("thumbnail-" + save.name))
|
||||
.exists()
|
||||
.hasSize(fileInputStream.size.toLong())
|
||||
}
|
||||
|
||||
@Test
|
||||
fun idを使用して削除できる() = runTest {
|
||||
val applicationConfig = ApplicationConfig(URL("https://example.com"))
|
||||
val storageConfig = LocalStorageConfig("files", null)
|
||||
|
||||
val localFileSystemMediaDataStore = LocalFileSystemMediaDataStore(applicationConfig, storageConfig)
|
||||
|
||||
val fileInputStream = path.readBytes()
|
||||
|
||||
assertThat(fileInputStream.size).isNotEqualTo(0)
|
||||
|
||||
val saveRequest = MediaSaveRequest(
|
||||
"test-media-2${UUID.randomUUID()}.png",
|
||||
"",
|
||||
path,
|
||||
path
|
||||
)
|
||||
|
||||
val save = localFileSystemMediaDataStore.save(saveRequest)
|
||||
|
||||
assertThat(save).isInstanceOf(SuccessSavedMedia::class.java)
|
||||
|
||||
save as SuccessSavedMedia
|
||||
|
||||
assertThat(Path.of("files").toAbsolutePath().resolve(save.name))
|
||||
.exists()
|
||||
.hasSize(fileInputStream.size.toLong())
|
||||
assertThat(Path.of("files").toAbsolutePath().resolve("thumbnail-" + save.name))
|
||||
.exists()
|
||||
.hasSize(fileInputStream.size.toLong())
|
||||
|
||||
|
||||
localFileSystemMediaDataStore.delete(save.name)
|
||||
|
||||
assertThat(Path.of("files").toAbsolutePath().resolve(save.name))
|
||||
.doesNotExist()
|
||||
assertThat(Path.of("files").toAbsolutePath().resolve("thumbnail-" + save.name))
|
||||
.doesNotExist()
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue