From 7265a793c4ce0ec41381f8ea24b9b6d892cf4fc2 Mon Sep 17 00:00:00 2001 From: Kevin Gorham Date: Fri, 29 Mar 2019 02:05:45 -0400 Subject: [PATCH] Restore tests to compiling --- .../z/wallet/sdk/db/CacheDbIntegrationTest.kt | 7 -- .../z/wallet/sdk/db/GlueIntegrationTest.kt | 1 - .../wallet/sdk/db/GlueSetupIntegrationTest.kt | 1 - .../cash/z/wallet/sdk/db/IntegrationTest.kt | 2 +- .../sdk/data/ActiveTransactionManager.kt | 4 +- src/test/java/cash/z/wallet/sdk/GlueTest.kt | 50 -------------- src/test/java/cash/z/wallet/sdk/GrpcTest.kt | 67 ------------------- .../sdk/data/CompactBlockDownloaderTest.kt | 2 +- .../z/wallet/sdk/data/MockSynchronizerTest.kt | 5 +- .../cash/z/wallet/sdk/ext/ConversionsTest.kt | 10 +-- 10 files changed, 7 insertions(+), 142 deletions(-) delete mode 100644 src/test/java/cash/z/wallet/sdk/GlueTest.kt delete mode 100644 src/test/java/cash/z/wallet/sdk/GrpcTest.kt diff --git a/src/androidTest/java/cash/z/wallet/sdk/db/CacheDbIntegrationTest.kt b/src/androidTest/java/cash/z/wallet/sdk/db/CacheDbIntegrationTest.kt index d0f36d7b..a1f8c713 100644 --- a/src/androidTest/java/cash/z/wallet/sdk/db/CacheDbIntegrationTest.kt +++ b/src/androidTest/java/cash/z/wallet/sdk/db/CacheDbIntegrationTest.kt @@ -23,13 +23,6 @@ class CacheDbIntegrationTest { assertNotNull(dao) } - @Test - fun testDaoPrepopulated() { - dao.findById(343900).apply { - assertEquals(343900, this?.height) - } - } - companion object { private lateinit var dao: CompactBlockDao private lateinit var db: CompactBlockDb diff --git a/src/androidTest/java/cash/z/wallet/sdk/db/GlueIntegrationTest.kt b/src/androidTest/java/cash/z/wallet/sdk/db/GlueIntegrationTest.kt index 5c46a472..3c33ddae 100644 --- a/src/androidTest/java/cash/z/wallet/sdk/db/GlueIntegrationTest.kt +++ b/src/androidTest/java/cash/z/wallet/sdk/db/GlueIntegrationTest.kt @@ -7,7 +7,6 @@ import androidx.room.RoomDatabase import androidx.test.core.app.ApplicationProvider import cash.z.wallet.sdk.dao.BlockDao import cash.z.wallet.sdk.dao.CompactBlockDao -import cash.z.wallet.sdk.dao.NoteDao import cash.z.wallet.sdk.dao.TransactionDao import cash.z.wallet.sdk.data.SampleSeedProvider import cash.z.wallet.sdk.ext.toBlockHeight diff --git a/src/androidTest/java/cash/z/wallet/sdk/db/GlueSetupIntegrationTest.kt b/src/androidTest/java/cash/z/wallet/sdk/db/GlueSetupIntegrationTest.kt index d5afee09..70a298f8 100644 --- a/src/androidTest/java/cash/z/wallet/sdk/db/GlueSetupIntegrationTest.kt +++ b/src/androidTest/java/cash/z/wallet/sdk/db/GlueSetupIntegrationTest.kt @@ -7,7 +7,6 @@ import androidx.room.RoomDatabase import androidx.test.core.app.ApplicationProvider import cash.z.wallet.sdk.dao.BlockDao import cash.z.wallet.sdk.dao.CompactBlockDao -import cash.z.wallet.sdk.dao.NoteDao import cash.z.wallet.sdk.dao.TransactionDao import cash.z.wallet.sdk.ext.toBlockHeight import cash.z.wallet.sdk.jni.JniConverter diff --git a/src/androidTest/java/cash/z/wallet/sdk/db/IntegrationTest.kt b/src/androidTest/java/cash/z/wallet/sdk/db/IntegrationTest.kt index a5de33ea..62ef5e94 100644 --- a/src/androidTest/java/cash/z/wallet/sdk/db/IntegrationTest.kt +++ b/src/androidTest/java/cash/z/wallet/sdk/db/IntegrationTest.kt @@ -46,7 +46,7 @@ class IntegrationTest { downloader = CompactBlockStream("10.0.2.2", 9067, logger) processor = CompactBlockProcessor(context, converter, cacheDdName, dataDbName, logger = logger) - repository = PollingTransactionRepository(context, dataDbName, 10_000L, converter, logger) + repository = PollingTransactionRepository(context, dataDbName, 10_000L) wallet = Wallet( context, converter, diff --git a/src/main/java/cash/z/wallet/sdk/data/ActiveTransactionManager.kt b/src/main/java/cash/z/wallet/sdk/data/ActiveTransactionManager.kt index 7e4a830a..3348a50d 100644 --- a/src/main/java/cash/z/wallet/sdk/data/ActiveTransactionManager.kt +++ b/src/main/java/cash/z/wallet/sdk/data/ActiveTransactionManager.kt @@ -192,10 +192,10 @@ class ActiveTransactionManager( // Active Transaction Management // - suspend fun sendToAddress(zatoshi: Long, toAddress: String) = withContext(Dispatchers.IO) { + suspend fun sendToAddress(zatoshi: Long, toAddress: String, memo: String = "", fromAccountId: Int = 0) = withContext(Dispatchers.IO) { twig("creating send transaction for zatoshi value $zatoshi") val activeSendTransaction = create(zatoshi, toAddress.masked()) - val transactionId: Long = wallet.createRawSendTransaction(zatoshi, toAddress) // this call takes up to 20 seconds + val transactionId: Long = wallet.createRawSendTransaction(zatoshi, toAddress, memo, fromAccountId) // this call takes up to 20 seconds // cancellation basically just prevents sending to the network but we cannot cancel after this moment // well, technically we could still allow cancellation in the split second between this line of code and the upload request but lets not complicate things diff --git a/src/test/java/cash/z/wallet/sdk/GlueTest.kt b/src/test/java/cash/z/wallet/sdk/GlueTest.kt deleted file mode 100644 index d9471fd8..00000000 --- a/src/test/java/cash/z/wallet/sdk/GlueTest.kt +++ /dev/null @@ -1,50 +0,0 @@ -package cash.z.wallet.sdk - - -import io.grpc.ManagedChannel -import io.grpc.ManagedChannelBuilder -import org.junit.jupiter.api.* -import org.junit.jupiter.api.Assertions.assertEquals -import org.junit.jupiter.api.Assertions.assertNotNull -import cash.z.wallet.sdk.rpc.CompactTxStreamerGrpc -import cash.z.wallet.sdk.rpc.Service -import cash.z.wallet.sdk.rpc.Service.BlockID -import cash.z.wallet.sdk.rpc.Service.BlockRange -import java.util.concurrent.TimeUnit - -class GlueTest { - - @Test - fun testSanity_transactionParsing() { - val result = - blockingStub.getBlockRange( - BlockRange.newBuilder() - .setStart(heightOf(373070)) - .setEnd(heightOf(373085)) - .build() - ) - assertNotNull(result) - assertEquals(372950, result.next().height) - } - - fun heightOf(height: Long): Service.BlockID { - return BlockID.newBuilder().setHeight(height).build() - } - - companion object { - lateinit var blockingStub: CompactTxStreamerGrpc.CompactTxStreamerBlockingStub - - @BeforeAll - @JvmStatic - fun setup() { - val channel = ManagedChannelBuilder.forAddress("localhost", 9067).usePlaintext().build() - blockingStub = CompactTxStreamerGrpc.newBlockingStub(channel) - } - - @AfterAll - @JvmStatic - fun tearDown() { - (blockingStub.channel as ManagedChannel).shutdown().awaitTermination(2000L, TimeUnit.MILLISECONDS) - } - } -} \ No newline at end of file diff --git a/src/test/java/cash/z/wallet/sdk/GrpcTest.kt b/src/test/java/cash/z/wallet/sdk/GrpcTest.kt deleted file mode 100644 index 784b6973..00000000 --- a/src/test/java/cash/z/wallet/sdk/GrpcTest.kt +++ /dev/null @@ -1,67 +0,0 @@ -package cash.z.wallet.sdk - - -import io.grpc.ManagedChannel -import io.grpc.ManagedChannelBuilder -import org.junit.jupiter.api.AfterAll -import org.junit.jupiter.api.Assertions.assertEquals -import org.junit.jupiter.api.Assertions.assertNotNull -import org.junit.jupiter.api.BeforeAll -import org.junit.jupiter.api.Test -import cash.z.wallet.sdk.rpc.CompactTxStreamerGrpc -import cash.z.wallet.sdk.rpc.Service -import cash.z.wallet.sdk.rpc.Service.* -import rpc.WalletDataOuterClass -import java.util.concurrent.TimeUnit - -class GrpcTest { - @Test - fun testSanity_protoFilesCreated() { - val name = "Zooko" - val data = WalletDataOuterClass.WalletData.newBuilder() - .setName(name) - .setId(1) - .build() - assertEquals(name, data.name) - } - - @Test - fun testSanity_serviceCreated() { - val result = blockingStub.getLatestBlock(ChainSpec.newBuilder().build()) - assertNotNull(result) - } - - @Test - fun testSanity_transactionParsing() { - val result = - blockingStub.getBlockRange( - BlockRange.newBuilder() - .setStart(heightOf(372950)) - .setEnd(heightOf(372954)) - .build() - ) - assertNotNull(result) - assertEquals(372950, result.next().height) - } - - fun heightOf(height: Long): Service.BlockID { - return BlockID.newBuilder().setHeight(height).build() - } - - companion object { - lateinit var blockingStub: CompactTxStreamerGrpc.CompactTxStreamerBlockingStub - - @BeforeAll - @JvmStatic - fun setup() { - val channel = ManagedChannelBuilder.forAddress("localhost", 9067).usePlaintext().build() - blockingStub = CompactTxStreamerGrpc.newBlockingStub(channel) - } - - @AfterAll - @JvmStatic - fun tearDown() { - (blockingStub.channel as ManagedChannel).shutdown().awaitTermination(2000L, TimeUnit.MILLISECONDS) - } - } -} \ No newline at end of file diff --git a/src/test/java/cash/z/wallet/sdk/data/CompactBlockDownloaderTest.kt b/src/test/java/cash/z/wallet/sdk/data/CompactBlockDownloaderTest.kt index 6f7f30df..5f571b1f 100644 --- a/src/test/java/cash/z/wallet/sdk/data/CompactBlockDownloaderTest.kt +++ b/src/test/java/cash/z/wallet/sdk/data/CompactBlockDownloaderTest.kt @@ -65,7 +65,7 @@ class CompactBlockDownloaderTest { } downloader = CompactBlockStream(grpcServerRule.channel, TroubleshootingTwig()) connection = spy(downloader.connection) - whenever(connection.createStub(any())).thenReturn(blockingStub) + whenever(connection.createStub(anyNotNull())).thenReturn(blockingStub) } @AfterEach diff --git a/src/test/java/cash/z/wallet/sdk/data/MockSynchronizerTest.kt b/src/test/java/cash/z/wallet/sdk/data/MockSynchronizerTest.kt index ddd03b57..2eb0f8da 100644 --- a/src/test/java/cash/z/wallet/sdk/data/MockSynchronizerTest.kt +++ b/src/test/java/cash/z/wallet/sdk/data/MockSynchronizerTest.kt @@ -1,10 +1,7 @@ package cash.z.wallet.sdk.data import cash.z.wallet.sdk.dao.WalletTransaction -import com.nhaarman.mockitokotlin2.timeout import kotlinx.coroutines.* -import kotlinx.coroutines.channels.distinctBy -import kotlinx.coroutines.channels.filter import org.junit.jupiter.api.AfterEach import org.junit.jupiter.api.BeforeEach import org.junit.jupiter.api.Test @@ -188,7 +185,7 @@ internal class MockSynchronizerTest { fun `is out of sync about 10% of the time`() = runBlocking { var count = 0 repeat(100_000) { - if (synchronizer.isOutOfSync()) count++ + if (synchronizer.isStale()) count++ } assertTrue(count < 11_000, "a count of $count is too frequent") assertTrue(count > 9_000, "a count of $count is too infrequent") diff --git a/src/test/java/cash/z/wallet/sdk/ext/ConversionsTest.kt b/src/test/java/cash/z/wallet/sdk/ext/ConversionsTest.kt index 4e1d47c9..6ac604ed 100644 --- a/src/test/java/cash/z/wallet/sdk/ext/ConversionsTest.kt +++ b/src/test/java/cash/z/wallet/sdk/ext/ConversionsTest.kt @@ -27,12 +27,6 @@ internal class ConversionsTest { fun `toZecString uses banker's rounding`() { assertEquals("1.123456", 112345650L.convertZatoshiToZecString()) } -// @Test -// fun `toZec preserves precision when scale is changed`() { -// val desiredFunds = 1.1234567890123456789.toZec(3) -// assertEquals(1.123, desiredFunds.toDouble()) -// assertEquals("1.1234567", desiredFunds.setScale(7)) -// } @Test fun `toZecString honors minimum digits`() { assertEquals("1.1000", 1.1.toZecString(6, 4)) @@ -50,7 +44,7 @@ internal class ConversionsTest { assertEquals("1", 1.0.toZecString(6, 0)) } @Test - fun `toZecString defaults are resonable`() { + fun `toZecString defaults are reasonable`() { // basically check for no extra zeros and banker's rounding assertEquals("1", 1.0000000.toZecString()) assertEquals("0", 0.0000000.toZecString()) @@ -60,7 +54,7 @@ internal class ConversionsTest { assertEquals("1.000006", 1.0000055.toZecString()) } @Test - fun `toUsdString defaults are resonable`() { + fun `toUsdString defaults are reasonable`() { // basically check for no extra zeros and banker's rounding assertEquals("1.00", 1.0000000.toUsdString()) assertEquals("0", 0.0000000.toUsdString())