apply plugin: 'org.jetbrains.kotlin.jvm'

// Any serialization tests that require further Corda dependencies (other than `core`) should be added to this module.
description 'Corda serialization tests'

dependencies {
    testImplementation project(":serialization")
    testImplementation project(path: ':serialization', configuration: 'testArtifacts')
    testImplementation project(':node')
    testImplementation project(':node-driver')
    testImplementation project(':node-api')
    testImplementation project(':finance:contracts')
    testImplementation project(':client:rpc')
    testImplementation project(':core-test-utils')
    testImplementation project(':test-utils')

    // Bouncy castle support needed for X509 certificate manipulation
    testImplementation "org.bouncycastle:bcprov-lts8on:${bouncycastle_version}"
    testImplementation "org.bouncycastle:bcpkix-lts8on:${bouncycastle_version}"

    testImplementation "org.junit.jupiter:junit-jupiter-api:${junit_jupiter_version}"
    testImplementation "junit:junit:$junit_version"
    testImplementation "com.esotericsoftware:kryo:$kryo_version"
    testImplementation "org.mockito.kotlin:mockito-kotlin:$mockito_kotlin_version"

    testRuntimeOnly "org.junit.vintage:junit-vintage-engine:${junit_vintage_version}"
    testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:${junit_jupiter_version}"
    testRuntimeOnly "org.junit.platform:junit-platform-launcher:${junit_platform_version}"

    testImplementation "org.assertj:assertj-core:$assertj_version"
    testImplementation "org.jetbrains.kotlin:kotlin-test:$kotlin_version"
    testImplementation "org.apache.commons:commons-lang3:$commons_lang3_version"
}

configurations {
    testArtifacts.extendsFrom testRuntimeOnlyClasspath
}
