Merge http4k
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
<project>
|
||||
<parent>
|
||||
<artifactId>parent</artifactId>
|
||||
<groupId>be.simplenotes</groupId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<artifactId>shared</artifactId>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-jar-plugin</artifactId>
|
||||
<version>2.6</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
<goal>test-jar</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
||||
@@ -0,0 +1,31 @@
|
||||
package be.simplenotes.shared.config
|
||||
|
||||
import java.util.concurrent.TimeUnit
|
||||
|
||||
data class DataSourceConfig(
|
||||
val jdbcUrl: String,
|
||||
val driverClassName: String,
|
||||
val username: String,
|
||||
val password: String,
|
||||
val maximumPoolSize: Int,
|
||||
val connectionTimeout: Long,
|
||||
) {
|
||||
override fun toString(): String {
|
||||
return "DataSourceConfig(jdbcUrl='$jdbcUrl', driverClassName='$driverClassName', username='$username', password='***', maximumPoolSize=$maximumPoolSize, connectionTimeout=$connectionTimeout)"
|
||||
}
|
||||
}
|
||||
|
||||
data class JwtConfig(
|
||||
val secret: String,
|
||||
val validity: Long,
|
||||
val timeUnit: TimeUnit,
|
||||
) {
|
||||
override fun toString(): String {
|
||||
return "JwtConfig(secret='***', validity=$validity, timeUnit=$timeUnit)"
|
||||
}
|
||||
}
|
||||
|
||||
data class ServerConfig(
|
||||
val host: String,
|
||||
val port: Int,
|
||||
)
|
||||
@@ -0,0 +1 @@
|
||||
package be.simplenotes.shared
|
||||
@@ -0,0 +1,42 @@
|
||||
package be.simplenotes.shared.testutils.assertions
|
||||
|
||||
import arrow.core.Either
|
||||
import com.natpryce.hamkrest.MatchResult
|
||||
import com.natpryce.hamkrest.Matcher
|
||||
|
||||
fun isLeft() = object : Matcher<Either<*, *>> {
|
||||
override val description: String
|
||||
get() = "is Either.Left<>"
|
||||
|
||||
override fun invoke(actual: Either<*, *>) = when {
|
||||
actual.isLeft() -> MatchResult.Match
|
||||
else -> MatchResult.Mismatch("is Either.Right<>")
|
||||
}
|
||||
}
|
||||
|
||||
fun isRight() = object : Matcher<Either<*, *>> {
|
||||
override val description: String
|
||||
get() = "is Either.Right<>"
|
||||
|
||||
override fun invoke(actual: Either<*, *>) = when (actual) {
|
||||
is Either.Right -> MatchResult.Match
|
||||
is Either.Left -> {
|
||||
val valueA = actual.a
|
||||
MatchResult.Mismatch("is Either.Left<${if (valueA == null) "Null" else valueA::class.simpleName}>")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
inline fun <reified A> isLeftOfType() = object : Matcher<Either<*, *>> {
|
||||
override val description: String
|
||||
get() = "is Either.Left<${A::class.qualifiedName}>"
|
||||
|
||||
override fun invoke(actual: Either<*, *>) = when (actual) {
|
||||
is Either.Right -> MatchResult.Mismatch("was Either.Right<>")
|
||||
is Either.Left -> {
|
||||
val valueA = actual.a
|
||||
if (valueA is A) MatchResult.Match
|
||||
else MatchResult.Mismatch("was Left<${if (valueA == null) "Null" else valueA::class.simpleName}>")
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
junit.jupiter.testinstance.lifecycle.default=per_class
|
||||
junit.jupiter.execution.parallel.enabled=true
|
||||
junit.jupiter.execution.parallel.mode.default=same_thread
|
||||
junit.jupiter.execution.parallel.mode.classes.default=concurrent
|
||||
Reference in New Issue
Block a user