Move kotlin tests to fest-fixtures submodule

This commit is contained in:
Steve Myers 2021-10-17 13:56:28 -07:00
parent 0b500d8e05
commit f556f611b0
5 changed files with 67 additions and 18 deletions

View File

@ -4,6 +4,11 @@ plugins {
id 'maven-publish' id 'maven-publish'
} }
java {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
test { test {
testLogging { testLogging {
events "PASSED", "SKIPPED", "FAILED", "STANDARD_OUT", "STANDARD_ERROR" events "PASSED", "SKIPPED", "FAILED", "STANDARD_OUT", "STANDARD_ERROR"
@ -18,7 +23,7 @@ dependencies {
api "org.slf4j:slf4j-api:1.7.30" api "org.slf4j:slf4j-api:1.7.30"
testImplementation "ch.qos.logback:logback-classic:1.2.3" testImplementation "ch.qos.logback:logback-classic:1.2.3"
testImplementation "ch.qos.logback:logback-core:1.2.3" testImplementation "ch.qos.logback:logback-core:1.2.3"
//testImplementation(project(':test-fixtures')) testImplementation(project(':test-fixtures'))
} }
publishing { publishing {
@ -32,8 +37,3 @@ publishing {
} }
} }
} }
java {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}

View File

@ -0,0 +1,16 @@
package org.bitcoindevkit.bdk
import java.nio.file.Files
/**
* Library test, which will execute on linux host.
*
*/
class JvmLibTest : LibTest() {
override fun getTestDataDir(): String {
return Files.createTempDirectory("bdk-test").toString()
//return Paths.get(System.getProperty("java.io.tmpdir"), "bdk-test").toString()
}
}

View File

@ -1,4 +1,4 @@
rootProject.name = 'bdk-kotlin' rootProject.name = 'bdk-kotlin'
include ':jvm', ':demo' //, ':android', ':test-fixtures' include ':jvm',':demo',':test-fixtures',':android'

View File

@ -0,0 +1,18 @@
plugins {
id 'org.jetbrains.kotlin.jvm'
id 'java-library'
}
java {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
dependencies {
implementation platform('org.jetbrains.kotlin:kotlin-bom')
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation(project(':jvm'))
implementation "junit:junit:4.13.2"
api "org.slf4j:slf4j-api:1.7.30"
}

View File

@ -1,19 +1,24 @@
package uniffi.bdk package org.bitcoindevkit.bdk
import uniffi.bdk.OfflineWallet
import org.junit.Assert.* import org.junit.Assert.*
import org.junit.Test import org.junit.Test
import org.slf4j.Logger
class LogProgress: BdkProgress { import org.slf4j.LoggerFactory
override fun update(progress: Float, message: String? ) { import uniffi.bdk.*
println("progress: $progress, message: $message") import java.io.File
}
}
/** /**
* Library tests which will execute for jvm and android modules. * Library tests which will execute for jvm and android modules.
*/ */
class LibTest { abstract class LibTest {
abstract fun getTestDataDir(): String
fun cleanupTestDataDir(testDataDir: String) {
File(testDataDir).deleteRecursively()
}
val log: Logger = LoggerFactory.getLogger(LibTest::class.java)
val desc = val desc =
"wpkh([c258d2e4/84h/1h/0h]tpubDDYkZojQFQjht8Tm4jsS3iuEmKjTiEGjG6KnuFNKKJb5A6ZUCUZKdvLdSDWofKi4ToRCwb9poe1XdqfUnP4jaJjCB2Zwv11ZLgSbnZSNecE/0/*)" "wpkh([c258d2e4/84h/1h/0h]tpubDDYkZojQFQjht8Tm4jsS3iuEmKjTiEGjG6KnuFNKKJb5A6ZUCUZKdvLdSDWofKi4ToRCwb9poe1XdqfUnP4jaJjCB2Zwv11ZLgSbnZSNecE/0/*)"
@ -27,7 +32,7 @@ class LibTest {
assertEquals(address, "bcrt1qzg4mckdh50nwdm9hkzq06528rsu73hjxytqkxs") assertEquals(address, "bcrt1qzg4mckdh50nwdm9hkzq06528rsu73hjxytqkxs")
} }
@Test(expected=BdkException.Descriptor::class) @Test(expected= BdkException.Descriptor::class)
fun invalidDescriptorExceptionIsThrown() { fun invalidDescriptorExceptionIsThrown() {
val config = DatabaseConfig.Memory("") val config = DatabaseConfig.Memory("")
OfflineWallet("invalid-descriptor", Network.REGTEST, config) OfflineWallet("invalid-descriptor", Network.REGTEST, config)
@ -35,11 +40,13 @@ class LibTest {
@Test @Test
fun sledWalletNewAddress() { fun sledWalletNewAddress() {
val config = DatabaseConfig.Sled(SledDbConfiguration("/tmp/testdb", "testdb")) val testDataDir = getTestDataDir()
val config = DatabaseConfig.Sled(SledDbConfiguration(testDataDir, "testdb"))
val wallet = OfflineWallet(desc, Network.REGTEST, config) val wallet = OfflineWallet(desc, Network.REGTEST, config)
val address = wallet.getNewAddress() val address = wallet.getNewAddress()
assertNotNull(address) assertNotNull(address)
assertEquals(address, "bcrt1qzg4mckdh50nwdm9hkzq06528rsu73hjxytqkxs") assertEquals(address, "bcrt1qzg4mckdh50nwdm9hkzq06528rsu73hjxytqkxs")
cleanupTestDataDir(testDataDir)
} }
@Test @Test
@ -52,6 +59,14 @@ class LibTest {
assertEquals(network, Network.TESTNET) assertEquals(network, Network.TESTNET)
} }
class LogProgress: BdkProgress {
val log: Logger = LoggerFactory.getLogger(LibTest::class.java)
override fun update(progress: Float, message: String?) {
log.debug("Syncing...")
}
}
@Test @Test
fun onlineWalletSyncGetBalance() { fun onlineWalletSyncGetBalance() {
val db = DatabaseConfig.Memory("") val db = DatabaseConfig.Memory("")