Sanity test the new initializer behavior and fix existing uses.
This commit is contained in:
parent
e9e2593369
commit
8f8d3db9d9
|
@ -50,7 +50,7 @@ class ListTransactionsFragment : BaseDemoFragment<FragmentListTransactionsBindin
|
|||
|
||||
App.instance.defaultConfig.let { config ->
|
||||
initializer = Initializer(App.instance) {
|
||||
it.import(seed, config.birthdayHeight)
|
||||
it.importWallet(seed, config.birthdayHeight)
|
||||
it.server(config.host, config.port)
|
||||
}
|
||||
address = DerivationTool.deriveShieldedAddress(seed)
|
||||
|
|
|
@ -67,7 +67,7 @@ class ListUtxosFragment : BaseDemoFragment<FragmentListUtxosBinding>() {
|
|||
// have the seed stored
|
||||
seed = Mnemonics.MnemonicCode(sharedViewModel.seedPhrase.value).toSeed()
|
||||
initializer = Initializer(App.instance) {
|
||||
it.import(seed, config.birthdayHeight)
|
||||
it.importWallet(seed, config.birthdayHeight)
|
||||
it.alias = "Demo_Utxos"
|
||||
}
|
||||
synchronizer = Synchronizer(initializer)
|
||||
|
|
|
@ -51,7 +51,7 @@ class SendFragment : BaseDemoFragment<FragmentSendBinding>() {
|
|||
|
||||
App.instance.defaultConfig.let { config ->
|
||||
Initializer(App.instance) {
|
||||
it.import(seed, config.birthdayHeight)
|
||||
it.importWallet(seed, config.birthdayHeight)
|
||||
it.server(config.host, config.port)
|
||||
}.let { initializer ->
|
||||
synchronizer = Synchronizer(initializer)
|
||||
|
|
|
@ -1,18 +1,29 @@
|
|||
package cash.z.ecc.android.sdk
|
||||
|
||||
import androidx.test.platform.app.InstrumentationRegistry
|
||||
import cash.z.ecc.android.sdk.exception.InitializerException
|
||||
import cash.z.ecc.android.sdk.ext.TroubleshootingTwig
|
||||
import cash.z.ecc.android.sdk.ext.Twig
|
||||
import cash.z.ecc.android.sdk.ext.ZcashSdk
|
||||
import org.junit.After
|
||||
import org.junit.Assert.*
|
||||
import org.junit.Test
|
||||
|
||||
class InitializerTest {
|
||||
|
||||
lateinit var initializer: Initializer
|
||||
|
||||
@After
|
||||
fun cleanUp() {
|
||||
// don't leave databases sitting around after this test is run
|
||||
if (::initializer.isInitialized) initializer.erase()
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testInit() {
|
||||
val height = 980000
|
||||
|
||||
val initializer = Initializer(context) { config ->
|
||||
initializer = Initializer(context) { config ->
|
||||
config.importedWalletBirthday(height)
|
||||
config.setViewingKeys("zxviews1qvn6j50dqqqqpqxqkvqgx2sp63jccr4k5t8zefadpzsu0yy73vczfznwc794xz6lvy3yp5ucv43lww48zz95ey5vhrsq83dqh0ky9junq0cww2wjp9c3cd45n5l5x8l2g9atnx27e9jgyy8zasjy26gugjtefphan9al3tx208m8ekev5kkx3ug6pd0qk4gq4j4wfuxajn388pfpq54wklwktqkyjz9e6gam0n09xjc35ncd3yah5aa9ezj55lk4u7v7hn0v86vz7ygq4qj2v",
|
||||
"zxviews1qv886f6hqqqqpqy2ajg9sm22vs4gm4hhajthctfkfws34u45pjtut3qmz0eatpqzvllgsvlk3x0y35ktx5fnzqqzueyph20k3328kx46y3u5xs4750cwuwjuuccfp7la6rh8yt2vjz6tylsrwzy3khtjjzw7etkae6gw3vq608k7quka4nxkeqdxxsr9xxdagv2rhhwugs6w0cquu2ykgzgaln2vyv6ah3ram2h6lrpxuznyczt2xl3lyxcwlk4wfz5rh7wzfd7642c2ae5d7")
|
||||
|
@ -25,15 +36,62 @@ class InitializerTest {
|
|||
@Test
|
||||
fun testErase() {
|
||||
val alias = "VkInitTest2"
|
||||
Initializer(context) { config ->
|
||||
initializer = Initializer(context) { config ->
|
||||
config.importedWalletBirthday(1_419_900)
|
||||
config.setViewingKeys("zxviews1qvn6j50dqqqqpqxqkvqgx2sp63jccr4k5t8zefadpzsu0yy73vczfznwc794xz6lvy3yp5ucv43lww48zz95ey5vhrsq83dqh0ky9junq0cww2wjp9c3cd45n5l5x8l2g9atnx27e9jgyy8zasjy26gugjtefphan9al3tx208m8ekev5kkx3ug6pd0qk4gq4j4wfuxajn388pfpq54wklwktqkyjz9e6gam0n09xjc35ncd3yah5aa9ezj55lk4u7v7hn0v86vz7ygq4qj2v",
|
||||
"zxviews1qv886f6hqqqqpqy2ajg9sm22vs4gm4hhajthctfkfws34u45pjtut3qmz0eatpqzvllgsvlk3x0y35ktx5fnzqqzueyph20k3328kx46y3u5xs4750cwuwjuuccfp7la6rh8yt2vjz6tylsrwzy3khtjjzw7etkae6gw3vq608k7quka4nxkeqdxxsr9xxdagv2rhhwugs6w0cquu2ykgzgaln2vyv6ah3ram2h6lrpxuznyczt2xl3lyxcwlk4wfz5rh7wzfd7642c2ae5d7")
|
||||
config.alias = alias
|
||||
}
|
||||
|
||||
assertFalse("Expected false when erasing nothing.", Initializer.erase(context))
|
||||
assertTrue("Failed to erase initializer", Initializer.erase(context, alias))
|
||||
assertFalse("Expected false when erasing nothing.", Initializer.erase(context))
|
||||
}
|
||||
|
||||
@Test(expected = InitializerException.MissingDefaultBirthdayException::class)
|
||||
fun testMissingBirthday() {
|
||||
val config = Initializer.Config { config ->
|
||||
config.setViewingKeys("vk1")
|
||||
}
|
||||
config.validate()
|
||||
}
|
||||
|
||||
@Test(expected = InitializerException.InvalidBirthdayHeightException::class)
|
||||
fun testOutOfBoundsBirthday() {
|
||||
val config = Initializer.Config { config ->
|
||||
config.setViewingKeys("vk1")
|
||||
config.setBirthdayHeight(ZcashSdk.SAPLING_ACTIVATION_HEIGHT - 1)
|
||||
}
|
||||
config.validate()
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testImportedWalletUsesSaplingActivation() {
|
||||
initializer = Initializer(context) { config ->
|
||||
config.setViewingKeys("vk1")
|
||||
config.importWallet(ByteArray(32))
|
||||
}
|
||||
assertEquals("Incorrect height used for import.", ZcashSdk.SAPLING_ACTIVATION_HEIGHT, initializer.birthday.height)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testDefaultToOldestHeight_true() {
|
||||
initializer = Initializer(context) { config ->
|
||||
config.setViewingKeys("vk1")
|
||||
config.setBirthdayHeight(null, true)
|
||||
}
|
||||
assertEquals("Height should equal sapling activation height when defaultToOldestHeight is true", ZcashSdk.SAPLING_ACTIVATION_HEIGHT, initializer.birthday.height)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testDefaultToOldestHeight_false() {
|
||||
val initialHeight = 750_000
|
||||
initializer = Initializer(context) { config ->
|
||||
config.setViewingKeys("vk1")
|
||||
config.setBirthdayHeight(initialHeight, false)
|
||||
}
|
||||
val h = initializer.birthday.height
|
||||
assertNotEquals("Height should not equal sapling activation height when defaultToOldestHeight is false", ZcashSdk.SAPLING_ACTIVATION_HEIGHT, h)
|
||||
assertTrue("expected $h to be higher", h >= initialHeight)
|
||||
}
|
||||
|
||||
companion object {
|
||||
|
|
|
@ -84,7 +84,7 @@ class BalancePrinterUtil {
|
|||
}.collect { seed ->
|
||||
// TODO: clear the dataDb but leave the cacheDb
|
||||
val initializer = Initializer(context) { config ->
|
||||
config.import(seed, birthdayHeight)
|
||||
config.importWallet(seed, birthdayHeight)
|
||||
config.server(host, port)
|
||||
config.alias = alias
|
||||
}
|
||||
|
|
|
@ -69,7 +69,7 @@ class DarksideTestCoordinator(val host: String = "127.0.0.1", val testName: Stri
|
|||
twig("*************** INITIALIZING TEST COORDINATOR (ONLY ONCE) ***********************")
|
||||
val initializer = Initializer(context) { config ->
|
||||
config.seedPhrase(seedPhrase)
|
||||
config.birthdayHeight = birthdayHeight
|
||||
config.setBirthdayHeight(birthdayHeight)
|
||||
config.alias = testName
|
||||
}
|
||||
synchronizer = Synchronizer(initializer) as SdkSynchronizer
|
||||
|
|
|
@ -65,7 +65,7 @@ class DataDbScannerUtil {
|
|||
|
||||
@Test
|
||||
fun scanExistingDb() {
|
||||
synchronizer = Synchronizer(Initializer(context) { it.birthdayHeight = birthdayHeight})
|
||||
synchronizer = Synchronizer(Initializer(context) { it.setBirthdayHeight(birthdayHeight)})
|
||||
|
||||
println("sync!")
|
||||
synchronizer.start()
|
||||
|
|
|
@ -108,7 +108,7 @@ class IntegrationTest {
|
|||
private val initializer = Initializer(context) { config ->
|
||||
config.setSeed(seed)
|
||||
config.server(host, port)
|
||||
config.birthdayHeight = birthdayHeight
|
||||
config.setBirthdayHeight(birthdayHeight)
|
||||
}
|
||||
private val synchronizer: Synchronizer = Synchronizer(initializer)
|
||||
|
||||
|
|
Loading…
Reference in New Issue