From bb88a4e6edb4d121635a2fb4e16aac66ba3e1926 Mon Sep 17 00:00:00 2001 From: Dries Samyn Date: Tue, 25 Apr 2023 10:09:55 +0100 Subject: [PATCH 1/4] Update to lates version of jackson and mockito --- gradle.properties | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gradle.properties b/gradle.properties index 98076b94cca..323e5cd91b9 100644 --- a/gradle.properties +++ b/gradle.properties @@ -56,7 +56,7 @@ felixSecurityVersion=2.8.3 guavaVersion=30.1.1-jre hibernateVersion=5.6.15.Final hikariCpVersion=5.0.1 -jacksonVersion=2.14.2 +jacksonVersion=2.15.0 jaxbVersion = 2.3.1 jbossTransactionApiSpecVersion=1.1.1.Final jetbrainsAnnotationsVersion=13.0 @@ -100,7 +100,7 @@ jimfsVersion = 1.2 junit5Version=5.9.2 junitPlatformVersion=1.9.2 mockitoKotlinVersion=4.1.0 -mockitoVersion=5.3.0 +mockitoVersion=5.3.1 osgiTestJunit5Version=1.2.1 postgresDriverVersion=42.6.0 slingVersion=3.3.4 From 568071a30c00eaf1544869ed26101fb383ea62ca Mon Sep 17 00:00:00 2001 From: Dries Samyn Date: Tue, 25 Apr 2023 17:38:19 +0100 Subject: [PATCH 2/4] Exclude `ch.randelshofer:fastdoubleparser` as it is not needed as a transitive dependency and is not a valid OSGi bundle. --- testing/cpbs/sandbox-security-manager-two/build.gradle | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/testing/cpbs/sandbox-security-manager-two/build.gradle b/testing/cpbs/sandbox-security-manager-two/build.gradle index 247b45f8644..19a18b038ba 100644 --- a/testing/cpbs/sandbox-security-manager-two/build.gradle +++ b/testing/cpbs/sandbox-security-manager-two/build.gradle @@ -18,7 +18,11 @@ cordapp { dependencies { cordaProvided platform("net.corda:corda-api:$cordaApiVersion") - implementation "com.fasterxml.jackson.module:jackson-module-kotlin:$jacksonVersion" + implementation("com.fasterxml.jackson.module:jackson-module-kotlin:$jacksonVersion") { + // this transitive dependency is not needed as it is shaded in the jackson module, but there is a bug in + // the metadata: https://github.com/FasterXML/jackson-core/issues/999 + exclude group: "ch.randelshofer" + } compileOnly "org.osgi:org.osgi.service.component.annotations" cordaProvided 'org.jetbrains.kotlin:kotlin-osgi-bundle' cordaProvided 'net.corda:corda-application' From 86c23ea15b3c115b5efbcd28ad6c86e7597f5980 Mon Sep 17 00:00:00 2001 From: Dries Samyn Date: Tue, 25 Apr 2023 17:57:33 +0100 Subject: [PATCH 3/4] Exclude `ch.randelshofer:fastdoubleparser` as it is not needed as a transitive dependency and is not a valid OSGi bundle. --- testing/cpbs/sandbox-security-manager-one/build.gradle | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/testing/cpbs/sandbox-security-manager-one/build.gradle b/testing/cpbs/sandbox-security-manager-one/build.gradle index 82f9d15d2ce..e5b8dc6657d 100644 --- a/testing/cpbs/sandbox-security-manager-one/build.gradle +++ b/testing/cpbs/sandbox-security-manager-one/build.gradle @@ -17,7 +17,11 @@ cordapp { } dependencies { - implementation "com.fasterxml.jackson.module:jackson-module-kotlin:$jacksonVersion" + implementation("com.fasterxml.jackson.module:jackson-module-kotlin:$jacksonVersion") { + // this transitive dependency is not needed as it is shaded in the jackson module, but there is a bug in + // the metadata: https://github.com/FasterXML/jackson-core/issues/999 + exclude group: "ch.randelshofer" + } cordaProvided platform("net.corda:corda-api:$cordaApiVersion") compileOnly "org.osgi:org.osgi.service.component.annotations" From 1648d6569deda5c546f481b4a04bd5c1ad543a5e Mon Sep 17 00:00:00 2001 From: Dries Samyn Date: Wed, 26 Apr 2023 09:32:07 +0100 Subject: [PATCH 4/4] Change to output format of datetime. This is triggered by an Jackson update. See https://github.com/FasterXML/jackson-modules-java8/issues/204 and https://github.com/FasterXML/jackson-modules-java8/pull/267 --- .../server/impl/RestServerRequestsTest.kt | 21 ++++++++++++------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/libs/rest/rest-server-impl/src/integrationTest/kotlin/net/corda/rest/server/impl/RestServerRequestsTest.kt b/libs/rest/rest-server-impl/src/integrationTest/kotlin/net/corda/rest/server/impl/RestServerRequestsTest.kt index 6233adad057..ba41e844d96 100644 --- a/libs/rest/rest-server-impl/src/integrationTest/kotlin/net/corda/rest/server/impl/RestServerRequestsTest.kt +++ b/libs/rest/rest-server-impl/src/integrationTest/kotlin/net/corda/rest/server/impl/RestServerRequestsTest.kt @@ -8,7 +8,18 @@ import io.javalin.core.util.Header.WWW_AUTHENTICATE import net.corda.rest.server.apigen.test.TestJavaPrimitivesRestResourceImpl import net.corda.rest.server.config.models.RestServerSettings import net.corda.rest.server.impl.apigen.processing.openapi.schema.toExample -import net.corda.rest.test.* +import net.corda.rest.test.CustomNonSerializableString +import net.corda.rest.test.CustomSerializationAPIImpl +import net.corda.rest.test.CustomUnsafeString +import net.corda.rest.test.TestEntityRestResourceImpl +import net.corda.rest.test.TestFileUploadImpl +import net.corda.rest.test.TestHealthCheckAPIImpl +import net.corda.rest.test.utils.ChecksumUtil +import net.corda.rest.test.utils.TestClientFileUpload +import net.corda.rest.test.utils.TestHttpClientUnirestImpl +import net.corda.rest.test.utils.WebRequest +import net.corda.rest.test.utils.WebResponse +import net.corda.rest.test.utils.multipartDir import net.corda.rest.tools.HttpVerb.DELETE import net.corda.rest.tools.HttpVerb.GET import net.corda.rest.tools.HttpVerb.POST @@ -23,12 +34,6 @@ import org.junit.jupiter.api.Test import java.time.Instant import java.time.ZonedDateTime import kotlin.test.assertEquals -import net.corda.rest.test.utils.ChecksumUtil -import net.corda.rest.test.utils.TestClientFileUpload -import net.corda.rest.test.utils.TestHttpClientUnirestImpl -import net.corda.rest.test.utils.WebRequest -import net.corda.rest.test.utils.WebResponse -import net.corda.rest.test.utils.multipartDir class RestServerRequestsTest : RestServerTestBase() { companion object { @@ -360,7 +365,7 @@ class RestServerRequestsTest : RestServerTestBase() { val timeCallResponse = client.call(POST, WebRequest("health/timecall", """ { "time": { "time": "$time" } } """), userName, password) assertEquals(HttpStatus.SC_OK, timeCallResponse.responseStatus) - assertEquals("2020-01-01T11:00Z[UTC]", timeCallResponse.body) + assertEquals("2020-01-01T11:00Z", timeCallResponse.body) } @Test