Compare commits

...

2 Commits

Author SHA1 Message Date
f255064533 Upgrade versions, etc 2021-02-27 18:44:19 +01:00
761382da23 Fix typos 2021-02-27 18:07:22 +01:00
55 changed files with 106 additions and 131 deletions

View File

@ -106,7 +106,7 @@ internal class RequiredAuthFilterTest {
}
@Test
fun `it should allow a valid token"`() {
fun `it should allow a valid token`() {
val jwtPayload = LoggedInUser(1, "user")
val token = simpleJwt.sign(jwtPayload)
val response = app(Request(GET, "/protected").cookie("Bearer", token))

View File

@ -8,12 +8,11 @@ kotlinDslPluginOptions {
repositories {
gradlePluginPortal()
maven { setUrl("https://kotlin.bintray.com/kotlinx") }
}
dependencies {
implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.30")
implementation("org.jetbrains.kotlin:kotlin-serialization:1.4.30")
implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.31")
implementation("org.jetbrains.kotlin:kotlin-serialization:1.4.31")
implementation("com.github.jengelman.gradle.plugins:shadow:6.1.0")
implementation("org.jlleitschuh.gradle:ktlint-gradle:9.4.1")
implementation("com.github.ben-manes:gradle-versions-plugin:0.28.0")

View File

@ -11,8 +11,8 @@ object Libs {
}
object Database {
const val flyway = "org.flywaydb:flyway-core:7.5.2"
const val hikariCP = "com.zaxxer:HikariCP:4.0.1"
const val flyway = "org.flywaydb:flyway-core:7.5.4"
const val hikariCP = "com.zaxxer:HikariCP:4.0.2"
object Drivers {
const val h2 = "com.h2database:h2:1.4.200"
@ -27,20 +27,20 @@ object Libs {
}
object Lucene {
private const val version = "8.8.0"
private const val version = "8.8.1"
const val core = "org.apache.lucene:lucene-core:$version"
const val analyzersCommon = "org.apache.lucene:lucene-analyzers-common:$version"
const val queryParser = "org.apache.lucene:lucene-queryparser:$version"
}
object Http4k {
private const val version = "4.2.0.0"
private const val version = "4.3.5.4"
const val core = "org.http4k:http4k-core:$version"
const val testingHamkrest = "org.http4k:http4k-testing-hamkrest:$version"
}
object Jetty {
private const val version = "10.0.0"
private const val version = "10.0.1"
const val server = "org.eclipse.jetty:jetty-server:$version"
const val servlet = "org.eclipse.jetty:jetty-servlet:$version"
}
@ -49,7 +49,7 @@ object Libs {
const val html = "org.jetbrains.kotlinx:kotlinx-html-jvm:0.7.2"
object Serialization {
const val json = "org.jetbrains.kotlinx:kotlinx-serialization-json-jvm:1.0.1"
const val json = "org.jetbrains.kotlinx:kotlinx-serialization-json-jvm:1.1.0"
}
}
@ -65,28 +65,28 @@ object Libs {
}
object Micronaut {
private const val version = "2.3.1"
private const val version = "2.3.3"
const val inject = "io.micronaut:micronaut-inject:$version"
const val processor = "io.micronaut:micronaut-inject-java:$version"
}
const val arrowCoreData = "io.arrow-kt:arrow-core-data:0.11.0"
const val commonsCompress = "org.apache.commons:commons-compress:1.20"
const val javaJwt = "com.auth0:java-jwt:3.12.1"
const val javaJwt = "com.auth0:java-jwt:3.13.0"
const val javaxServlet = "javax.servlet:javax.servlet-api:4.0.1"
const val jbcrypt = "org.mindrot:jbcrypt:0.4"
const val konform = "io.konform:konform-jvm:0.2.0"
const val owaspHtmlSanitizer = "com.googlecode.owasp-java-html-sanitizer:owasp-java-html-sanitizer:20200713.1"
const val prettytime = "org.ocpsoft.prettytime:prettytime:5.0.0.Final"
const val snakeyaml = "org.yaml:snakeyaml:1.27"
const val snakeyaml = "org.yaml:snakeyaml:1.28"
object Test {
const val assertJ = "org.assertj:assertj-core:3.19.0"
const val hamkrest = "com.natpryce:hamkrest:1.8.0.1"
const val junit = "org.junit.jupiter:junit-jupiter:5.7.1"
const val mockk = "io.mockk:mockk:1.10.5"
const val mockk = "io.mockk:mockk:1.10.6"
const val faker = "com.github.javafaker:javafaker:1.0.2"
const val mariaTestContainer = "org.testcontainers:mariadb:1.15.1"
const val mariaTestContainer = "org.testcontainers:mariadb:1.15.2"
}
}

View File

@ -3,10 +3,16 @@ package be.simplenotes
import org.gradle.api.Plugin
import org.gradle.api.Project
import org.gradle.api.artifacts.dsl.DependencyHandler
import org.jetbrains.kotlin.gradle.plugin.KaptExtension
class MicronautPlugin : Plugin<Project> {
override fun apply(target: Project) {
target.plugins.apply("org.jetbrains.kotlin.kapt")
target.extensions.configure<KaptExtension>("kapt") {
arguments {
arg("micronaut.processing.incremental", true)
}
}
}
}

View File

@ -6,8 +6,11 @@ plugins {
repositories {
mavenCentral()
maven { url = uri("https://dl.bintray.com/arrow-kt/arrow-kt/") }
maven { url = uri("https://kotlin.bintray.com/kotlinx") }
maven {
url = uri("https://kotlin.bintray.com/kotlinx")
// https://github.com/Kotlin/kotlinx.html/issues/173
content { includeModule("org.jetbrains.kotlinx", "kotlinx-html-jvm") }
}
}
group = "be.simplenotes"

View File

@ -8,7 +8,8 @@ plugins {
dependencies {
implementation(kotlin("stdlib-jdk8"))
implementation(platform("org.jetbrains.kotlin:kotlin-bom:1.4.30"))
implementation(platform(kotlin("bom")))
testImplementation(platform(kotlin("bom")))
}
tasks.withType<KotlinCompile> {

View File

@ -10,7 +10,7 @@ plugins {
dependencies {
api(project(":config"))
api(project(":types"))
implementation(project(":persistance"))
implementation(project(":persistence"))
implementation(project(":search"))
api(Libs.arrowCoreData)

View File

@ -1,6 +1,6 @@
package be.simplenotes.domain.usecases
import be.simplenotes.persistance.DbHealthCheck
import be.simplenotes.persistence.DbHealthCheck
import javax.inject.Singleton
interface HealthCheckService {

View File

@ -5,9 +5,9 @@ import be.simplenotes.domain.security.HtmlSanitizer
import be.simplenotes.domain.usecases.markdown.MarkdownConverter
import be.simplenotes.domain.usecases.markdown.MarkdownParsingError
import be.simplenotes.domain.usecases.search.parseSearchTerms
import be.simplenotes.persistance.repositories.NoteRepository
import be.simplenotes.persistance.repositories.UserRepository
import be.simplenotes.persistance.transactions.TransactionService
import be.simplenotes.persistence.repositories.NoteRepository
import be.simplenotes.persistence.repositories.UserRepository
import be.simplenotes.persistence.transactions.TransactionService
import be.simplenotes.search.NoteSearcher
import be.simplenotes.types.LoggedInUser
import be.simplenotes.types.Note

View File

@ -1,6 +1,6 @@
package be.simplenotes.domain.usecases.export
import be.simplenotes.persistance.repositories.NoteRepository
import be.simplenotes.persistence.repositories.NoteRepository
import be.simplenotes.types.ExportedNote
import io.micronaut.context.annotation.Primary
import kotlinx.serialization.builtins.ListSerializer

View File

@ -5,8 +5,8 @@ import arrow.core.computations.either
import arrow.core.rightIfNotNull
import be.simplenotes.domain.security.PasswordHash
import be.simplenotes.domain.validation.UserValidations
import be.simplenotes.persistance.repositories.UserRepository
import be.simplenotes.persistance.transactions.TransactionService
import be.simplenotes.persistence.repositories.UserRepository
import be.simplenotes.persistence.transactions.TransactionService
import be.simplenotes.search.NoteSearcher
import io.micronaut.context.annotation.Primary
import javax.inject.Singleton

View File

@ -6,7 +6,7 @@ import arrow.core.rightIfNotNull
import be.simplenotes.domain.security.PasswordHash
import be.simplenotes.domain.security.SimpleJwt
import be.simplenotes.domain.validation.UserValidations
import be.simplenotes.persistance.repositories.UserRepository
import be.simplenotes.persistence.repositories.UserRepository
import be.simplenotes.types.LoggedInUser
import io.micronaut.context.annotation.Primary
import javax.inject.Singleton

View File

@ -5,8 +5,8 @@ import arrow.core.filterOrElse
import arrow.core.leftIfNull
import be.simplenotes.domain.security.PasswordHash
import be.simplenotes.domain.validation.UserValidations
import be.simplenotes.persistance.repositories.UserRepository
import be.simplenotes.persistance.transactions.TransactionService
import be.simplenotes.persistence.repositories.UserRepository
import be.simplenotes.persistence.transactions.TransactionService
import be.simplenotes.types.PersistedUser
import io.micronaut.context.annotation.Primary
import javax.inject.Singleton

View File

@ -6,7 +6,7 @@ import be.simplenotes.domain.security.SimpleJwt
import be.simplenotes.domain.security.UserJwtMapper
import be.simplenotes.domain.testutils.isLeftOfType
import be.simplenotes.domain.testutils.isRight
import be.simplenotes.persistance.repositories.UserRepository
import be.simplenotes.persistence.repositories.UserRepository
import be.simplenotes.types.PersistedUser
import com.natpryce.hamkrest.assertion.assertThat
import io.mockk.*

View File

@ -3,8 +3,8 @@ package be.simplenotes.domain.usecases.users.register
import be.simplenotes.domain.security.BcryptPasswordHash
import be.simplenotes.domain.testutils.isLeftOfType
import be.simplenotes.domain.testutils.isRight
import be.simplenotes.persistance.repositories.UserRepository
import be.simplenotes.persistance.transactions.TransactionService
import be.simplenotes.persistence.repositories.UserRepository
import be.simplenotes.persistence.transactions.TransactionService
import be.simplenotes.types.PersistedUser
import com.natpryce.hamkrest.assertion.assertThat
import com.natpryce.hamkrest.equalTo

View File

@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.2-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.3-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

View File

@ -1,35 +0,0 @@
package be.simplenotes.persistance
import be.simplenotes.config.DataSourceConfig
import io.micronaut.context.BeanContext
import org.flywaydb.core.Flyway
import org.junit.jupiter.api.BeforeAll
import org.junit.jupiter.api.BeforeEach
import javax.sql.DataSource
abstract class DbTest {
abstract fun dataSourceConfig(): DataSourceConfig
val beanContext = BeanContext.build()
inline fun <reified T> BeanContext.getBean(): T = getBean(T::class.java)
@BeforeAll
fun setComponent() {
beanContext.registerSingleton(dataSourceConfig())
}
@BeforeEach
fun beforeEach() {
val migration = beanContext.getBean<DbMigrations>()
val dataSource = beanContext.getBean<DataSource>()
Flyway.configure()
.dataSource(dataSource)
.load()
.clean()
migration.migrate()
}
}

View File

@ -1,6 +1,5 @@
import be.simplenotes.Libs
import be.simplenotes.micronaut
import be.simplenotes.micronautFixtures
plugins {
id("be.simplenotes.base")
@ -33,7 +32,7 @@ dependencies {
testFixturesImplementation(project(":types"))
testFixturesImplementation(project(":config"))
testFixturesImplementation(project(":persistance"))
testFixturesImplementation(project(":persistence"))
testFixturesImplementation(Libs.Test.faker) {
exclude(group = "org.yaml")
@ -48,7 +47,8 @@ dependencies {
testFixturesImplementation(Libs.Database.hikariCP)
micronaut()
micronautFixtures()
testFixturesImplementation(kotlin("bom"))
}
kotlin.sourceSets["testFixtures"].kotlin.srcDirs("testfixtures")

View File

@ -1,8 +1,8 @@
package be.simplenotes.persistance
package be.simplenotes.persistence
import be.simplenotes.config.DataSourceConfig
import be.simplenotes.persistance.utils.DbType
import be.simplenotes.persistance.utils.type
import be.simplenotes.persistence.utils.DbType
import be.simplenotes.persistence.utils.type
import me.liuwj.ktorm.database.Database
import me.liuwj.ktorm.database.asIterable
import me.liuwj.ktorm.database.use

View File

@ -1,8 +1,8 @@
package be.simplenotes.persistance
package be.simplenotes.persistence
import be.simplenotes.config.DataSourceConfig
import be.simplenotes.persistance.utils.DbType
import be.simplenotes.persistance.utils.type
import be.simplenotes.persistence.utils.DbType
import be.simplenotes.persistence.utils.type
import org.flywaydb.core.Flyway
import javax.inject.Singleton
import javax.sql.DataSource

View File

@ -1,4 +1,4 @@
package be.simplenotes.persistance
package be.simplenotes.persistence
import be.simplenotes.config.DataSourceConfig
import com.zaxxer.hikari.HikariConfig
@ -10,7 +10,7 @@ import javax.inject.Singleton
import javax.sql.DataSource
@Factory
class PersistanceModule {
class PersistenceModule {
@Singleton
internal fun database(migrations: DbMigrations, dataSource: DataSource): Database {

View File

@ -1,6 +1,6 @@
package be.simplenotes.persistance.converters
package be.simplenotes.persistence.converters
import be.simplenotes.persistance.notes.NoteEntity
import be.simplenotes.persistence.notes.NoteEntity
import be.simplenotes.types.*
import me.liuwj.ktorm.entity.Entity
import org.mapstruct.Mapper

View File

@ -1,6 +1,6 @@
package be.simplenotes.persistance.converters
package be.simplenotes.persistence.converters
import be.simplenotes.persistance.users.UserEntity
import be.simplenotes.persistence.users.UserEntity
import be.simplenotes.types.PersistedUser
import be.simplenotes.types.User
import me.liuwj.ktorm.entity.Entity

View File

@ -1,4 +1,4 @@
package be.simplenotes.persistance.extensions
package be.simplenotes.persistence.extensions
import me.liuwj.ktorm.schema.BaseTable
import me.liuwj.ktorm.schema.SqlType

View File

@ -1,7 +1,7 @@
package be.simplenotes.persistance.notes
package be.simplenotes.persistence.notes
import be.simplenotes.persistance.converters.NoteConverter
import be.simplenotes.persistance.repositories.NoteRepository
import be.simplenotes.persistence.converters.NoteConverter
import be.simplenotes.persistence.repositories.NoteRepository
import be.simplenotes.types.ExportedNote
import be.simplenotes.types.Note
import be.simplenotes.types.PersistedNote

View File

@ -1,10 +1,10 @@
@file:Suppress("unused")
package be.simplenotes.persistance.notes
package be.simplenotes.persistence.notes
import be.simplenotes.persistance.extensions.uuidBinary
import be.simplenotes.persistance.users.UserEntity
import be.simplenotes.persistance.users.Users
import be.simplenotes.persistence.extensions.uuidBinary
import be.simplenotes.persistence.users.UserEntity
import be.simplenotes.persistence.users.Users
import me.liuwj.ktorm.database.Database
import me.liuwj.ktorm.entity.Entity
import me.liuwj.ktorm.entity.sequenceOf

View File

@ -1,6 +1,6 @@
package be.simplenotes.persistance.notes
package be.simplenotes.persistence.notes
import be.simplenotes.persistance.extensions.uuidBinary
import be.simplenotes.persistence.extensions.uuidBinary
import me.liuwj.ktorm.database.Database
import me.liuwj.ktorm.entity.Entity
import me.liuwj.ktorm.entity.sequenceOf

View File

@ -1,4 +1,4 @@
package be.simplenotes.persistance.repositories
package be.simplenotes.persistence.repositories
import be.simplenotes.types.ExportedNote
import be.simplenotes.types.Note

View File

@ -1,4 +1,4 @@
package be.simplenotes.persistance.repositories
package be.simplenotes.persistence.repositories
import be.simplenotes.types.PersistedUser
import be.simplenotes.types.User

View File

@ -1,4 +1,4 @@
package be.simplenotes.persistance.transactions
package be.simplenotes.persistence.transactions
import me.liuwj.ktorm.database.Database
import javax.inject.Singleton

View File

@ -1,4 +1,4 @@
package be.simplenotes.persistance.transactions
package be.simplenotes.persistence.transactions
interface TransactionService {
fun <T> use(block: () -> T): T

View File

@ -1,7 +1,7 @@
package be.simplenotes.persistance.users
package be.simplenotes.persistence.users
import be.simplenotes.persistance.converters.UserConverter
import be.simplenotes.persistance.repositories.UserRepository
import be.simplenotes.persistence.converters.UserConverter
import be.simplenotes.persistence.repositories.UserRepository
import be.simplenotes.types.PersistedUser
import be.simplenotes.types.User
import me.liuwj.ktorm.database.Database

View File

@ -1,4 +1,4 @@
package be.simplenotes.persistance.users
package be.simplenotes.persistence.users
import me.liuwj.ktorm.database.Database
import me.liuwj.ktorm.entity.Entity

View File

@ -1,4 +1,4 @@
package be.simplenotes.persistance.utils
package be.simplenotes.persistence.utils
import be.simplenotes.config.DataSourceConfig

View File

@ -1,4 +1,4 @@
package be.simplenotes.persistance
package be.simplenotes.persistence
import be.simplenotes.config.DataSourceConfig
import org.testcontainers.containers.MariaDBContainer

View File

@ -1,4 +1,4 @@
package be.simplenotes.persistance
package be.simplenotes.persistence
import be.simplenotes.config.DataSourceConfig
import org.assertj.core.api.Assertions.assertThat

View File

@ -1,4 +1,4 @@
package be.simplenotes.persistance
package be.simplenotes.persistence
import be.simplenotes.config.DataSourceConfig
import io.micronaut.context.BeanContext

View File

@ -1,6 +1,6 @@
package be.simplenotes.persistance.converters
package be.simplenotes.persistence.converters
import be.simplenotes.persistance.notes.NoteEntity
import be.simplenotes.persistence.notes.NoteEntity
import be.simplenotes.types.*
import io.micronaut.context.BeanContext
import org.assertj.core.api.Assertions.assertThat

View File

@ -1,6 +1,6 @@
package be.simplenotes.persistance.converters
package be.simplenotes.persistence.converters
import be.simplenotes.persistance.users.UserEntity
import be.simplenotes.persistence.users.UserEntity
import be.simplenotes.types.PersistedUser
import be.simplenotes.types.User
import io.micronaut.context.BeanContext

View File

@ -1,10 +1,10 @@
package be.simplenotes.persistance.notes
package be.simplenotes.persistence.notes
import be.simplenotes.persistance.DbTest
import be.simplenotes.persistance.converters.NoteConverter
import be.simplenotes.persistance.repositories.NoteRepository
import be.simplenotes.persistance.repositories.UserRepository
import be.simplenotes.persistance.users.createFakeUser
import be.simplenotes.persistence.DbTest
import be.simplenotes.persistence.converters.NoteConverter
import be.simplenotes.persistence.repositories.NoteRepository
import be.simplenotes.persistence.repositories.UserRepository
import be.simplenotes.persistence.users.createFakeUser
import be.simplenotes.types.ExportedNote
import be.simplenotes.types.PersistedUser
import me.liuwj.ktorm.database.Database

View File

@ -1,9 +1,9 @@
package be.simplenotes.persistance.notes
package be.simplenotes.persistence.notes
import be.simplenotes.config.DataSourceConfig
import be.simplenotes.persistance.KMariadbContainer
import be.simplenotes.persistance.h2dataSourceConfig
import be.simplenotes.persistance.mariadbDataSourceConfig
import be.simplenotes.persistence.KMariadbContainer
import be.simplenotes.persistence.h2dataSourceConfig
import be.simplenotes.persistence.mariadbDataSourceConfig
import org.junit.jupiter.api.AfterAll
import org.junit.jupiter.api.parallel.ResourceLock

View File

@ -1,7 +1,7 @@
package be.simplenotes.persistance.users
package be.simplenotes.persistence.users
import be.simplenotes.persistance.DbTest
import be.simplenotes.persistance.repositories.UserRepository
import be.simplenotes.persistence.DbTest
import be.simplenotes.persistence.repositories.UserRepository
import me.liuwj.ktorm.database.Database
import me.liuwj.ktorm.dsl.eq
import me.liuwj.ktorm.entity.find

View File

@ -1,9 +1,9 @@
package be.simplenotes.persistance.users
package be.simplenotes.persistence.users
import be.simplenotes.config.DataSourceConfig
import be.simplenotes.persistance.KMariadbContainer
import be.simplenotes.persistance.h2dataSourceConfig
import be.simplenotes.persistance.mariadbDataSourceConfig
import be.simplenotes.persistence.KMariadbContainer
import be.simplenotes.persistence.h2dataSourceConfig
import be.simplenotes.persistence.mariadbDataSourceConfig
import org.junit.jupiter.api.AfterAll
import org.junit.jupiter.api.parallel.ResourceLock

View File

@ -0,0 +1 @@
package be.simplenotes.persistence

View File

@ -1,6 +1,6 @@
package be.simplenotes.persistance.notes
package be.simplenotes.persistence.notes
import be.simplenotes.persistance.repositories.NoteRepository
import be.simplenotes.persistence.repositories.NoteRepository
import be.simplenotes.types.*
import com.github.javafaker.Faker
import java.util.*

View File

@ -1,6 +1,6 @@
package be.simplenotes.persistance.users
package be.simplenotes.persistence.users
import be.simplenotes.persistance.repositories.UserRepository
import be.simplenotes.persistence.repositories.UserRepository
import be.simplenotes.types.PersistedUser
import be.simplenotes.types.User
import com.github.javafaker.Faker

View File

@ -5,6 +5,6 @@ include(":app")
include(":domain")
include(":search")
include(":types")
include(":persistance")
include(":persistence")
include(":css")
include(":junit-config")