Using mock file

This commit is contained in:
Brage 2023-07-30 02:39:34 +02:00
parent ad96b89a76
commit b1d2709df3
4 changed files with 20 additions and 8 deletions

View File

@ -44,6 +44,8 @@ dependencies {
testImplementation("org.junit.jupiter:junit-jupiter-api:5.8.1") testImplementation("org.junit.jupiter:junit-jupiter-api:5.8.1")
testImplementation("org.junit.jupiter:junit-jupiter-params:5.8.1") testImplementation("org.junit.jupiter:junit-jupiter-params:5.8.1")
testImplementation("org.assertj:assertj-core:3.4.1") testImplementation("org.assertj:assertj-core:3.4.1")
testImplementation("org.mockito:mockito-core:3.+")
} }
tasks.test { tasks.test {

View File

@ -4,6 +4,7 @@ import mu.KotlinLogging
import no.iktdev.streamit.content.encode.EncodeEnv import no.iktdev.streamit.content.encode.EncodeEnv
import no.iktdev.exfl.observable.ObservableList import no.iktdev.exfl.observable.ObservableList
import no.iktdev.exfl.observable.observableListOf import no.iktdev.exfl.observable.observableListOf
import no.iktdev.exfl.using
import no.iktdev.streamit.content.common.deamon.Daemon import no.iktdev.streamit.content.common.deamon.Daemon
import no.iktdev.streamit.content.common.deamon.IDaemon import no.iktdev.streamit.content.common.deamon.IDaemon
import no.iktdev.streamit.content.common.dto.reader.work.EncodeWork import no.iktdev.streamit.content.common.dto.reader.work.EncodeWork
@ -16,9 +17,7 @@ import java.io.FileWriter
private val logger = KotlinLogging.logger {} private val logger = KotlinLogging.logger {}
class EncodeDaemon(val referenceId: String, val work: EncodeWork, val daemonInterface: IEncodeListener): IDaemon { class EncodeDaemon(val referenceId: String, val work: EncodeWork, val daemonInterface: IEncodeListener, val outFile: File = File("src").using("logs", "${work.workId}-${work.collection}.log")): IDaemon {
val logDir = File("/src/logs")
lateinit var outLogFile: File
var outputCache = observableListOf<String>() var outputCache = observableListOf<String>()
private val decoder = ProgressDecoder(work) private val decoder = ProgressDecoder(work)
fun produceProgress(items: List<String>): Progress? { fun produceProgress(items: List<String>): Progress? {
@ -47,8 +46,7 @@ class EncodeDaemon(val referenceId: String, val work: EncodeWork, val daemonInte
} }
} }
}) })
logDir.mkdirs() outFile.parentFile.mkdirs()
outLogFile = File(logDir, "${work.workId}-${work.collection}.log")
} }
suspend fun runUsingWorkItem(): Int { suspend fun runUsingWorkItem(): Int {
@ -87,8 +85,8 @@ class EncodeDaemon(val referenceId: String, val work: EncodeWork, val daemonInte
} }
writeToLog(line) writeToLog(line)
} }
private fun writeToLog(line: String) { fun writeToLog(line: String) {
val fileWriter = FileWriter(outLogFile, true) // true indikerer at vi ønsker å appende til filen val fileWriter = FileWriter(outFile, true) // true indikerer at vi ønsker å appende til filen
val bufferedWriter = BufferedWriter(fileWriter) val bufferedWriter = BufferedWriter(fileWriter)
// Skriv logglinjen til filen // Skriv logglinjen til filen

View File

@ -5,8 +5,15 @@ import no.iktdev.streamit.content.encode.Resources
import no.iktdev.streamit.content.encode.runner.EncodeDaemon import no.iktdev.streamit.content.encode.runner.EncodeDaemon
import no.iktdev.streamit.content.encode.runner.IEncodeListener import no.iktdev.streamit.content.encode.runner.IEncodeListener
import org.assertj.core.api.Assertions.assertThat import org.assertj.core.api.Assertions.assertThat
import org.junit.BeforeClass
import org.junit.jupiter.api.Test import org.junit.jupiter.api.Test
import org.junit.jupiter.api.assertDoesNotThrow import org.junit.jupiter.api.assertDoesNotThrow
import org.mockito.ArgumentMatchers.anyBoolean
import org.mockito.ArgumentMatchers.anyString
import org.mockito.Mockito.*
import java.io.BufferedWriter
import java.io.File
import java.io.FileWriter
import java.util.UUID import java.util.UUID
class DecodedProgressDataDecoderTest { class DecodedProgressDataDecoderTest {
@ -53,6 +60,9 @@ class DecodedProgressDataDecoderTest {
lines.forEach { decoder.setDuration(it) } lines.forEach { decoder.setDuration(it) }
assertThat(decoder.duration).isNotNull() assertThat(decoder.duration).isNotNull()
val produced = mutableListOf<Progress>() val produced = mutableListOf<Progress>()
val tempFile = File.createTempFile("test", ".log")
val encoder = EncodeDaemon(UUID.randomUUID().toString(), encodeWork, object : IEncodeListener { val encoder = EncodeDaemon(UUID.randomUUID().toString(), encodeWork, object : IEncodeListener {
override fun onStarted(referenceId: String, work: EncodeWork) { override fun onStarted(referenceId: String, work: EncodeWork) {
} }
@ -64,7 +74,7 @@ class DecodedProgressDataDecoderTest {
override fun onEnded(referenceId: String, work: EncodeWork) { override fun onEnded(referenceId: String, work: EncodeWork) {
} }
}) }, tempFile)
lines.forEach { lines.forEach {

View File

@ -55,6 +55,8 @@ dependencies {
testImplementation("org.junit.jupiter:junit-jupiter-api:5.8.1") testImplementation("org.junit.jupiter:junit-jupiter-api:5.8.1")
testImplementation("org.junit.jupiter:junit-jupiter-params:5.8.1") testImplementation("org.junit.jupiter:junit-jupiter-params:5.8.1")
testImplementation("org.assertj:assertj-core:3.4.1") testImplementation("org.assertj:assertj-core:3.4.1")
testImplementation("org.mockito:mockito-core:3.+")
} }