Remove kotlin jvm testFixtures and dup test code
This commit is contained in:
parent
0d68d2341b
commit
02dd2af0d3
@ -25,12 +25,6 @@ android {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation(project(':jvm')) {
|
|
||||||
exclude group: 'net.java.dev.jna', module: 'jna'
|
|
||||||
}
|
|
||||||
api(project(':jvm')) {
|
|
||||||
exclude group: 'net.java.dev.jna', module: 'jna'
|
|
||||||
}
|
|
||||||
implementation 'net.java.dev.jna:jna:5.8.0@aar'
|
implementation 'net.java.dev.jna:jna:5.8.0@aar'
|
||||||
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
|
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
|
||||||
implementation 'androidx.appcompat:appcompat:1.3.0'
|
implementation 'androidx.appcompat:appcompat:1.3.0'
|
||||||
@ -38,12 +32,6 @@ dependencies {
|
|||||||
api "org.slf4j:slf4j-api:1.7.30"
|
api "org.slf4j:slf4j-api:1.7.30"
|
||||||
|
|
||||||
androidTestImplementation 'com.github.tony19:logback-android:2.0.0'
|
androidTestImplementation 'com.github.tony19:logback-android:2.0.0'
|
||||||
androidTestImplementation(testFixtures(project(':jvm'))) {
|
|
||||||
exclude group: 'net.java.dev.jna', module: 'jna'
|
|
||||||
exclude group: 'ch.qos.logback', module: 'logback-core'
|
|
||||||
exclude group: 'ch.qos.logback', module: 'logback-classic'
|
|
||||||
exclude group: 'junit', module: 'junit'
|
|
||||||
}
|
|
||||||
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
|
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
|
||||||
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
|
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
|
||||||
androidTestImplementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.4.1'
|
androidTestImplementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.4.1'
|
||||||
|
@ -1,10 +1,15 @@
|
|||||||
package org.bitcoindevkit
|
package org.bitcoindevkit
|
||||||
|
|
||||||
|
import org.junit.Assert.*
|
||||||
|
import org.junit.Test
|
||||||
import android.app.Application
|
import android.app.Application
|
||||||
import android.content.Context.MODE_PRIVATE
|
import android.content.Context.MODE_PRIVATE
|
||||||
import androidx.test.core.app.ApplicationProvider
|
import androidx.test.core.app.ApplicationProvider
|
||||||
import androidx.test.ext.junit.runners.AndroidJUnit4
|
import androidx.test.ext.junit.runners.AndroidJUnit4
|
||||||
import org.junit.runner.RunWith
|
import org.junit.runner.RunWith
|
||||||
|
import org.slf4j.Logger
|
||||||
|
import org.slf4j.LoggerFactory
|
||||||
|
import java.io.File
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Instrumented test, which will execute on an Android device.
|
* Instrumented test, which will execute on an Android device.
|
||||||
@ -12,10 +17,90 @@ import org.junit.runner.RunWith
|
|||||||
* See [testing documentation](http://d.android.com/tools/testing).
|
* See [testing documentation](http://d.android.com/tools/testing).
|
||||||
*/
|
*/
|
||||||
@RunWith(AndroidJUnit4::class)
|
@RunWith(AndroidJUnit4::class)
|
||||||
class AndroidLibTest : LibTest() {
|
class AndroidLibTest {
|
||||||
override fun getTestDataDir(): String {
|
|
||||||
val context = ApplicationProvider.getApplicationContext<Application>()
|
fun getTestDataDir(): String {
|
||||||
return context.getDir("bdk-test", MODE_PRIVATE).toString()
|
val context = ApplicationProvider.getApplicationContext<Application>()
|
||||||
}
|
return context.getDir("bdk-test", MODE_PRIVATE).toString()
|
||||||
|
}
|
||||||
|
|
||||||
|
fun cleanupTestDataDir(testDataDir: String) {
|
||||||
|
File(testDataDir).deleteRecursively()
|
||||||
|
}
|
||||||
|
|
||||||
|
val log: Logger = LoggerFactory.getLogger(AndroidLibTest::class.java)
|
||||||
|
|
||||||
|
val desc =
|
||||||
|
"wpkh([c258d2e4/84h/1h/0h]tpubDDYkZojQFQjht8Tm4jsS3iuEmKjTiEGjG6KnuFNKKJb5A6ZUCUZKdvLdSDWofKi4ToRCwb9poe1XdqfUnP4jaJjCB2Zwv11ZLgSbnZSNecE/0/*)"
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun memoryWalletNewAddress() {
|
||||||
|
val config = DatabaseConfig.Memory("")
|
||||||
|
val wallet = OfflineWallet(desc, Network.REGTEST, config)
|
||||||
|
val address = wallet.getNewAddress()
|
||||||
|
assertNotNull(address)
|
||||||
|
assertEquals(address, "bcrt1qzg4mckdh50nwdm9hkzq06528rsu73hjxytqkxs")
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test(expected = BdkException.Descriptor::class)
|
||||||
|
fun invalidDescriptorExceptionIsThrown() {
|
||||||
|
val config = DatabaseConfig.Memory("")
|
||||||
|
OfflineWallet("invalid-descriptor", Network.REGTEST, config)
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun sledWalletNewAddress() {
|
||||||
|
val testDataDir = getTestDataDir()
|
||||||
|
val config = DatabaseConfig.Sled(SledDbConfiguration(testDataDir, "testdb"))
|
||||||
|
val wallet = OfflineWallet(desc, Network.REGTEST, config)
|
||||||
|
val address = wallet.getNewAddress()
|
||||||
|
assertNotNull(address)
|
||||||
|
assertEquals(address, "bcrt1qzg4mckdh50nwdm9hkzq06528rsu73hjxytqkxs")
|
||||||
|
cleanupTestDataDir(testDataDir)
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun onlineWalletInMemory() {
|
||||||
|
val db = DatabaseConfig.Memory("")
|
||||||
|
val client = BlockchainConfig.Electrum(
|
||||||
|
ElectrumConfig(
|
||||||
|
"ssl://electrum.blockstream.info:60002",
|
||||||
|
null,
|
||||||
|
5u,
|
||||||
|
null,
|
||||||
|
100u
|
||||||
|
)
|
||||||
|
)
|
||||||
|
val wallet = OnlineWallet(desc, null, Network.TESTNET, db, client)
|
||||||
|
assertNotNull(wallet)
|
||||||
|
val network = wallet.getNetwork()
|
||||||
|
assertEquals(network, Network.TESTNET)
|
||||||
|
}
|
||||||
|
|
||||||
|
class LogProgress : BdkProgress {
|
||||||
|
val log: Logger = LoggerFactory.getLogger(AndroidLibTest::class.java)
|
||||||
|
|
||||||
|
override fun update(progress: Float, message: String?) {
|
||||||
|
log.debug("Syncing...")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun onlineWalletSyncGetBalance() {
|
||||||
|
val db = DatabaseConfig.Memory("")
|
||||||
|
val client = BlockchainConfig.Electrum(
|
||||||
|
ElectrumConfig(
|
||||||
|
"ssl://electrum.blockstream.info:60002",
|
||||||
|
null,
|
||||||
|
5u,
|
||||||
|
null,
|
||||||
|
100u
|
||||||
|
)
|
||||||
|
)
|
||||||
|
val wallet = OnlineWallet(desc, null, Network.TESTNET, db, client)
|
||||||
|
wallet.sync(LogProgress(), null)
|
||||||
|
val balance = wallet.getBalance()
|
||||||
|
assertTrue(balance > 0u)
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -58,7 +58,3 @@ allprojects {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//task clean(type: Delete) {
|
|
||||||
// delete rootProject.buildDir
|
|
||||||
//}
|
|
||||||
|
@ -25,9 +25,9 @@ dependencies {
|
|||||||
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
|
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
|
||||||
implementation "net.java.dev.jna:jna:5.8.0"
|
implementation "net.java.dev.jna:jna:5.8.0"
|
||||||
api "org.slf4j:slf4j-api:1.7.30"
|
api "org.slf4j:slf4j-api:1.7.30"
|
||||||
testFixturesImplementation "junit:junit:4.13.2"
|
testImplementation "junit:junit:4.13.2"
|
||||||
testFixturesImplementation "ch.qos.logback:logback-classic:1.2.3"
|
testImplementation "ch.qos.logback:logback-classic:1.2.3"
|
||||||
testFixturesImplementation "ch.qos.logback:logback-core:1.2.3"
|
testImplementation "ch.qos.logback:logback-core:1.2.3"
|
||||||
}
|
}
|
||||||
|
|
||||||
afterEvaluate {
|
afterEvaluate {
|
||||||
|
@ -1,16 +1,100 @@
|
|||||||
package org.bitcoindevkit
|
package org.bitcoindevkit
|
||||||
|
|
||||||
|
import org.junit.Assert.*
|
||||||
|
import org.junit.Test
|
||||||
|
import org.slf4j.Logger
|
||||||
|
import org.slf4j.LoggerFactory
|
||||||
|
import java.io.File
|
||||||
import java.nio.file.Files
|
import java.nio.file.Files
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Library test, which will execute on linux host.
|
* Library test, which will execute on linux host.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
class JvmLibTest : LibTest() {
|
class JvmLibTest {
|
||||||
|
|
||||||
override fun getTestDataDir(): String {
|
fun getTestDataDir(): String {
|
||||||
return Files.createTempDirectory("bdk-test").toString()
|
return Files.createTempDirectory("bdk-test").toString()
|
||||||
//return Paths.get(System.getProperty("java.io.tmpdir"), "bdk-test").toString()
|
//return Paths.get(System.getProperty("java.io.tmpdir"), "bdk-test").toString()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun cleanupTestDataDir(testDataDir: String) {
|
||||||
|
File(testDataDir).deleteRecursively()
|
||||||
|
}
|
||||||
|
|
||||||
|
val log: Logger = LoggerFactory.getLogger(JvmLibTest::class.java)
|
||||||
|
|
||||||
|
val desc =
|
||||||
|
"wpkh([c258d2e4/84h/1h/0h]tpubDDYkZojQFQjht8Tm4jsS3iuEmKjTiEGjG6KnuFNKKJb5A6ZUCUZKdvLdSDWofKi4ToRCwb9poe1XdqfUnP4jaJjCB2Zwv11ZLgSbnZSNecE/0/*)"
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun memoryWalletNewAddress() {
|
||||||
|
val config = DatabaseConfig.Memory("")
|
||||||
|
val wallet = OfflineWallet(desc, Network.REGTEST, config)
|
||||||
|
val address = wallet.getNewAddress()
|
||||||
|
assertNotNull(address)
|
||||||
|
assertEquals(address, "bcrt1qzg4mckdh50nwdm9hkzq06528rsu73hjxytqkxs")
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test(expected = BdkException.Descriptor::class)
|
||||||
|
fun invalidDescriptorExceptionIsThrown() {
|
||||||
|
val config = DatabaseConfig.Memory("")
|
||||||
|
OfflineWallet("invalid-descriptor", Network.REGTEST, config)
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun sledWalletNewAddress() {
|
||||||
|
val testDataDir = getTestDataDir()
|
||||||
|
val config = DatabaseConfig.Sled(SledDbConfiguration(testDataDir, "testdb"))
|
||||||
|
val wallet = OfflineWallet(desc, Network.REGTEST, config)
|
||||||
|
val address = wallet.getNewAddress()
|
||||||
|
assertNotNull(address)
|
||||||
|
assertEquals(address, "bcrt1qzg4mckdh50nwdm9hkzq06528rsu73hjxytqkxs")
|
||||||
|
cleanupTestDataDir(testDataDir)
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun onlineWalletInMemory() {
|
||||||
|
val db = DatabaseConfig.Memory("")
|
||||||
|
val client = BlockchainConfig.Electrum(
|
||||||
|
ElectrumConfig(
|
||||||
|
"ssl://electrum.blockstream.info:60002",
|
||||||
|
null,
|
||||||
|
5u,
|
||||||
|
null,
|
||||||
|
100u
|
||||||
|
)
|
||||||
|
)
|
||||||
|
val wallet = OnlineWallet(desc, null, Network.TESTNET, db, client)
|
||||||
|
assertNotNull(wallet)
|
||||||
|
val network = wallet.getNetwork()
|
||||||
|
assertEquals(network, Network.TESTNET)
|
||||||
|
}
|
||||||
|
|
||||||
|
class LogProgress : BdkProgress {
|
||||||
|
val log: Logger = LoggerFactory.getLogger(JvmLibTest::class.java)
|
||||||
|
|
||||||
|
override fun update(progress: Float, message: String?) {
|
||||||
|
log.debug("Syncing...")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun onlineWalletSyncGetBalance() {
|
||||||
|
val db = DatabaseConfig.Memory("")
|
||||||
|
val client = BlockchainConfig.Electrum(
|
||||||
|
ElectrumConfig(
|
||||||
|
"ssl://electrum.blockstream.info:60002",
|
||||||
|
null,
|
||||||
|
5u,
|
||||||
|
null,
|
||||||
|
100u
|
||||||
|
)
|
||||||
|
)
|
||||||
|
val wallet = OnlineWallet(desc, null, Network.TESTNET, db, client)
|
||||||
|
wallet.sync(LogProgress(), null)
|
||||||
|
val balance = wallet.getBalance()
|
||||||
|
assertTrue(balance > 0u)
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,95 +0,0 @@
|
|||||||
package org.bitcoindevkit
|
|
||||||
|
|
||||||
import org.junit.Assert.*
|
|
||||||
import org.junit.Test
|
|
||||||
import org.slf4j.Logger
|
|
||||||
import org.slf4j.LoggerFactory
|
|
||||||
import org.bitcoindevkit.*
|
|
||||||
import java.io.File
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Library tests which will execute for jvm and android modules.
|
|
||||||
*/
|
|
||||||
abstract class LibTest {
|
|
||||||
|
|
||||||
abstract fun getTestDataDir(): String
|
|
||||||
|
|
||||||
fun cleanupTestDataDir(testDataDir: String) {
|
|
||||||
File(testDataDir).deleteRecursively()
|
|
||||||
}
|
|
||||||
|
|
||||||
val log: Logger = LoggerFactory.getLogger(LibTest::class.java)
|
|
||||||
|
|
||||||
val desc =
|
|
||||||
"wpkh([c258d2e4/84h/1h/0h]tpubDDYkZojQFQjht8Tm4jsS3iuEmKjTiEGjG6KnuFNKKJb5A6ZUCUZKdvLdSDWofKi4ToRCwb9poe1XdqfUnP4jaJjCB2Zwv11ZLgSbnZSNecE/0/*)"
|
|
||||||
|
|
||||||
@Test
|
|
||||||
fun memoryWalletNewAddress() {
|
|
||||||
val config = DatabaseConfig.Memory("")
|
|
||||||
val wallet = OfflineWallet(desc, Network.REGTEST, config)
|
|
||||||
val address = wallet.getNewAddress()
|
|
||||||
assertNotNull(address)
|
|
||||||
assertEquals(address, "bcrt1qzg4mckdh50nwdm9hkzq06528rsu73hjxytqkxs")
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test(expected = BdkException.Descriptor::class)
|
|
||||||
fun invalidDescriptorExceptionIsThrown() {
|
|
||||||
val config = DatabaseConfig.Memory("")
|
|
||||||
OfflineWallet("invalid-descriptor", Network.REGTEST, config)
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
fun sledWalletNewAddress() {
|
|
||||||
val testDataDir = getTestDataDir()
|
|
||||||
val config = DatabaseConfig.Sled(SledDbConfiguration(testDataDir, "testdb"))
|
|
||||||
val wallet = OfflineWallet(desc, Network.REGTEST, config)
|
|
||||||
val address = wallet.getNewAddress()
|
|
||||||
assertNotNull(address)
|
|
||||||
assertEquals(address, "bcrt1qzg4mckdh50nwdm9hkzq06528rsu73hjxytqkxs")
|
|
||||||
cleanupTestDataDir(testDataDir)
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
fun onlineWalletInMemory() {
|
|
||||||
val db = DatabaseConfig.Memory("")
|
|
||||||
val client = BlockchainConfig.Electrum(
|
|
||||||
ElectrumConfig(
|
|
||||||
"ssl://electrum.blockstream.info:60002",
|
|
||||||
null,
|
|
||||||
5u,
|
|
||||||
null,
|
|
||||||
100u
|
|
||||||
)
|
|
||||||
)
|
|
||||||
val wallet = OnlineWallet(desc, null, Network.TESTNET, db, client)
|
|
||||||
assertNotNull(wallet)
|
|
||||||
val network = wallet.getNetwork()
|
|
||||||
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
|
|
||||||
fun onlineWalletSyncGetBalance() {
|
|
||||||
val db = DatabaseConfig.Memory("")
|
|
||||||
val client = BlockchainConfig.Electrum(
|
|
||||||
ElectrumConfig(
|
|
||||||
"ssl://electrum.blockstream.info:60002",
|
|
||||||
null,
|
|
||||||
5u,
|
|
||||||
null,
|
|
||||||
100u
|
|
||||||
)
|
|
||||||
)
|
|
||||||
val wallet = OnlineWallet(desc, null, Network.TESTNET, db, client)
|
|
||||||
wallet.sync(LogProgress(), null)
|
|
||||||
val balance = wallet.getBalance()
|
|
||||||
assertTrue(balance > 0u)
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
x
Reference in New Issue
Block a user