From b8ee1f6373d11fac02b67db08e52755bef7745d1 Mon Sep 17 00:00:00 2001 From: dgeorgiev Date: Mon, 18 Sep 2023 19:55:46 +0300 Subject: [PATCH 1/2] Fix bom publishing in maven_central --- gradle.properties | 2 +- we-node-client-bom/build.gradle.kts | 16 +++++++++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/gradle.properties b/gradle.properties index 4b7e88d6..6587abf5 100644 --- a/gradle.properties +++ b/gradle.properties @@ -44,5 +44,5 @@ springMockkVersion=3.1.1 wireMockVersion=2.33.2 # Publishing values -githubUrl=https://github.com/ +githubUrl=https://github.com/waves-enterprise/ gitHubProject=we-node-client \ No newline at end of file diff --git a/we-node-client-bom/build.gradle.kts b/we-node-client-bom/build.gradle.kts index 0ccd47e3..260dfa1d 100644 --- a/we-node-client-bom/build.gradle.kts +++ b/we-node-client-bom/build.gradle.kts @@ -2,6 +2,7 @@ val gitHubProject: String by project val githubUrl: String by project plugins { + signing `maven-publish` `java-platform` } @@ -20,7 +21,7 @@ dependencies { publishing { publications { - create("we-node-client-bom") { + create("projectBom") { from(components["javaPlatform"]) pom { @@ -48,8 +49,21 @@ publishing { name.set("Stepan Kashintsev") email.set("kpote3@gmail.com") } + developer { + id.set("donyfutura") + name.set("Daniil Georgiev") + email.set("donyfutura@gmail.com") + } } } } } } + +signing { + afterEvaluate { + if (!project.version.toString().endsWith("SNAPSHOT")) { + sign(publishing.publications["projectBom"]) + } + } +} From 74ceb5b73876a6f1585d3352186dd9c975a88c52 Mon Sep 17 00:00:00 2001 From: dgeorgiev Date: Tue, 3 Oct 2023 11:37:14 +0300 Subject: [PATCH 2/2] fix boolean data entry type --- .../sdk/node/client/feign/TxMapperTest.kt | 74 +++++++++++++++++++ .../node/client/feign/tx/WeTxApiFeignTest.kt | 7 -- .../sdk/node/client/http/DataEntryDto.kt | 2 +- 3 files changed, 75 insertions(+), 8 deletions(-) create mode 100644 we-node-client-http/we-node-client-feign-client/src/test/kotlin/com/wavesenterprise/sdk/node/client/feign/TxMapperTest.kt diff --git a/we-node-client-http/we-node-client-feign-client/src/test/kotlin/com/wavesenterprise/sdk/node/client/feign/TxMapperTest.kt b/we-node-client-http/we-node-client-feign-client/src/test/kotlin/com/wavesenterprise/sdk/node/client/feign/TxMapperTest.kt new file mode 100644 index 00000000..12e122e6 --- /dev/null +++ b/we-node-client-http/we-node-client-feign-client/src/test/kotlin/com/wavesenterprise/sdk/node/client/feign/TxMapperTest.kt @@ -0,0 +1,74 @@ +package com.wavesenterprise.sdk.node.client.feign + +import com.wavesenterprise.sdk.node.client.http.DataEntryDto +import com.wavesenterprise.sdk.node.client.http.DataEntryDto.Companion.toDomain +import com.wavesenterprise.sdk.node.domain.DataValue +import org.junit.jupiter.api.Assertions.assertEquals +import org.junit.jupiter.api.Assertions.assertTrue +import org.junit.jupiter.api.Test +import org.junit.jupiter.api.assertThrows +import java.util.Base64 + +class TxMapperTest { + + @Test + fun `should correct map to BooleanDataValue`() { + DataEntryDto( + key = "bool", + type = "boolean", + value = true, + ).toDomain().also { + assertTrue(it.value is DataValue.BooleanDataValue) + } + } + + @Test + fun `should correct map to StringDataValue`() { + DataEntryDto( + key = "str", + type = "string", + value = "test", + ).toDomain().also { + assertTrue(it.value is DataValue.StringDataValue) + } + } + + @Test + fun `should correct map to IntegerDataValue`() { + DataEntryDto( + key = "int", + type = "integer", + value = 1, + ).toDomain().also { + assertTrue(it.value is DataValue.IntegerDataValue) + } + } + + @Test + fun `should correct map to BinaryDataValue`() { + DataEntryDto( + key = "bin", + type = "binary", + value = Base64.getEncoder().encodeToString("test".toByteArray()), + ).toDomain().also { + assertTrue(it.value is DataValue.BinaryDataValue) + } + } + + @Test + fun `should throw exception when unknown type`() { + val incorrectBooleanDataEntryDto = DataEntryDto( + key = "bool", + type = "bool", + value = true, + ) + assertThrows { + incorrectBooleanDataEntryDto.toDomain() + }.also { + assertEquals( + "Unknown data type ${incorrectBooleanDataEntryDto.type} for key ${incorrectBooleanDataEntryDto.key}", + it.message + ) + } + } +} diff --git a/we-node-client-http/we-node-client-feign-client/src/test/kotlin/com/wavesenterprise/sdk/node/client/feign/tx/WeTxApiFeignTest.kt b/we-node-client-http/we-node-client-feign-client/src/test/kotlin/com/wavesenterprise/sdk/node/client/feign/tx/WeTxApiFeignTest.kt index 475f7820..c7f0f649 100644 --- a/we-node-client-http/we-node-client-feign-client/src/test/kotlin/com/wavesenterprise/sdk/node/client/feign/tx/WeTxApiFeignTest.kt +++ b/we-node-client-http/we-node-client-feign-client/src/test/kotlin/com/wavesenterprise/sdk/node/client/feign/tx/WeTxApiFeignTest.kt @@ -43,13 +43,6 @@ internal class WeTxApiFeignTest { assertEquals(250, utxInfo.sizeInBytes) } -// @Test -// fun `should get utxInfo`() { -// weTxApi.utxTxs()[0].apply { -// assertEquals("", ) -// } -// } - @Test fun `should successfully sign SignRequest`() { val signedTxResponse: CallContractTxDto = weTxApi.sign( diff --git a/we-node-client-json/src/main/kotlin/com/wavesenterprise/sdk/node/client/http/DataEntryDto.kt b/we-node-client-json/src/main/kotlin/com/wavesenterprise/sdk/node/client/http/DataEntryDto.kt index 0d6fa421..bdae5949 100644 --- a/we-node-client-json/src/main/kotlin/com/wavesenterprise/sdk/node/client/http/DataEntryDto.kt +++ b/we-node-client-json/src/main/kotlin/com/wavesenterprise/sdk/node/client/http/DataEntryDto.kt @@ -12,7 +12,7 @@ data class DataEntryDto( ) { companion object { const val BINARY_TYPE = "binary" - const val BOOLEAN_TYPE = "bool" + const val BOOLEAN_TYPE = "boolean" const val INTEGER_TYPE = "integer" const val STRING_TYPE = "string"