From 0767043beb54631b268f9da33d69a4551624b8ee Mon Sep 17 00:00:00 2001 From: Marcin Grzejszczak Date: Wed, 26 Apr 2023 15:38:11 +0200 Subject: [PATCH 1/2] Unignored the test; fixes gh-1754 --- .../spring/StubRunnerPropertiesTests.java | 28 +++++++++++++++++++ .../builder/MethodBodyBuilderSpec.groovy | 5 ---- 2 files changed, 28 insertions(+), 5 deletions(-) create mode 100644 spring-cloud-contract-stub-runner/src/test/groovy/org/springframework/cloud/contract/stubrunner/spring/StubRunnerPropertiesTests.java diff --git a/spring-cloud-contract-stub-runner/src/test/groovy/org/springframework/cloud/contract/stubrunner/spring/StubRunnerPropertiesTests.java b/spring-cloud-contract-stub-runner/src/test/groovy/org/springframework/cloud/contract/stubrunner/spring/StubRunnerPropertiesTests.java new file mode 100644 index 0000000000..97a843a18b --- /dev/null +++ b/spring-cloud-contract-stub-runner/src/test/groovy/org/springframework/cloud/contract/stubrunner/spring/StubRunnerPropertiesTests.java @@ -0,0 +1,28 @@ +/* + * Copyright 2013-2020 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.cloud.contract.stubrunner.spring; + +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.*; + +class StubRunnerPropertiesTests { + + @Test + void should_resolve_resource_when_using_windows_paths() { + } +} diff --git a/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/builder/MethodBodyBuilderSpec.groovy b/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/builder/MethodBodyBuilderSpec.groovy index 438ac76587..ffdb6d08d2 100644 --- a/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/builder/MethodBodyBuilderSpec.groovy +++ b/spring-cloud-contract-verifier/src/test/groovy/org/springframework/cloud/contract/verifier/builder/MethodBodyBuilderSpec.groovy @@ -18,11 +18,7 @@ package org.springframework.cloud.contract.verifier.builder import org.junit.Rule -import org.spockframework.runtime.extension.builtin.PreconditionContext -import spock.lang.Ignore -import spock.lang.IgnoreIf import spock.lang.Issue -import spock.lang.Retry import spock.lang.Shared import spock.lang.Specification @@ -1763,7 +1759,6 @@ response: } } - @Ignore @Issue("#1414") def "should work with empty arrays after doing array matching [#methodBuilderName]"() { given: From 7fce11ba8cd33e12df5092301a41b3d3168bccd2 Mon Sep 17 00:00:00 2001 From: Marcin Grzejszczak Date: Wed, 26 Apr 2023 15:49:23 +0200 Subject: [PATCH 2/2] Picks nonarg constructor of a metadata for docs building fixes gh-1896 --- .../springframework/cloud/contract/docs/Main.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/docs/src/main/java/org/springframework/cloud/contract/docs/Main.java b/docs/src/main/java/org/springframework/cloud/contract/docs/Main.java index 262a4c335a..8d8409d164 100644 --- a/docs/src/main/java/org/springframework/cloud/contract/docs/Main.java +++ b/docs/src/main/java/org/springframework/cloud/contract/docs/Main.java @@ -18,6 +18,7 @@ package org.springframework.cloud.contract.docs; import java.io.File; import java.io.IOException; +import java.lang.reflect.Constructor; import java.nio.file.Files; import java.util.ArrayList; import java.util.List; @@ -93,8 +94,16 @@ public class Main { mapper.disable(YAMLGenerator.Feature.WRITE_DOC_START_MARKER); StringBuilder sb = new StringBuilder(); for (Class metadatum : metadata) { - SpringCloudContractMetadata newInstance = (SpringCloudContractMetadata) metadatum - .getDeclaredConstructors()[0].newInstance(); + Constructor constructor = null; + try { + constructor = metadatum.getDeclaredConstructor(null); + } + catch (Exception ex) { + log.warn("Failed to find a no-args constructor for matadatum [" + metadatum + "]", ex); + continue; + } + Object instance = constructor.newInstance(); + SpringCloudContractMetadata newInstance = (SpringCloudContractMetadata) instance; String description = newInstance.description(); String key = newInstance.key(); List additionalClasses = classesToLookAt(metadatum, newInstance);